Les tests statiques sont les tests qu’on peut effectuer sans avoir à exécuter le logiciel.
Un testeur réalise des tests statiques soit sur le code d’une application, soit sur la documentation du projet.
Il existe deux façons de réaliser les tests statiques :
- Les revues
- Et l’analyse statique
Les revues sont des séances de relecture du code ou d’une documentation qui peuvent être effectués bien avant l’exécution du code de l’application.
Parfois une relecture suffit pour se rendre compte de l’existence d’un défaut dans la documentation ou dans le code.
Le défaut ainsi détecté peut être corrigé en quelques instants par une simple modification dans le document ou le code relus.
Si la revue n’avait pas été faite, le défaut aurait conduit à un incident dont la détection aurait suscité la conception de tests, l’exécution de ces tests, la création de rapports d’incident, la reproduction de l’anomalie par le développeur, la modification du code pour corriger le défaut, la relivraison du logiciel dans l’environnement de test et la réexécution du test pour confirmer la correction du défaut.
Détecter un défaut au plus tôt grâce aux revues fait économiser au projet beaucoup de temps et d’argent.
Les testeurs et les développeurs peuvent réaliser des revues sur tout type de bases de test :
- Spécifications fonctionnelles
- Spécifications techniques
- Cahier d’exigences
- Code source
- Expression de besoin
- Le Plan de test où sont répertoriés les tests à réaliser : si le test n’est pas bon ça peut amener à créer des rapports pour des défauts qui n’en sont pas uns.
- Etc
Relire des documents de spécification avec un œil critique grâce aux revues, permet au testeur d’assimiler le comportement fonctionnel attendu de l’application :
- Détecter les oublis et les omissions,
- Remonter les ambigüités qui résident dans ses documents,
- Et échanger avec les référents métier qui les ont rédigés pour les clarifier et les compléter avant que le développeur se base dessus pour fabriquer la solution logicielle correspondante.
Les revues peuvent être réalisés manuellement mais on peut se servir d’outils de support.
Pour réaliser une revue, le testeur examine un document et au fur et à mesure de la lecture il peut faire des commentaires.
Il peut ainsi souligner un oubli, une ambiguité à clarifier, ou une spécification erronée à corriger.
La revue, l’analyse statique et le test dynamique sont des techniques différentes pour atteindre le même objectif.
Les tests statiques trouvent les défauts et peuvent donc être corrigés directement.
Les tests dynamiques quant à elle trouvent des défaillances, et il faut que le développeur investigue pour trouver les défauts correspondants.
Elles sont complémentaires.
Ces techniques peuvent toutes être utilisés dans un même projet.
Les défauts typiques où les tests statiques sont plus efficaces pour les détester sont :
- Déviations par rapport aux standards
- Défauts d’exigences
- Défauts de conception
- Maintenabilité insuffisante
- Spécifications incorrectes d’interfaces
Vous remarquerez que ce sont des défauts de conception fonctionnelle et technique qui sont introduits avant le codage du logiciel.