Traçabilité des exigences
La gestion des exigences permet un bon audit sur les exigences.
La traçabilité permet de trouver les conséquences de changements. Elle permet la réutilisation d'exigence puisqu'on a une vue d'ensemble des parties qui entoure une exigence. Elle permet une meilleure communication des exigences. En voyant ce que l'on doit faire, la traçabilité peut diminuer le risque. On peut comprendre l'origine d'un item, évaluer l'impact des tests et éviter de sur-développer ou encore de sous-développer le logiciel.
On peut tracer toutes les exigences: d'affaire, fonctionnel, non-fonctionnel, système.
On se limite généralement aux exigences fonctionnels parce qu'elles sont plus faciles à tracer.
Exemple de document ou gabarit traçable par défaut par Requisite Pro (rationale) : cas d'utilisation, exigences des normes, document de vision.
Documents
Le document de vision contient les besoins des parties prenantes (stakeholders).
Le SRS contient les fonctionnalité du produit (product feature).
Tests
- Tests BRO
- Branch Relational Testing
- Complexité cyclomatique
- V(G) = e - n + 2. e=nombre de flèches (ligne/bords) et n=nombre de noeuds/structure de condition.
- Tests système: Alpha, Bêta, Acceptation
- Partitionnement équivalent
- Partition des classes d'entrées (type d'entrée bonne et mauvaise) d'une fonction/méthode.
- Classe d'équivalence
- Si elles sont correctement trouvés, elles permettent d'élaborer des tests visant à découvrir les erreurs d'un logiciel. Permet d'analyser les valeurs frontières.
- Tests de boite blanche.
- Test effectué en parcourant les chemins possibles à l'aide du pseudo-code ou du code d'un module.
- Boucle simple
- Le nombre minimum de tests pour vérifier une boucle est de 7. Il faut passer: 0, 1, 2, m<n, n-1, n et n+1 fois dans une boucle de n répétition.
Boucles
Boucle simple
i=0; while ( i<10 ) { i++ }
Boucles liées ???
i=0; while ( i<10 ) { i++; if ( i % 3 == 0) { i = i*2; } }
Boucle concaténés
for ( i=0; i<10;i++ ) { if ( i % 2 ) { i = i*3; } } for ( j=i; j<100;j++ ) { j*=2; }