Tous les articles

Les tests… Dans quel but ?
Les tests ont quasiment toujours existés (au moins les tests exploratoires) et ils s’industrialisent de plus en plus sur tous les types projets. Pourquoi les tests sont-ils de plus en plus présents alors qu’ils ne produisent pas de valeur ? Dans quel but effectue-t-on des tests ? Je vais répondre à cette question en 2 parties car personnellement j’y vois en fait 2 questions : Pourquoi est-il nécessaire de faire des tests ? Pourquoi doit-on exécuter ces tests sur un projet précis ? Pourquoi les tests ? Le rôle principal des tests est d’apporter de la visibilité. Une visibilité qui permet de connaitre le mieux

Les tests exploratoires
On entend beaucoup de choses sur les tests exploratoires, la définition donnée est rarement la même selon les personnes avec qui on discute… Cela va du très compliqué avec l’utilisation de « charter » au simpliste « quelqu’un qui fait n’importe quoi sur l’application ». Voici celle que j’utilise maintenant : Les tests exploratoires c’est faire la conception et l’exécution des tests en même temps Pour rappel, j’avais déjà parlé du cycle de vie d’un cas de test lorsque j’avais travaillé sur le ROI des tests automatisés. Ce cycle est : · Design (conception) · Ecriture · Exécution · Analyse (en cas d’échec) · Maintien · Archivage Avec les tests exploratoires on se

Stratégie de test: s’adapter au contexte
Dans mes articles j’ai parlé de beaucoup d’aspects du test comme l’automatisation, des particularités du Scrum, des bonnes pratiques plus récemment d’intégration et de déploiement continu… Tout cela est très bien, malheureusement pas toujours adapté au contexte (ce qui a souvent été remonté dans les commentaires) et dans le test comme partout il faut savoir s’adapter au contexte. A quoi bon avoir des tests de régression alors que le projet sur lequel on va travailler ne durera qu’un mois et qu’il ne sera pas maintenu (par exemple : une application offline pour mobile) ? Comment mettre en place des processus complexe pour assurer

L’intégration et le déploiement continu : Le royaume de l’automatisation.
Tout d’abord, il me semble important de définir ce que sont les concepts d’intégration et de déploiement continu. L’intégration continue est l’ensemble des processus automatisés permettant : · Le merge des branches · La construction d’artefacts (qui pourront être déployés) · L’ensemble des tests possibles sans l’exécution du programme (Tests unitaires, tests de sécurité avec Fortify, qualité de l’artefact…) Le déploiement continu est l’ensemble des processus automatisés permettant le déploiement sur un serveur d’une version de l’application. Cela comprend : · L’intégration continue · Le déploiement · Les tests après déploiement (tests fonctionnels, charges…) Voici un schéma récapitulatif : Pourquoi ces processus ? Quel est le but recherché ? Le but de

Les outils, attention il faut bien les utiliser!
Il existe de nombreux outils pour le test (et pas seulement pour le test!). Des outils permettant la gestion des bugs et des tests (ALM, Mantis…), des outils pour l’automatisation ou l’aide à l’automatisation (Selenium, Robot Framework…), des outils pour l’intégration continue (GitLab, Jenkins…), pour le stockage de fichiers (CVS, GIT…) et j’en passe… Pourquoi y a-t-il autant d’outils ? A quoi servent-ils et surtout à quoi ne servent-ils pas ? Le rôle des outils Le rôle des outils est de nous simplifier la vie et nous permettre de faire certaines choses que nous ne pouvions pas faire avant. Cela ne vaut pas