Tests et TestNG

Différentes catégories de tests

Dans cette partie, je vais vous présenter les grandes catégories de tests que nous devons réaliser lors du développement d'un logiciel.

Tests de conformité

Il s'agit de tests qui vont permettre de vérifier que le code que nous écrivons répond bien à l'algorithme que nous avions défini précédemment.

Tests de performance

Les tests de performances visent à tester comme son nom l'indique les performances de notre système. Ces tests peuvent s'attacher par exemple dans le cas d'un site web, au nombre de connexions simultanées supportées par notre site. Mais, cela peut aussi, s'attacher à vérifier le temps de réponse de notre application à une requête quelconque.

Tests de non-régression

Que signifie le terme "non-régression"? Tout au long de la vie d'un projet informatique des bouts de codes sont modifiés/ajoutés. En ajoutant ou en modifiant ces bouts de code, le programmeur, peut ajouter de nouveaux bugs à l'application. Donc en voulant corriger, on peut "aggraver" les bugs déjà existants. Ceci nous améne donc à nous dire qu'il est important de réaliser des tests qui seront lancés réguliérement (après des ajouts/ modifications de code) afin de vérifier que ce qui fonctionnait avant cet ajout ou cette modification continue de tourner après. C'est d'ailleurs pour cela que nous appelons ces tests "des tests de non-régression".

Question de vocabulaire

Pouvez-vous différencier les mots "vérification" et "validation" ?

Et bien, pour montrer clairement, la différence qu'il existe entre ces deux termes je vais vous présenter deux questions:
Vérification: "Le système fait-il correctement son travail?"
Validation: "Le système réalisé correspond-il aux besoins du client?

Comme nous pouvons le voir dans ces deux phrases, ces deux mots ne sont pas du tout équivalents. La vérification se fait encore au niveau de l'équipe de développement, tandis que la validation ne se fait qu'au moment de la recette avec le client.