Magazine

Classez vos tests (2ème partie): niveaux de tests

Publié le 08 septembre 2009 par Luc
Pour faire suite à l'article sur la classification des tests en test boîte noire et test boîte blanche, voici un deuxième type de classification, la classification par niveaux (ou par phases) de test.

Cette dénomination est souvent bien connue parce qu'elle fait référence à une notion de base du développement logiciel: le cycle en V.
alt
Le cycle en V décrit les différentes phases d'un développement et fait correspondre à chacune d'elle une phase de test dont le but est de valider que le résultat produit est conforme à ce qui a été défini.

Il y a ainsi 4 niveaux de tests:
  • Les tests unitaires qui doivent vérifier qu'un composant se comporte de la manière décrite lors de conception.
  • Les tests d'intégration permettent de valider que tous les composants définis par l'architecture fonctionnent ensemble correctement.
  • les tests systèmes dont le but est s'assurer que le fonctionnement de l'application est bien celui attendu.
  • La recette client pendant laquelle le client vérifie que la solution apportée couvre son besoin initial.
On parle aussi parfois de tests en amont (unitaire + intégration) et de tests en aval (système + recette), pour différencier les tests faits sur un système en développement de ceux faits sur un système complet. Le niveau de test définit ainsi l'environnement dans lequel le code est testé. Les tests en aval se font sur un système réel alors que les tests en amont peuvent faire appel à des simulateurs.

Les simulateurs ou les bouchons servent à reproduire facilement le comportement des composants dont dépend le code à tester. Le but est de réduire les dépendances pour tester plus facilement. Un test unitaire opère sur un composant isolé de son environnement. Il n'est pas nécessaire d'instancier autre chose pour le tester. Une fois validé unitairement, on passe aux tests d'intégration pour vérifier que chacun joue le rôle attendu par les autres éléments de l'architecture. On peut procéder de manière incrémentale en utilisant là aussi des simulateurs que l'on remplace petit à petit par les véritables composants afin d'identifier plus facilement la cause d'un dysfonctionnement.

On voit par ailleurs que chaque phase à des objectifs et des méthodes différentes. Elle est ainsi souvent effectué par des profils différents: du développeur pour les tests unitaires au client pour la recette en passant par des experts fonctionnels ou techniques pour les tests systèmes.

Une approche test en boîte noire ou test en boîte blanche peut être choisie à chacun des niveaux de test. Le niveaux et l'accessibilité sont des caractéristiques indépendantes. Il est possible, qu'une recette client intègre des tests en boîte blanche afin de s'assurer du bon fonctionnement d'une partie critique du logiciel.

De même, attention à ne pas confondre le niveau et le type d'un test. Le niveau de test définit seulement à quel moment du cycle de développement le test intervient, qu'elle est sa portée. Il ne définit en aucun cas, le but véritable. Ceci fait appel à la notion de type d'un test que nous verrons dans un prochain article.

Retour à La Une de Logo Paperblog

A propos de l’auteur


Luc 11 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte