RAPPELS SUR LES TESTS ET LA VALIDATION

Transcription

RAPPELS SUR LES TESTS ET LA VALIDATION
RAPPELS SUR LES TESTS
ET LA VALIDATION
Développement piloté par
les tests – Coût des tests et
qualité FURPSE
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 1
VALIDATION VÉRIFICATION &
TESTS
Introduction :
Le problème fondamental du génie
logiciel : le problème de l'erreur
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 2
1
Le problème de l'erreur
• COMMENT CONSTRUIRE DES
LOGICIELS QUI SOIENT :
ERGONOMIQUES
FIABLES
EVOLUTIFS
ECONOMIQUES
GARANTISSANT LE CONTRAT DE SERVICE REQUIS PAR
LES USAGERS (cf. caractéristiques FURPSE ISO/IEC 9126)
SATISFAISANT AUX CRITERES
Coût/Qualité/Fonctionnalités/Délais de réalisation (CQFD)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 3
Le constat et les causes
• PRESENCE DE NOMBREUX DÉFAUTS
DANS LES LOGICIELS
Cas de la navette spatiale :
logiciel embarqué :
logiciel sol :
0.11 par KLS (500)
0.40 par KLS (1400)
Logiciels grand public : plutôt 5-10 voire plus par KLS
• EVOLUTIVITE DES LOGICIELS
PROBLEMATIQUE (Régression en
qualité)
Cas des grands systèmes
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 4
2
Données statistiques
• Sources :
Classification et fréquence (Source B. Beizer, 1990)
Microsoft (étude M. Cusumano, R. Selby)
Productivité (B. Boehm)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 5
Statistique B.Beizer
Statistique portant sur 6.877 millions de LS (avec des commentaires)
Nombre de défaillances découvertes en exploitation : 16 209
Taux d’erreurs : 2.36 Err/KLS
Cause de la défaillance :
catégorie et/ou phase
% erreurs
découvertes
Expression de besoin
Spécification fonctionnelle
Conception détaillée
8.12
16.19
25.18
Données
22.44
Programmation proprement
dite ; codage
Intégration
Appels système
Tests erronés
Divers
9.88
Total
8.98
1.74
2.76
4.71
Description et commentaires
Dont :
- 12.82 flot de contrôle, enchaînement
- 12.36 algorithmes de traitement
Dont :
- 11.14 valeurs initiales, duplication, etc.
- 12.36 typage, accès.
Interfaces entre les modules
100
• Source : B.Beizer, Software testing
techniques (1990)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 6
3
Microsoft
Testing technique
% of bugs detected
Usage tests
API tests
Ad hoc, other tests
Apps-16 tests
Gorilla tests
User interface tests
Stress tests
Apps-32 tests
NT verify tests
Applets tests
Non NT tests
Bug bash tests
SGA tests
RATS tests
Unspecified techniques
15.0
12.8
8.0
7.6
6.8
5.5
3.8
2.8
1.7
0.7
0.6
0.3
0.3
0.2
33.9
Total
Description
Bugs détectés par usage quotidien du système
Tests de validation des interfaces
Tests faits avec d’autres critères que ceux spécifiés
Tests de robustesse, tests aux limites
Scénarios fonctionnels
Tests de pré-intégration (construction d’incréments)
Tests faits à l’extérieur du groupe NT
100
Microsoft principle: Use metric data to determine milestone completion and
product release
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 7
Statistique B.Boehm
Source : Improving software productivity, Computer September 1987 et COCOMO
Phase
Poids en % de la phase
Dont refait suite à la découverte d’erreurs
Expression de besoin
Conception générale et
Spécification fonctionnelle
Conception détaillée
Programmation proprement
dite ; codage et tests unitaires
Intégration
7
16
1.5
4.5
24
24
7
12
Total
©2012 Reproduction interdite /N.
29
19
100
44
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 8
4
Terminologie
• QUELQUES DEFINITIONS (IEEE STD 982 et 1044)
ERROR (Erreur) : Human action that results in software containing a
fault. E.g. omission or misinterpretation of user requirements in a software
specification, and incorrect translation or omission of a requirement in the
design specification.
DEFECT (Défaut) : A product anomaly; e.g. (1) omissions and
imperfections found during early life cycle phases and (2) faults contained
in software sufficiently mature for test or operation.
FAULT (Défaillance) : (1) An accidental condition that causes a
functional unit to fail to perform its required function. (2) A manifestation of
an error in software. A fault if encountered may cause a failure.
FAILURE (Panne) : The termination of the ability of a functional unit
to perform its required function. A failure may be produced when a fault is
encountered.
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 9
La chaîne de l'erreur (1/3)
Erreur
Défaut
ERROR
DEFECT
Est à l'origine
ACTION
ACTION
HUMAINE
HUMAINE
©2012 Reproduction interdite /N.
Défaillance Panne
FAULT
qui peut conduire
FAILURE
qui peut provoquer
DANS
DANSLE
LE
LOGICIEL
LOGICIEL
DANS
DANSLE
LE
PRODUIT
PRODUIT
Métrique:
•Densité d'erreurs
•Temps moyen de
diagnostic
•MTTR
Peut être masqué
par des dispositifs
de type tolérance
aux pannes
DE
DELA
LA
FONCTION
FONCTION
Métrique:
•MTTF
•MTBF
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 10
5
La chaîne de l’erreur (2/3)
Erreurs humaines
BESOIN
BESOIN
CONCEPTION
CONCEPTION
PROGRAMMATION
PROGRAMMATION
INSTALLATION
INSTALLATION
MAINTENANCE
MAINTENANCE
Introduction des
défauts dans les
différentes phases
du cycle
EXPLOITATION
EXPLOITATION
Défaillance +/- graves
©2012 Reproduction interdite /N.
Manifestation
d’une
défaillance
Défaut dans le
logiciel
Erreur humaine
Éventualité
d’une panne
± grave
Page N° 11
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
La chaîne de l’erreur (3/3)
Période d'introduction de
défauts d'installation
(Actions erronées de
l'administrateur)
T0
Installation
du logiciel
Temps de latence
T1
TDébut
Démarrage du
logiciel
(début de session)
Fault
(exécution du défaut)
Durée moyenne de bon
fonctionnement du logiciel
MTTF
©2012 Reproduction interdite /N.
Période d'observation
de la défaillance
Période d'introduction de
défauts d'exploitation
(Actions erronées de l'usager)
Période de très
grand danger pour
l’intégrité du
système
T2
TFin
nominal
Failure
(constatation de la
défaillance)
→ Arrêt du logiciel
Durée de
dysfonctionnement,
d’indisponibilité et de
réparation du logiciel
MTTR
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 12
6
VALIDATION VÉRIFICATION &
TESTS
Terminologie
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 13
Quelques définitions (1/4)
• Vérification : confirmation par l’examen et la
fourniture de preuves objectives que des
exigences spécifiées ont été remplies [ISO
9000].
• Validation : confirmation par l’examen et la
fourniture de preuves objectives que les
exigences, pour un usage ou une application
voulue, ont été remplies [ISO 9000].
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 14
7
Quelques définitions (2/4)
• Processus de test (testing) : processus
consistant en toutes les activités du cycle de
vie, statiques et dynamiques, concernant la
planification et l’évaluation de produits logiciels,
pour déterminer s’ils satisfont aux exigences,
pour démontrer qu’ils sont aptes aux objectifs et
pour en détecter des anomalies [CFTL].
• Test : un ensemble d’un ou plusieurs cas de
tests [IEEE 829].
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 15
Quelques définitions (3/4)
• Cas de test : un ensemble de valeurs
d’entrée (données de tests), de pré conditions
d’exécution, de résultats attendus et de post
conditions d’exécution, développées pour un
objectif ou une condition de tests particulière,
tel qu’exécuter un chemin particulier d’un
programme ou vérifier le respect d’une
exigence spécifique [IEEE 610].
• Objectif de test : une raison ou un but pour
la conception et l’exécution d’un test [CFTL].
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 16
8
Quelques définitions (4/4)
• Condition de test : un article ou événement
d’un composant ou système qui pourrait être
vérifié par un ou plusieurs cas de tests; par
exemple une fonction, une transaction, un
attribut qualité ou un élément de structure
[CFTL].
• Stratégie de test : un document de haut
niveau définissant, pour un programme, les
niveaux de tests à exécuter et les tests dans
chacun de ces niveaux (pour un ou plusieurs
projets).
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 17
Tests et systèmes
• Un système
Est constitué d’éléments / composants échangeant de
l’information par des interfaces (cf. découpage
architectural)
Est exécutable à partir de stimuli / données provenant de
l’environnement
• Test d’un système
SYSTEME
DONNEES DE TEST
©2012 Reproduction interdite /N.
RESULTAT
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 18
9
Activité de tests
• UN TEST IMPLIQUE UNE EXECUTION SUR
MACHINE
Du système ou d’un composant du système (nœud/feuille de l’arbre produit)
C’est un protocole expérimental au sens fort du terme
TESTS PREPARÉS A L'AVANCE
Cas de tests construits puis exécutés permettant de vérifier ou valider une
hypothèse de bon ou mauvais fonctionnement
TESTS INOPINÉS
Exécutions défectueuses non planifiées qui révèlent un défaut de fonctionnement
• L’ACTIVITÉ DE TEST S’INSCRIT DANS CELLE PLUS
GENERALE DE RECHERCHE DES DÉFAUTS
Qui inclut relectures et raisonnements sur les différents textes issus du
cycle de développement au moyen de revues et d'inspections
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 19
Du point de vue intuitif
• Activité aussi vieille que le
développement
• Souvent négligée et peu formalisée
• Considérée (à tort) comme moins
« noble » que le développement
• Coût souvent > 50% du coût total d’un
logiciel
• Très peu enseignée
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 20
10
Idées fausses sur les tests (1/2)
• Il faut éliminer tous les défauts
Doit-on tester le cas où l’automobile roule à 500 km/h ?
• L’amélioration de la fiabilité est
proportionnelle au nombre de défauts
corrigés
Il reste un défaut dans une fonction toujours utilisée …
• Je programme sans erreur, ce n’est pas la
peine de tester …
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 21
Idées fausses sur les tests (2/2)
• L’amélioration de la fiabilité est
proportionnelle au taux de couverture
du code par les tests
• Évaluer la qualité d’un logiciel, c’est
estimer le nombre de défauts
résiduels
• Croire que c’est simple et facile
• Croire que cela n’exige ni expérience,
ni savoir-faire, ni méthodes
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 22
11
Juste un exemple
232
+
232
Faire tous les tests 0,5 milliard d’années !
(pour toutes les valeurs)
En phase de test, nous sommes toujours face à
l’explosion combinatoire
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 23
Les différentes sortes de tests
• Tests unitaires
On teste chaque fonction de chaque module (tests « boîte
blanche » sur les instructions)
• Tests d’intégration
On teste les interfaces entre modules (tests « boîte blanche » sur
les interfaces, tests « boîte noire » sur les instructions)
• Tests de validation
On teste les fonctionnalités du logiciel (tests « boîte noire »)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 24
12
Positionnement des types de tests
C o n c e p ti o n
d é ta illé e d u m o d u le
C o n c e p ti o n
p ré li m i n a i r e
T e sts
u n itaire s
M o d ule
te s té
C o n c e p tio n
d é ta illé e d u m o d u l e
C o n c e p tio n
d é ta illé e d u m o d u l e
T e s ts
u n ita ire s
•
•
•
M o d ule
te s té
T e sts
d 'i n t é g r a t i o n
M o d ule
te s té
L o g ic ie l
as se m b lé
T e s ts
u n ita ire s
S p é c if ic a tio n s
f o n c tio n n e lle s
S p é c if ic a tio n s
s y s tè m e
A u t re s é lé m e n ts
s y s tè m e
©2012 Reproduction interdite /N.
T e s ts
s y s tè m e
T e s ts de
v a li d a tio n
L o g ic ie l
v ali dé
S y s tè m e o p é r a ti o n n e l
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 25
Quelques termes courants
Tester
Preuve
Vérification
Validation
Qualification
Certification
Mise au point (« Debugging »)
Tests unitaires
Tests de composants/éléments (fonction externe visible)
Tests de produits (ensemble de fonctions)
Tests de systèmes (ensemble de fonctions + un environnement réel)
Tests d'intégration (pour produits et/ou systèmes)
Tests d'acceptance ou de recette
Tests d'installation
Tests avec simulation
« Field » tests (tests sur sites clients)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 26
13
Nature de l'information utilisée pour les tests
Élément ou Composant à Tester
m Paramètres
en entrée
Environnement
x1
n Résultats
y1
x2
y2
x3
•••
•••
yn
xm
Granularité de la description
Configuration externe
de l'élément à tester :
Ensembles
+
Relations
©2012 Reproduction interdite /N.
Configuration interne
de l'élément à tester :
Graphes de contrôle
+
Graphes de données
Bord de l'élément :
Pré-conditions
+
Post-conditions
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 27
Objectif de tests et ensemble générateur
ON RECHERCHE L'EXHAUSTIVITÉ DANS UNE CLASSE DE TEST DONNÉE
QUI CONSTITUE L’OBJECTIF DE TEST
Espace des cas possibles : Ecp
• TOUS LES CHEMINS possibles induits par la
combinatoire des paramètres d'entrée et le mode de
construction du système
Espace générateur : Eg
• CERTAINS CHEMINS convenablement sélectionnés
Propriété recherchée : SI Eg est couvert ALORS la probabilité d'une
défaillance dans Ecp (mesurée par un MTTF) est < à une limite fixée
à l'avance.
Difficulté : Faire que Eg soit à la fois :
• Pertinent → Identification d'une classe de tests «intéressante»
• Consistant et Complet → par rapport à la réalité (sémantique)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 28
14
Construction de l'ensemble générateur
• Critères de construction
Différents niveaux de couvertures selon la fréquence
d'emploi et/ou la criticité de l'élément
Conditions de «bord» (i.e. contraintes) sur les données
des domaines d'entrées et/ou de sorties
Notion de contraintes pertinentes permettant de
déterminer l'ensemble des données qui sont au
voisinage du bord
Conditions d'observation du comportement de l'élément
Résultats intermédiaires intéressants
Consommation des ressources critiques (temps,
mémoire, I/O,…)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 29
Aperçu sur la combinatoire (1/2)
Environnement
n Résultats
m Paramètres
en entrée
x1
x2
x3
•••
xm
Élément ou
Composant à
Tester
xi dénote la granularité
du paramètre i
Cardinalité : x1× x2× x3×…×
× xm = e
©2012 Reproduction interdite /N.
y1
y2
•••
yn
yj dénote la granularité
du résultat j
Cardinalité : y1× y2×…×
× yn = r
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 30
15
Aperçu sur la combinatoire (2/2)
Entrées
Résultats
Tests de robustesse
+
+
*
Tests
fonctionnels
+
*
*
+
Cas possibles
Cas autorisés par
la spécification
*
Résultats
possibles
Résultats autorisés
par la spécification
Chaque → est un test, soit : ( Πyi ) ** ( Π xi ) tests possibles, i.e. exponentiel :
©2012 Reproduction interdite /N.
re
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 31
VALIDATION VÉRIFICATION &
TESTS
Place de la VVT dans le
cycle système
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 32
16
Le cycle système et le cycle de
développement
©2012 Reproduction interdite /N.
Page N° 33
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Cycle de vie système
Faisabilité
Développement et MCO
Définition
Prototype
Expérimentation
Version N°1
Réalisation de
Réalisation de
maquettes
prototypes
Retrait
Compatibilité ascendante des
versions successives
Exploitation
Version N°2
Exploitation
N Cycles de Développement – Exploitation - Maintenance
Validation fonctionnelle et
non fonctionnelle au sens
informatique
Version N°n
Exploitation
Dominante MCO
Validation fonctionnelle et
comportements exigés en
termes métier de la cible
Dominante développement
Vérification de la bonne prise en compte des règles
architecturales au sein des projets (Revues + Inspections)
Projet de migration
éventuelle
Grande variété de types de projets selon la nature des activités et « l’age » du système
Durée d’un cycle : > 15-20 ans, mais > 30 pour les grands systèmes technologiques
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 34
17
Détail du cycle de développement (1/3)
RETOUR D’EXPÉRIENCE
Axe d’évolution
Expression de
Expression de
besoin
besoin/Exigences
/Exigences
Processus de DEVELOPPEMENT
Axe d’évolution
CdCF-3
Réalisation incrément N°3
CdCF-2
CdCF-1
Réalisation incrément N°2
Réalisation incrément N°1
Qualification
Conception
Documents contractuels :
• Spécifications techniques de
besoin et exigences (fonctionnel
et non fonctionnel, en particulier
contrat de service pour les
usagers en terme d’exigences)
©2012 Reproduction interdite /N.
Axe d’évolution
Qualification
Développement
Intégration
Fournitures contractuelles :
• Kit d’installation, paramétrage
et règle de calibrage, doc pour le
support, doc utilisateur, etc.
• Garantie Assurance Qualité et
contrat de service
Déploiement,
Déploiement,
support
supportetetMCO
MCO
Page N° 35
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Détail du cycle de développement (2/3)
Mesure de la maturité de l’EB/EC
Processus de développement
Expression de
besoin et exigences
comportementales
EB/EC
• Défauts propagés
• Défauts ajoutés
• Défauts détectés
Conception
générale
CG
Conception
détaillée
CD
Processus de conception
Implémentation
• Taux d’erreurs résiduelles
acceptable par l’AQ
Programmation et
tests unitaires
P/TU
Intégration
(VV&T)
Recette
Assurance qualité et activités transverses AQ
VVT
Mesure de la maturité (i.e. contrat
de service) en exploitation
Nombre de RA/AC
Exploitation et
support
Durée
Mesure de la qualité de service
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 36
18
Détail du cycle de développement (3/3)
Système qualité - Assurance qualité
CCG, DCG
CG
CAQ/CG
CQFDglobal
globaldudu
CQFD
projet
projet
CCD, DCD
CPTU, DPTU
CD
CAQ/CD
CVVT, DVVT
Nombre de RA/AC
P/TU
CAQ/PTU
CAQ/VVT
Courbe de maturité
VVT
AQ globale centralisée
Effort
Déléguer
Contrôler
Mesurer
Agir
CC
AQ ==CC
AQ/GC ++CC
AQ/CG ++CC
AQ/CD ++CC
AQ/PTU ++CC
AQ/VVT
AQ
AQ/GC
AQ/CG
AQ/CD
AQ/PTU
AQ/VVT
La recherche systématique des défauts se fait préventivement
dans toutes les phases du cycle de développement
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 37
Des définitions complémentaires (1/2)
• Plan de tests : un document décrivant l’étendue,
l’approche, les ressources et le planning des activités
de test prévues. Il identifie entre autres les éléments et
caractéristiques à tester, qui fera chaque tâche, le
degré d’indépendance des testeurs, l’environnement
de test, les techniques de conception des tests et les
techniques de mesure des tests à utiliser, et tout
risque nécessitant des plans de contingence. C’est un
document reprenant les processus de planification des
tests [IEEE 829].
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 38
19
Des définitions complémentaires (2/2)
• Scénarios de tests : une technique de conception
de tests boîte noire dans laquelle les cas de tests sont
conçus pour exécuter des scénarios de cas
d’utilisation.
• Conception de tests : Conditions de tests pour
l’approche détaillée d’un test et l’identification des cas
de tests de haut niveau associés [d’après IEEE 829]
• Condition de test : un article ou événement d’un
composant ou système qui pourrait être vérifié par un
ou plusieurs cas de tests; p.ex. une fonction, une
transaction, un attribut qualité ou un élément de
structure.
©2012 Reproduction interdite /N.
Page N° 39
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Cycle de vie VVT
• L’activité de VVT débute dès la phase
EB/EC
Besoin
Besoin
Résultats des phases
concernant l’activité V&V
des phases suivantes
Plan et objectifs de tests
• Système
• Recette
Conception
Conception
Plan de tests
• Modules
• Intégration
Conception des tests
• Modules
• Intégration
• Système
• Recette
Développement
Développement
Scénarios de tests
• Modules
• Intégration
• Système
Cas à tester
• Modules
• Intégration
• Système
• Recette
TESTS ET VÉRIFICATIONS
POUR LA NON RÉGRESSION
Intégration
Intégration
Scénario de tests
• Recette
Recette
Recette
Installation
Installation
Construction de la courbe de maturité
Pour toutes les phases : collecte des Rapports d’Anomalies (RA) et des Actions Correctrices (AC) ; traçabilité
Cf. ANSI/IEEE Std 1012 Software verification and validation plans ; Std 1059 Guide VVT
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 40
20
Les erreurs humaines et les
sources des défauts logiciel
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 41
Origine des erreurs humaines
• Incompréhension du besoin et des
exigences de l’organisation cible
En particulier les caractéristiques non fonctionnelles
• Incompréhension de l’environnement de
développement et d’exécution
Complexité des plates-formes
• Erreurs inhérentes à l’activité psycho
cognitive
Capacité intrinsèque des personnels
Expérience et savoir faire
cf. J. Printz, Puissance et limites des systèmes informatisés, Chapitre
3, chez Hermès
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 42
21
Erreurs humaines - Psychologie de la
programmation
D1
D2
D3
D4
D5
D6
D7
D8
D9
D10
D11
D12
D13
D14
D15
D16
D17
D18
D19
D20
D21
D22
D23
D24
Les défaillances du processus psychocognitif
Erreur de perception, manque de discrimination, distinction fond/forme et/ou sémantique/syntaxe
Erreur de codage/décodage
Erreur de représentation et/ou symbologie non adaptée (interopérabilité entre systèmes)
Représentation, compréhension et interprétation erronées de phénomènes dynamiques et/ou combinatoires (plusieurs
flots d’exécution en parallèle qui interfèrent, perception du temps vrai versus temps psychologique, synchronisation) ;
modèle mental erroné du phénomène.
Impasse, non-exhaustivité, oubli pur et simple
Illusions (dans notre cas ce sont surtout les paradoxes de type logique ; non prédicativité)
Acceptation comme vraie d’une hypothèse fausse
Acceptation comme fausse d’une hypothèse vraie
Attribution de propriétés inutiles et/ou erronées
Hypothèse superflue et/ou non appropriée (Exp. : tel événement se produit rarement alors qu’il est fréquent)
Erreur de communication homme - homme, de traduction lors d'un changement de code (contre sens, faux sens, etc.)
Non respect d'une procédure ou d'une règle
Non prise de décision en temps voulu (logiques temporelles)
Action non adaptée au contexte, action contradictoire et/ou antinomique vis à vis d’autres actions
Itération, répétition inutile d’une action (i.e. propriété d’idempotence des actions)
Absence d’information qui entraîne une action par défaut non adaptée (non perception d’un manque ou d’une absence
de quelque chose)
Erreur de raisonnement, raisonnement circulaire
Défaut ou excès de généralité, abstraction mal construite, définition ambiguë (non prédicative)
Confusion langage / métalangage, concept / méta-concept (mélange de types au sens logique, ou équations de
dimensions incohérentes en physique)
Saturation de la bande passante (Exp. : trop de décisions simultanées, interruptions continuelles)
Saturation de la mémoire de travail
Analogies, associations erronées et/ou non adaptées au contexte
Confusion/Interférence proactive et/ou rétroactive
Changement de tâche fréquent, « papillonnage » , toute perturbation qui augmente la probabilité de confusion et
d’interférence
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 43
Taux moyen de défauts
• Modèle de données, en particulier interfaces
entre les modules,
• Modèle d’enchaînement/contrôle des fonctions
Conception détaillée
Programmation
• Code source fabriqué par les
programmeurs, compilé sans erreur
• Réduction du nombre
de défauts au minimum
Tests de couverture et de
contrôle
Tests fonctionnel à partir
des données
• 80 à 100 défauts
par KLS
acceptable selon le
contrat de service
Tests de performance
VVT
Tests de robustesse
Tests de pré-intégration
• 5 à 10 défauts
par KLS
Si la stratégie de VVT est correctement conduite
INTÉGRATION
• 1 à 2 défauts
par KLS
©2012 Reproduction interdite /N.
Installation
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 44
22
Espace méthodologique et
maturité de l’activité VVT
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 45
Modèle qualité FURPSE – Coûts de mise
en oeuvre
F
U
Usability
(Facilités
d’emploi)
Reliability
(Fiabilité –
Sûreté)
Capacité et facilité
de :
• Compréhension
• Apprentissage
• Exploitation
• Ergonomie IHM
du point de vue
métier
• Maturité
• Tolérance aux
pannes
• Remise en état de
marche
Functionality
(Fonctionnalité)
• Adéquation des
fonctions
• Précision et
fidélité des
résultats
• Interopérabilité
• Sécurité
+
• Conformité aux
exigences
fonctionnelles
Caractéristiques qualité
Internes et Externes
R
P
Efficiency
(Performance)
• Temps de réponse
et comportement
dynamique
• Utilisation des
ressources
(mémoire, débit en
transactionnel, etc.)
S
Maintenability,
Serviceability
(Garantie de
service, MCO)
Capacité et facilité
de :
• Analyse des
défaillances
• Modification
• Stabilité
(confinement des
défaillances)
• Test
(automaticité, non
régression, etc.)
E
Portability
(Évolutivité)
Capacité et facilité
de :
• Adaptation et
évolution
• Installation des
modifications
• Remplacement
• Cohabitation
+ Conformité aux exigences non fonctionnelles (écart mesuré entre le besoin et ce qui est réalisé)
La prise en compte de chacune de ces caractéristiques implique du code à
développer ou à acquérir et/ou des tests (vérification et validation) à effectuer
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 46
23
Espace méthodologique VV&T
Axe caractéristiques qualité produit (Cf. ISO/CEI 9126)
6 caractéristiques principales
• FURPSE
Caractéristiques de l’environnement
système
• Sécurité, sûreté de fonctionnement,
interopérabilité, etc.
Axe méthodes VVT
Axe méthodologies Cycle système et cycle
de développement (Cf. ISO/CEI 12207)
• Chaque phase a des besoins et des
exigences qui lui sont propres
Espace de de choix possibles très grand donc risque d’inconsistance et
d’incomplétude si la maturité de l’équipe est faible (cf. CMM)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 47
Rappel CMMI : les 5 niveaux
Optimiser
Optimiser
Piloter
Piloter
Pratique systématique de la mesure pour évaluer
la performance :
• Processus de développement
• Produit logiciel réalisé
Définir
Définir
• Définition des processus
• Vision systémique « gagnant-gagnant »
des acteurs ( formation)
• Satisfaction du client final
• Revues de projet, évaluation des risques
Reproduire
Reproduire
Initial
Initial
Régulation du processus sur les objectifs
stratégiques de l’entreprise :
• Prévention des défauts
• Intégration des NTI ( architecture ouverte et
testable) dans la stratégie
• Optimisation CQFD
• Gestion du besoin et des exigences
• Assurance qualité (i.e. VV&T)
• Gestion de projet ; contrats de sous-traitance
• Gestion des configurations
« laissez faire »
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 48
24
Les acteurs de la VV&T
• Parmi les acteurs, il faut distinguer ceux qui
introduisent les défauts, et ceux qui recherchent
les défauts pour les corriger
Le chef de projet
Planification des tâches et assurance qualité (système qualité) – Organisation de
l’équipe – Mise en œuvre de la stratégie et des méthodes
L’architecte du projet (au sens large = expression de besoin, spécification fonctionnelle, conception –
implique la MOA et/ou le client)
Architecture testable
Les programmeurs
Conception détaillée et programmation – Composants logiciel
{Données+Algorithmes +Contrôles} intégrables (i.e. documentés et testés)
Le responsable de l’intégration et son équipe
Le responsable de la qualification indépendante et son équipe (Assurance
Qualité – Inspections et revues – Recette)
Le support et/ou la maintenance de 1er niveau
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 49
Place des méthodes de VVT
EB/EC
CG
CD
Codage
TU
IVVT
Modules
Détection des défauts au moyen de :
Relectures informelles sur la base de standards
• Inspections et revues (cf. système qualité)
Relectures formelles
• Preuves par simulation sur la base de modèles explicites
Simulation partielles
Simulations exhaustives
• Preuves « mathématiques » par raisonnements explicites
Par construction (via des langages ad hoc)
Par induction (démonstrations ± automatiques
Compilation des langages
Détection des défauts
Par les techniques de tests traditionnelles
IVVT
Système
Recette
Ce flux permet la mesure du
taux d’erreurs résiduelles
©2012 Reproduction interdite /N.
Exploitation du logiciel
Fichier
des
incidents
Enregistrement systématique de tous
les incidents au moyen de fiches RA/AC
précises + Traces facilitant le diagnostic
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 50
25
Stratégie coopérative MOA – MOE
Nécessité de mise en cohérence des systèmes qualité MOA
Organisation
cible
ET MOE
Organisation
cible
Pilote stratégique
MOA
Pilote
Pilote
Pilote
EB/EC
Intégration/
Recette
Suivi fournisseur
Système qualité MOA
Contrat
Interactions
Pilote
Contrat
Pilote
MOEMOE
Développement
Développement
Système qualité MOE
Système qualité MOE
•
•
La mise en œuvre d’une stratégie gagnant-gagnant dépend de la qualité de la
spécification de réalisation ET de la méthodologie d’accompagnement
Plus les référentiels sont rigoureux et explicites, meilleures sont les chances
de détecter les erreurs et de corriger les défauts
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 51
Méthodes agiles
cycle de vie XP
Software factory
Cas
d’emplois
Exploration
• Planning game
Planification
Architecture stabilisée
à la première itération
Durée de 2 à 6 mois
maximum
Mise en production
• The perfect time to tune
Maintenance
• The normal state of an XP
project
Terminaison
• The time to write a 5 to 10
pages tour of the system
Nominale
©2012 Reproduction interdite /N.
• Durée moyenne 1 à 4 semaines
• Tests fonctionnels de chaque
itération, faits par le client (TDD)
Itération
« mort »
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 52
26
Schéma de communication entre les
acteurs SCRUM / XP
Management
Relation non explicite
Product Owner
SCRUM Master
Coach/Tracker XP
Relation non explicite
Usagers
Équipe
C’est, de fait, le chef de projet qui :
• Prend les décisions
• Lève les risques
• Suit les actions
Les interactions correspondent aux processus de livraison, ainsi que
de fourniture des besoins et de validation (cf. TDD : test driven development)
Forte cohésion entre les équipes
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 53
La place des tests dans les 12 règles de
l’XP-programming
•
•
•
•
•
•
•
•
•
•
•
•
R1 : Whole Team - All the contributors to an XP project – developers , business analysts, testers, etc. –
work together in an open space, members of one team. The walls of this space are littered with big
visible charts and other evidences of their progress.
R2 : Planning Game - Planning is continuous and progressive. Every two weeks, for the next two
weeks, developers estimate the cost of the candidate features, and customers select those features
to be implemented based upon cost and business value.
R3 : Customer Tests - As part of selecting each desired feature, the customers define automated
acceptance tests to show that the feature is working.
R4 : Simple Design - The team keeps the design exactly suited for the current functionality of the
system. It passes all the tests, contains no duplication, expresses every thing the authors want
expressed, and contains as little code as possible.
R5 : Pair Programming - All production software is built by two programmers, sitting side by side, at
the same machine. – 1 testeur 1 développeur, les roles sont interchangeables.
R6 : Test-Driven Development - The programmers work in very short cycles, adding a failing test, then
making it work.
R7 : Design Improvement - Don’t let the sun set on bad code. Keep the code as clean and expressive as
possible.
R8 : Continuous Integration - The team keeps the system fully integrated at all times.
R9 : Collective Code Ownership - Any pair of programmers can improve any code at any time.
R10 : Coding Standard - All the code in the system looks as if it was written by a single–very
competent–individual.
R11 : Metaphor - The team develops a common vision of how the program works.
R12 : Sustainable Pace - The team is in it for the long term. They work hard, at a pace that can be
sustained indefinitely. They conserve their energy, treating the project as a marathon rather than a
sprint.
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 54
27
Stratégie de tests
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 55
Stratégie de test : les objectifs (1/2)
• Un double objectif :
Choix N°1 : Augmenter le MTTF
Réduire au maximum le taux d’erreurs résiduelles
Reconfigurer dynamiquement le système sur des états cohérents
malgré le non-déterminisme (c’est une compensation des effets de
certaines défaillances connues)
Choix N°2 : Diminuer le MTTR
Se donner les moyens d’observation des états déterministe du
système (élimination systématique des erreurs reproductibles)
Réserver des ressources en quantité suffisante pour les tests « en
ligne »
En respectant les contraintes de Coût-Délai du projet
• Comment répartir et organiser l’effort de
VVT – Comment choisir
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 56
28
Caractéristiques de l’activité de test
• Spécifier et développer les « bons » tests –
élaborer les résultats attendus
• Classer, organiser et gérer les tests
(gestion de configuration)
• Exécuter les tests dans un environnement
ad hoc – Localiser les défauts
• Analyser les résultats obtenus et
diagnostiquer les erreurs commises
• Rédaction des rapports d’anomalies RA et
envoi des RA aux acteurs impliqués
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 57
Le processus de test
Objectif du test
Spécification du programme
et/ou des interfaces à tester
Spécification du test
Chargement du programme
et de son environnement
Scénario du test
Exécution du test
Résultats et comportements
attendus
Résolution du problème
Analyse inductive
(on vérifie une hypothèse à
partir des résultats obtenus)
Résultats et comportements
observés
Diagnostic
Comparaison
Exploitation
Résultat
Correct
Résultat
Incorrect
Archivage du test et
des résultats
État d’avancement des
N scénarios de tests
©2012 Reproduction interdite /N.
Analyse des résultats
Modifications
induites
Analyse déductive
(on recherche les causes
dans le programme et/ou les
interfaces)
Diagnostic
Dans le test Dans le programme Gestion des configurations
Sources +Tests + Documentation
Modifs
Modifs
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 58
29
Objectif de l’effort de tests
• Parmi tous les tests possibles, identifier
ceux qui sont véritablement pertinents pour
le système à tester
Objectif et critère de test explicite
• Pour un coût donné, trouver le maximum de
défauts (rentabilité, rendement)
NB : Coût = effort humain + outillages + plates-formes
• Capitaliser ce qui est répétitif et
automatiser si le coût de l’automatisation
est compatible avec l’économie du système
Coût de l’automatisation << Coût humain (projet et/ou coût complet)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 59
Considération MOA, MOE, Projet
• Pour le maître d’ouvrage qui représente le
client, il faut toujours raisonner en coût
complet
Le MOA doit intégrer dans son analyse économique l’exploitation, le
support et la maintenance, en plus du développement –
l’investissement test doit être géré comme un livrable du
projet
• Pour le maître d’œuvre et a fortiori le chef
de projet, la tendance sera de raisonner en
coût projet sur une version du système
La vision du MOE est bornée à celle de son projet – Son action
s’arrête dès que la recette est prononcée
• Quand faut-il arrêter les tests
Mesure et/ou estimation de la maturité du point de vue de l’usager
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 60
30
La perception de l’usager
• Défaillances et pannes perturbent plus ou
moins fortement le fonctionnement de
l’organisation cible
• Il faut soigneusement distinguer :
Le coût de la réparation du point de vue du fournisseur, tel que
vu par le chef de projet
Le coût de l’interruption de service tel que perçu par
l’usager du système
Un cas extrême : ARIANE 501
Le rapport de ces deux coûts peut être de plusieurs ordres de
grandeur
• Il est prudent de considérer le début de
l’exploitation comme la fin de la VVT projet
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 61
Estimation de l’effort de test
• Le nombre de défauts introduits est une
fonction croissante de la taille du
référentiel de programmation
Documents de conception et volume de code réellement écrit par les
programmeurs
• L’effort de VVT est une fonction croissante
de la taille du référentiel de programmation
ET du degré d’organisation de ce
référentiel, i.e. l’architecture
Dans le modèle d’estimation COCOMO, la forme de cette fonction
est polynomiale si l’architecture est en couche
Cf. J.Printz, Productivité des programmeurs, chez Hermès
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 62
31
Équation générale de l’effort
• Peut-on justifier la forme de cette
équation ?
Effort = k × (KLS ) 1+α
Facteurs
d’influence
Terme linéaire
Dépend de la puissance expressive
et du « grain » sémantique du
langage
+ Expérience des acteurs
Facteurs de coût
©2012 Reproduction interdite /N.
Terme NON linéaire
Dépend de la complexité de
l’application et de la maturité du
processus de développement
• α est le facteur d’intégration
Facteurs d’échelle
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 63
Interprétation des équations COCOMO
avec CQFD
C
Q
F
D
Effort = k × (KLS ) 1+α
D = (0,5 ± 0,04) × (Een HA ) 0,3±ε
Rendement de l’effort VVT exprimé en termes de :
• Taux de défauts résiduels
• Disponibilité de l’application ou du système
Effort [Q ] = C × (k × (KLS ) 1+α )
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 64
32
Stratégie de test : les moyens (2/2)
• Architecture testable
Créer les conditions d’observation des états du
système que l’on saura interpréter et reproduire pour améliorer le
diagnostic
• Évaluation des caractéristiques non
fonctionnelles (i.e. réduire le facteur d’incertitude)
Exemples : Déterminer les performances et la fiabilité véritablement
souhaitables ; Valider l’ergonomie avec les usagers REELS ; etc.
• Équilibrage entre :
Techniques AQ : revues, inspections, audits,
Tests Boîte Noire et tests Boîte Blanche
Tests de robustesse et tests d’innocuité/sûreté
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 65
La vision qualité : répartition de l’effort
Axe de progression de l’intégration
en minimisant les retours arrière
Équilibrage de l’effort de test
Objectifs de
test
Programmeur
Programmeurindividuel
individuel
Tests
Testsunitaires
unitaires
Test boîte
blanche
Équipe
Équipeprojet
projet
Intégration
Intégrationprojet
projet
Zone grise
Équipe
Équipesystème
système
Intégration
Intégrationsystème
système
Test boîte
noire
×α1
×α3
×α2
αi est un coefficient d’amplification
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 66
33
Maturité de développement d’un système
Indicateur d’avancement du processus de test
(+ critère de terminaison)
Système « idéal », sans défaut résiduel
Défauts résiduels
Fin de
projet
©2012 Reproduction interdite /N.
Effort
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 67
Productivité de l’effort VVT
Nombre de défauts détectés
Techniques de TEST
(Détection des défauts coûteuse)
Techniques REVUES + INSPECTIONS
(Détection des défauts peu coûteuse)
PERTE
Temps / Effort
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 68
34
La détection précoce des défauts
Injection de
défauts
consécutive aux
erreurs des
acteurs de A
Découverte
tardive des
défauts de A par
les acteurs de B
Processus A
Processus B
Livrables de
A pour B
• Remède : Faire en sorte que les acteurs de A
découvrent leurs propres erreurs, ou à tout le
moins permettent à B de les découvrir plus vite
• Qualité des livrables
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 69
Efficacité des revues et inspections (1/2)
Défaut introduits
Défauts résiduels
pouvant conduire à
des défaillances
Défauts cumulés
•
•
•
•
EB/EC CG
©2012 Reproduction interdite /N.
Défauts corrigés à l’aide
de tests
• Coût élevé
•
CD
P/TU
Intégration
Phases de développement
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 70
35
Efficacité des revues et inspections (2/2)
Total des défauts
corrigés à l’aide des
revues et des tests
Moins de défauts
résiduels
• À effort constant la
qualité est améliorée
Défauts cumulés
•
•
•
Moins de défauts corrigés à
l’aide de tests, donc un gain
qui compense le coût des
revues et inspections
• Les tests passent plus vite
•
•
EB/EC CG
©2012 Reproduction interdite /N.
CD
P/TU
Intégration
Phases de développement
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 71
Profils de maturité qualité produit
Nbre de RA-AC
Profil N°3
Profil N°1
Défauts résiduels
Profil N°2
En relatif, ces profils sont
indiscernables, mais les taux
d ’erreurs résiduelles sont
très différents
©2012 Reproduction interdite /N.
Effort VVT
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 72
36
Principes de la VVT
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 73
Quelques principes VV&T (1/3)
• Principe N°1
Tester exhaustivement un logiciel est généralement
impossible
Phénomènes combinatoires et coûts exponentiels
• Principe N°2
Tester correctement un logiciel est une tâche difficile qui
requiert intelligence et créativité
Choix de stratégies, critères d’arrêt + Connaissance indispensable du contexte
d’emploi réel
Pièges :
croire que c’est simple et facile par rapport à la programmation jugée plus « noble »
croire que cela n’exige ni expérience, ni savoir-faire, ni méthodes et qu’il est inutile de
planifier cette activité
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 74
37
Quelques principes VV&T (2/3)
• Principe N°3
L’essence de l’activité de test est la prévention
Elle s’applique à toutes les phases du cycle
Il est futile de concevoir ce que l’on ne saura pas tester
Concept de testabilité à tous les niveaux
• Principe N°4
Le volume et la nature des tests à effectuer (i.e. l’effort VVT en
terme de CQFD) doit s’apprécier en terme de risques que
l’emploi du logiciel fait courir à l’organisation cible
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 75
Quelques principes VV&T (3/3)
• Principe N°5
La planification sérieuse de la VVT est indispensable à la
maîtrise du projet
Chaque tâche du projet a sa propre VVT afin d’éviter l’effet d’avalanche lors
de l’intégration
Piège : considérer que l’effort de test est une marge de manœuvre
• Principe N°6
L’évaluation honnête de la qualité exige la présence d’un tiers de
confiance (AQ logiciel) indépendant du développement
Piège : croire que le développement est seul juge
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 76
38
VV&T et QUALITÉ
• Qualité
Conformité aux exigences du contrat de service défini
par l’organisation cible
La qualité est une notion relative (Appréciation du risque
→ Notion de qualité de service QoS)
• VVT
Le but des tests est de rendre la qualité « visible »
Le ratio de l’effort de VVT est un indicateur de la qualité
du logiciel
Effort de test
Effort de test
r=
Efficacité =
Effort total
Nbre de défauts découverts
Nbre de défauts découverts
Densité =
Nbre de lignes source ( KLS )
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 77
Maturité
NIVEAU 1 : mise au point et tests ne sont pas
différenciés.
NIVEAU 2 : le but des tests est de montrer que
le système fonctionne.
NIVEAU 3 : le but des tests est de montrer que
le système ne fonctionne pas.
NIVEAU 4 : le but des tests est de réduire le
risque de non fonctionnement tel que perçu par
l’usager à une valeur compatible avec la mission
du système.
NIVEAU 5 : la testabilité du système est
complètement intégrée au processus de
conception.
Il est futile de « concevoir » ce que l'on ne saura
pas tester
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 78
39
Lois de la testabilité
LOI 1 : toute méthode de tests laisse un résidu d'erreurs
contre lesquelles la méthode adoptée est inefficace.
Corollaire : Le potentiel de détection des défauts d’une suite de
test s’épuise → Il faut constamment renouveler les tests en
changeant de point de vue (objectif et stratégie de test).
LOI 2 : l'accroissement de complexité des systèmes
dépasse très facilement le niveau de complexité que l'on
sait raisonnablement valider, vérifier et tester.
LOI 3 : code et données entretiennent des relations de
dualité ; le code se transforme facilement en données.
Les données sont une source d'erreurs aussi
importante que le code.
LOI 4 : la topologie des défauts passe progressivement
de l'état « dense » à l'état « diffus » ; l’analyse locale
devient globale. Les « heisenbugs » deviennent
prépondérants.
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 79
Influence de la VVT sur la
productivité et le rendement de
l’organisation de développement
Données économiques
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 80
40
L’analyse des données économiques à
l’aide de métriques et d’indicateurs
•
•
•
•
•
Métriques qualité
Coût des corrections
Courbes de maturité
Facteurs d’amplification des coûts
Coûts pour l’usager
©2012 Reproduction interdite /N.
Page N° 81
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Management qualité fondée sur la
métrologie des flux d’anomalies
INDICATEURS CARACTÉRISTIQUES
Développement
Maintenance
Flux de modifications
Flux de modifications
en cours de
en cours de
développement
développement
Durée du cycle
Besoin
Conception
RErr/ RA =
Flux d' Erreurs
<1
Flux de Rapports d' Anomalies
Age moyen des RA, Dispersion des RA
Disponibilité (i.e. MTTF, MTTR)
Temps de non régression
Programmation
Intégration
Rodage
Date début
d'exploitation
Relivraisons
Date fin
d'exploitation
Période d'exploitation d'une version du système
Courbe de maturité
Flux continu de défaillances découvertes en exploitation
Coûts chez le fournisseur:
Coûts chez le fournisseur:
• Constitution d'un dossier d'Erreur
• Constitution d'un dossier d'Erreur
(Action Correctrice).
(Action Correctrice).
• Coûts de réparation et de relivraison
• Coûts de réparation et de relivraison
de tout ou partie du système.
de tout ou partie du système.
Taux d’échecs
©2012 Reproduction interdite /N.
Filtrage
Deux modes d'exploitation :
Deux modes d'exploitation :
• 1 à qq. sites
• 1 à qq. sites
(i.e. clé en mains)
(i.e. clé en mains)
• Nombreux sites (progiciels)
• Nombreux sites (progiciels)
—> Doublons
—> Doublons
Coûts chez l'exploitant :
Coûts chez l'exploitant :
• Émission d'un Rapport d'Anomalie.
• Émission d'un Rapport d'Anomalie.
• Coûts d'arrêts de l'exploitation.
• Coûts d'arrêts de l'exploitation.
• Pertes d'équipements, humaines,…
• Pertes d'équipements, humaines,…
Bien distinguer dans le MTTR la part
due à la qualité du diagnostic
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 82
41
Coût moyen des corrections
Conception
Programmation
Intégration
VVT
Coût moyen par
phase selon
vade-mecum
40%
20%
40%
Ce qui est
refait selon
vade-mecum
30%
50%
70%
12%
10%
28%
Coût moyen des
corrections
Taux
d’erreurs
acceptable
???
≈ 50%
Domaine de la prévention (amélioration de la productivité)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 83
Répartition des temps de correction par
défaut
1er Quartile : 8%
%
25%
50%
20%
4%
1%
100 erreurs
Effort moyen par
défaut (en heures)
2h
5h
10h
20h
50h
6.3h/err
Effort cumulé
(en heures)
50h
250h
200h
80h
50h
630h
2ème-3ème Quartile : 40%
4ème Quartile : 52%
Source : Hewlett-Packard
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 84
42
Courbes de maturité - Transfert de coût
entre les processus
Palier de maturité acceptable
(dépend du taux d’erreurs non reproductibles)
1 à 5 Err/KLS
selon exigence
Pente résiduelle
La différence est
supportée par
l’éditeur du
logiciel
1ère mise en service
La différence est
supportée par l’usager du
logiciel et le MCO
Temps
Développement
©2012 Reproduction interdite /N.
Exploitation (et plus généralement MCO)
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 85
Amplification du coût de correction (1/5)
• Le coût de traitement d’une erreur
dépend fortement du temps de
latence (Introduction/Découverte) :
Erreur humaine/défaut → Défaillance reproductible
Plus le temps de latence est long, plus le coût
de la correction est élevé
Toute erreur non détectée peut occasionner
d’autres erreurs (amplification)
Avec l’augmentation de complexité,
seule une stratégie préventive est
gagnante
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 86
43
Amplification du coût de correction (2/5)
• Modèle d'amplification par phase du
• Prévoir le coût de
cycle de développement
cette détection dans les
ERREURS
COMMISES
DÉFAUTS
PROVENANT
Yi
DES PHASES
PRÉCÉDENTES
ERREURS PROPAGÉES EFFICACITÉ
DE LA
ERREURS AMPLIFIÉES DÉTECTION
DANS LA
PHASE
ERREURS NOUVELLES
xj
tâches du projet
• Identifier les modules
critiques (architecture)
DÉTECTION
DÉFAUTS TRANSMIS
À LA PHASE SUIVANTE
Yj
Yj = xj + α × Yi
COËFFICIENT D'AMPLIFICATION : #ERR α
α dépend fortement de l'architecture (interfaces, modularité)
l'efficacité de la détection dépend de la documentation, des standards, de l'organisation
qualité et de l’expérience de l’équipe de revue (cf. facteurs AEXP et ACAP de COCOMO)
©2012 Reproduction interdite /N.
Page N° 87
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Amplification du coût de correction (3/6)
Conception
Préliminaire
Conception
Détaillée
Codage
Tests unitaires
Intégration
Modules
Validation
Modules
Intégration
Système
AMPLIFICATION SANS PROCESSUS DE REVUE
0
0
6
0%
10
27x3=81 20%
4x1,5=6 0%
10
25
10
93
0
0
25
37
50%
0
0
15
2
70%
1x1,5=2 50%
10
©2012 Reproduction interdite /N.
25
50%
24
0
0
93
AMPLIFICATION AVEC PROCESSUS DE REVUE
3
47
0
0
12
ERREURS RÉSIDUELLES
3
24
5
10x3=30 60%
25
50%
24
0
0
50%
12
0
0
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
50%
6
0
0
50%
Page N° 88
44
Amplification du coût de correction (3/5)
• Application du modèle VEST
Conformité de la
fourniture
Conformité de la
livraison
Pilote de
la tâche
T
Tâche projet à effectuer
E
Tâche(s) amont
S
Flux nominal
et anomalies
imputables à T
V
Validation, vérification,
test
Tâche(s) aval
Flux nominal et
demandes de
modifications
Bilan du processus en terme de
productivité - rendement (COQ et CONQ)
Par rapport à la FINALITÉ
Tâches d ’assurance qualité permettant de détecter
préventivement les défauts et d’éviter leur propagation
©2012 Reproduction interdite /N.
Page N° 89
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Amplification du coût de correction (4/5)
Période de détection/correction
des défauts au moyen de tests
Période d’introduction des erreurs
x1
x2
x3
x4
EB/EC
CG
CD
Codage
Y1
Y2
Y3
Y4
TU
IVVT
Modules
IVVT
Système
Recette
Construction du référentiel de VVT
Scénarios
de tests
Statistique de répartition des défauts (selon B.Beizer,
Software testing techniques)
• EB/EC :
9%
• CG :
26%
• CD :
52% (dont 24% sur les données)
• Codage :
10%
• Tests :
3%
©2012 Reproduction interdite /N.
Potentiel de détection des
scénarios de tests fonction du
volume de scénarios (fonctionne
comme un filtre)
• Défaillances les + probables
• Absence de doublon
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 90
45
Amplification du coût de correction (5/5)
> × 300
× 150 à 300
× 50 à 150
× 10 à 50
× 4à8
× 2à4
EB/EC
CdCF-1
Documents contractuels
Conception
Développement
Intégration
Réalisation incrément N°1
ORIGINE
= 1
©2012 Reproduction interdite /N.
Fournitures contractuelles
Déploiement,
support et MCO
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 91
Coût pour l’usager (1/2)
• Coûts de gestion
Émission de RA, installation des corrections, relivraisons, tests de régression, etc.
• Coûts des interruptions de service
Systèmes « clé en main »
Possibilité d’impact « catastrophique » selon la criticité du système
Exemples : Infrastructures techniques (contrôle aérien,
énergie, communications, réseaux bancaires, défense, etc.)
Progiciels
Existence de contournement selon le niveau de maturité
Systèmes d’exploitation, progiciels système (SGBD, Réseaux,
etc.), progiciels applicatifs, etc.
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 92
46
Coût pour l’usager (2/2)
• Impact des défaillances en terme de coût
Le coût induit par une erreur est fonction :
FRÉQUENCE DE LA DÈFAILLANCE : liée au taux d'erreurs résiduelles,
effet de parc (variété/nombre des configurations installées)
COÛT DE LA RÉPARATION : dépend de l’architecture du système (par
exemple : avec ou sans dispositif de journalisation, avec ou sans gestion de
configuration, etc.)
COÛT DE LA CORRECTION : très dépendant de l’automatisation des tests
(cf. caractéristique de maintenabilité du logiciel)
COÛT DE L’INSTALLATION : dépend de l’architecture du système (par
exemple : avec ou sans édition de liens dynamique, avec ou sans moniteur de
machines virtuelles, etc.) + effet de parc
COÛT DE L’INTERRUPTION DE SERVICE : la non disponibilité du
système peut induire des pertes qui doivent être comptabilisées (dommages et
intérêts)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 93
Élaboration et mise en œuvre
d’une stratégie de tests
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 94
47
Définition
• Stratégie de VV&T : le problème
Rentabiliser REVUES et INSPECTIONS
Comment produire et ordonnancer les tests de façon à
Maximiser la probabilité de découverte d’erreurs intéressantes du point de
vue de l’utilisateur
Satisfaire au mieux le contrat de service
Minimiser la composante CQFD de l’ensemble des activités de VV&T sur
l’ensemble du cycle de développement
Garantir la qualité de l’assemblage
En terme de
Disponibilité
Capacity Planning et de System Management
Rendement du système, COST/EFFECTIVENESS du point de vue du contrat de
service
• Techniques de tests
Boite noire
Boite blanche
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 95
Le contexte système du test
Contour flou, surtout si il y
a des humains dans la
périphérie du système
Modalités d’emploi du système
e1
e2
e3
•••
en
Contour flou si il y a des
progiciels dont le comportement
est mal connu
©2012 Reproduction interdite /N.
Fonction ou ensemble
de fonctions à tester
s1
s2
s3
•••
sm
La nomenclature de cet
ensemble est FONDAMENTALE
d1, d2, d3, ••• , dp
Ensemble des variables d’état dont
F hérite et qui influent sur F
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 96
48
Les objectifs de tests (1/5)
• N°1 : Couverture du domaine FONCTION
Toutes les fonctions sont exécutées au moins une fois
Toutes les régions de code (selon granularité) sont visitées au moins une
fois
• N°2 : Couverture du domaine données ENTRÉES
Toutes les entrées sont sollicitées au moins une fois, y compris les limites
• N°3 : Couverture du domaine données SORTIE
Toutes les sorties attendues sont produites au moins une fois
• N°4 : Couverture du domaine CONTRÔLE et des
ENCHAÎNEMENTS
Les comportements les plus fréquents sont sollicités au moins une fois
Implique une excellente connaissance du contexte d’emploi du système
Toutes les exceptions et les messages d’erreurs sont levés au moins une
fois
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 97
Les objectifs de tests (2/5)
• FONCTION
Échantillonnage raisonnable de la transformation {ei}→{sj}
Tests de couvertures
Influence des variables d’état héritées sur la transformation
{ei}→{sj}
Prise en compte du contexte d ’exécution de la fonction
Échantillonnage raisonnable des cas invalides {ei et dk}
Valeurs particulières
Dépendances fonctionnelles et/ou contraintes sur les {ei et dk}
Erreurs spécifiques à la fonction
Erreurs fonctionnelles
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 98
49
Les objectifs de tests (3/5)
• ENTRÉE
Analyse systématique de tous les types possibles en entrée
MCD, états logiques et/ou physiques des données en entrée
Analyse systématique de toutes les bornes des domaines de validité
des données
3 valeurs par borne : =, > et < (y compris les combinaisons)
Analyse systématique de toutes les situations conduisant à un
overflow
Dépassement de capacité des ressources allouées à la fonction compte
tenu des données en entrée
Impact des interruptions possibles
File d ’attente d ’événements pris en compte par la fonction ;
saturation des files, etc.
Effet « cache » ; saturation du cache, etc.
Robustesse (Données incomplètes et/ou fausses)
Innocuité : la réponse fausse ne dégrade pas l’environnement de F
©2012 Reproduction interdite /N.
Page N° 99
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Les objectifs de tests (4/5)
• SORTIE
Analyse systématique de tous les types possibles en sortie
MCD, états logiques et/ou physiques des données en SORTIE
Édition de tous les diagnostics, de tous les message d’erreurs
Analyse systématique de tous les types possibles de rapports et/ou
fichiers créés par la fonction
Y compris les états incomplets et/ou faux
Non altération des données qui ne font que transiter par la fonction
Non propagation des contaminations (confinement et latence)
Analyse systématique de tous les modes de terminaison possibles
et des cas de reprises qui leur sont associés
Cas des arrêts sur événements inopinés et/ou générés par l’opérateur
ou l’environnement
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 100
50
Les objectifs de tests (5/5)
• CONTRÔLE et ENCHAINEMENTS
Analyse systématique de scénarios d’emploi de la
fonction jugés significatifs pour le contrat de service
Tests de chemins
Analyse raisonnable de scénarios catastrophes
Prévention des risques décrits dans le contrat de service
Non propagation des défaillances
Analyse raisonnable de combinatoires {ei et dk} du point
de vue contrôle
Chemins anormaux devant conduire à une erreur, latence, etc.
Erreurs dues aux conditions d’entrée
Analyse raisonnable de combinatoires {sj et dk} du point
de vue contrôle
Erreurs dues à l’environnement (matérialisée par dk)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 101
Logique d’intégration et ingénierie
système (1/2)
• Identifier le(s) chemin(s) d’intégration
optimum de l’application selon le critère
CQFD
Maturité des composants élémentaires et des interfaces critiques (à
intégrer le plus tôt possible)
Les plus fréquemment utilisés du point de vue du contrat de service
Identification des chaînes fonctionnelles longues
i.e. ossature du système
Croissance incrémentale par ajouts successifs pour les composants
basiques des chaînes longues
• Construire des « intégrats » permettant
d’éviter le recours trop systématique à la
simulation
équilibrage entre simulation vs contexte et environnement de tests
La simulation est remplacée par un contexte spécifique ad hoc (jeté en
fin de test)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 102
51
Logique d’intégration et ingénierie
système (2/2)
• Répertorier les dépendances
fonctionnelles de l’application vis à vis
des COTS et de l’environnement
système
Encapsulation systématique et/ou homologation préalable
des COTS
IHM interactive et/ou disposant d ’un mode commande
Prise en compte des coûts de non régression
• Mise en œuvre des 4 principes
d’intégration
Activation, Séparation, Observation, Terminaison
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 103
Attributs indispensables d’un intégrat
Exigences fonctionnelles et
non fonctionnelles prises en
compte (FURPSE) + Traçabilité
des exigences
Est documenté
par :
• Documentation de maintenance
• Documentation d’exploitation
• Documentation de support
Est vérifié par :
• Liste des inspections et des
revues effectuées
• Liste des tests + modalités
Est validé par :
• Liste des inspections et des
revues effectuées
• Liste des tests+ modalités
Est géré par :
Rôle des acteurs selon modalités
CRUD étendues (modalités de
déploiement et d’exécution –
Ressources utilisées)
Intégrat
Demandes de modifications :
• Prises en compte
• En attente
• Refusées
Gestion des activités
• Traçabilité inverse
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 104
52
Stratégie d’intégration
Construction d’une chaîne d’intégrats
satisfaisant VEST
Pré-intégration de I1 et I2 prédécesseurs
de I3, I4 et I5
Initialisation
Stimulus en
entrée
Intégrat-I1
Le système est initialisé
(éventuellement par simulation) pour
atteindre les intégrats I3, I4 et I5
Activation de I3
I1/I2
Intégrat-I2
Observation des états successifs des
transformations effectuées par les intégrats
I2/I3
Séparation défaut/défaillance
Intégrat-I3
Défaut diagnostiqué
dans I2
I3/I4
Intégrat-I4
Problème des défauts diffus
dans plusieurs intégrats
Terminaison selon
critères VEST
I4/I5
Intégrat-I5
Défaillance
constatée dans I4
Réponse en
sortie
Le système fournit les résultats
attendus (nominal ou non nominal)
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 105
Stratégie de l’effort de test
• Construction de la matrice du jeu
Situations
possibles
Actions possibles
S1
S2
•••
Sn
A1
A2
A3
•••
Am
L’analyse des situations se fait par rapport au but fixé dans le contrat de
service, en fonction de l’évolution des courbes de maturité
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 106
53
Aperçu sur l’intégration des systèmes
informatisés
Aspect logiciel de l’intégration
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 107
Interactions dans le processus
d’intégration (Norme ISO 12207)
System requirements
analysis
Software
requirements analysis
Software detailed
design
System architecture
design
Software architecture
design
Software coding and
testing
Remontée de faits techniques et de rapports
d’anomalies à analyser par les acteurs de l’ingénierie
Conformité VEST
System integration
Software integration
Software installation
System qualification
testing
Software qualification
testing
Software acceptance
support
Conformité VEST
Livraison du système aux
Usagers cible + MCO
©2012 Reproduction interdite /N.
Ensemble d’activités IVVT
Intégration, Vérification, Validation et
Test
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 108
54
Le procédé de construction
Livraison partielle pour
démarrer la recette finale
en parallèle
Intégrats rejetés
Flux d’intégrats
Intégration Système
et Logicielle
Test de Qualification
et Acceptance
Satisfaisant
les critères VEST
Exécution des tests
avec des intégrats
bouchonnés
Identifications
des acteurs concernés par le RA
RA et FT
©2012 Reproduction interdite /N.
Flux de rapports d’anomalie RA (+ faits
techniques irréfutables) concernant les intégrats sous test
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 109
La machine à intégrer (chaîne de
montage) – Assemblage des intégrats
Intégrat-1
Système satisfaisant aux critères
qualité spécifiés dans le cahier
des charges
Intégrat-1.1
...
...
Intégrats de rang 0
issu du
développement et
satisfaisant les
critères VEST
...
Intégrat-n
Étage
d’Intégration
N°1
Scénarios
étage N°1
Intégrats de rang 1
issu de l’étage N°1
et satisfaisant les
critères VEST
...
Intégrat-1.m
Étage
d’Intégration
N°2
Scénarios
étage N°2
Intégrat
Intégrat final
satisfaisant les
critères VEST
Étage
d’Intégration
final
Système
Scénarios
final
Anomalies
Anomalies
Anomalies
Diagnostic
Diagnostic
Diagnostic
Retour arrière si les critères ne sont pas satisfaits et/ou découvertes d’anomalies nécessitant une correction
dans un intégrat de rang 0 ; re-examens des différents scénarios qui on laissé passer l’erreur
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 110
55
Construction progressive de la
configuration livrée
Règles de recherche des éléments à intégrer
Livrables des
programmeurs
Éléments complets
vérifiés et validés
Livraisons de l’ingénierie
Éléments complets
partiellement vérifiés et
validés par l’intégration
Génération des
sources
Compilation
Édition de liens
Binaire
exécutable
Éléments complets livrés
par l’ingénierie
Éléments incomplets
livré par l’ingénierie
Bouchons +
Éléments temporaires
simulés
Essais avec les
scénarios de tests
Livrés par l’ingénierie ou
réalisé par l’intégration
L’organisation de la bibliothèque est en relation duale avec l’organisation du projet ; c’est
un aspect fondamental de l’ingénierie projet
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 111
Bibliographie
• Glossaire CFTL/ISTQB des termes
utilisés en tests de logiciels
• IEEE SW standards collection
• J. Printz, JF. Peyre, Pratique des tests
logiciels, 2009
©2012 Reproduction interdite /N.
Trèves / CNAM - AISL / VV&T Introduction générale / Vers. 3.0 NFP209
Page N° 112
56