Couverture structurelle |
Top Previous Next |
Quand vous testez un programme, vous allez faire toute une série de tests, couvrant tous vos fonctionnements. Pour avoir une idée de la qualité de vos tests, savoir si vous testez tout votre programme, on mesure la couverture structurelle de vos tests. C'est à dire, sur l'ensemble de vos tests si vous êtes passé partout ou sur 90% de votre code. Le système le plus simple est la couverture des lignes. On mesure le nombre de lignes de code par lesquels vous êtes passé par rapport au nombre total de lignes. C'est ce que mesure ce programme. J'ajoute dans votre programme des positionnements de marqueurs dans un tableau. Je n'en ai pas besoin à chaque ligne. Des lignes qui se suivent sont obligatoirement exécutées ensemble, c'est ce qu'on appelle une branche de code. Je positionne un marqueur par branche if, for, while, etc. Il existe des métriques plus exigeantes, basées sur les branches. On va mesurer pour chaque branche, sur un if par exemple, le cas où on entre dans le if et le cas où on y entre pas. C'est la couverture des branches. Il y a encore pire. Si un if dépend de plusieurs conditions ex a ou b ou c, on va considérer les cas: - a = vrai et b = vrai et c = vrai - a = faux et b = vrai et c = vrai - a = vrai et b = faux et c= vrai - a= vrai et b = vrai et c = faux C'est la couverture de conditions/décisions modifiées Ces métriques sont exigées dans l'avionique civile (DO 178B) ou selon le niveau du logiciel on va exiger la couverture des lignes (C), la couverture des branches (B) ou la couverture des conditions/décisions modifiées (A) ------Analyseur de code---------------------------------------------------------PSYLON--------- |