TESTS STATIQUES

Les tests statiques ne nécessitent pas l’exécution du code. Ils sont basés sur une analyse des documents du projet, d’une évaluation outillée du code ( ex Sonarqube).

L’analyse statique est primordiale pour les systèmes critiques, pour la sûreté et pour les tests de sécurité.

L’incorporation de l’analyse statique dans les systèmes automatisés de build et de livraison (développement Agile, livraison et déploiement continu) apporte de réels avantages en termes de qualité et de détection précoce de défauts.

L’analyse statique repose généralement sur les produits projet suivants : les spécifications (y compris les exigences métier, les exigences fonctionnelles et les exigences de sécurité), les épics, User Stories, et critères d’acceptation, les spécifications d’architecture et de conception, le code, le testware, les guides utilisateur, les contrats, les plans de projet, les calendriers et les budgets…

L’analyse statique prend généralement la forme de revues formelles permettant une traçabilité des défauts et un partage des bonnes pratiques.

Plus les tests statiques sont initiés précocement dans le cycle projet, plus les bénéfices sont importants.

En termes de bénéfice, on peut citer de manière non exhaustive : détection de défauts avant les tests dynamiques qui sont moins onéreux à corriger, identification de défauts difficilement décelables avec des tests dynamiques, réduction du nombre de défauts de codage liés à des incohérences, ambiguïtés, inexactitudes dans les exigences, amélioration de la productivité des équipes de développement, réduction des coûts et des délais pour le développement et les tests, amélioration de la communication entre les parties prenantes lors de la participation aux revues…