Vous êtes sur la page 1sur 30

Ltape de test du system logiciel

Vrification, Validation, Tests

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Plan
Terminologie Types des testes Conception des tests Discussion sur les types des tests ncessaire dans diffrents modles de dveloppement

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Terminologie: Vrification vs. validation


Are we building the product right?

Vrification
produit conforme sa dfinition ce qui est produit pendant une tape de dveloppement correspond toutes les exigences exprime au dbut de cette phase
Are we building the right product?

Validation
produit rpond aux besoins des utilisateurs / du client toutes les exigences ont t correctement et compltement implmente (prises en compte)

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Terminologie: Tester vs. Dpanner


Tester (Vrification et validation V&V)
tablir lexistence des dfauts

Dpanner - debugging
localiser et corriger les erreurs
Rsultats des tests Cas de test

Localiser lerreur

Concevoir la rparation

Rparer lerreur

R tester le programme

aprs Jan Sommerville, Software Engineering UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 4

Terminologie: Inspections vs. tests


statiques

Inspections
analyser et vrifier les reprsentations du systme pour trouver des erreurs, des omissions, des anomalies peer reviews , software inspections

Tests

dynamiques

excuter un logiciel implment, avec des dates de test

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Inspection du logiciel
considrs comme l'un des outils les plus efficaces pour augmenter la qualit des logiciels produits Taux d'liminations des anomalies
inspections - 80% 95% tests - 30%

Reprsentations du systme inspectes


des spcifications d'un logiciel des documents de conception des tests du code source

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Les acteurs du processus dinspection


Auteur Responsable d'inspection (modrateur)
dtermine la liste des inspecteurs et leur rles indique si le produit a pass l'inspection ou pas

Runion d'inspection
le responsable d'inspection joue le rle de modrateur (garder le focus sur la dtection des anomalies et dsamorcer les conflits) la comprhension des anomalies (par les solutions ou la pertinence d'une anomalie)

Inspecteur
lecture attentive du bien, en notant les anomalies

Le procs dinspection
formalis pour la premire fois par IBM, en 1970

Scribe
enregistre les anomalies pendant une runion dinspection dans une fiche d'inspection

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Tests des logiciels


Tester = rechercher des erreurs (Myers 79) Le test ne peux pas garantir labsence d erreur Le test exhaustive nest pas possible. Tester un logiciel, c'est :
excuter le logiciel en matrisant les donnes en entre en sassurant que le comportement est celui attendu - observant les sorties
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 8

Programmes de test / batch Utilisation doutils spcialiss


J-unit Cpp-unit

Terminologie: Cas de test, dates de test


Cas de test
la spcification des ce que va tre test, avec le dates de test

Dates de test
les entres du test et les sortie (rsultats) attendu
Cas de test Dates de test Rsultats du test Rapport de test

Concevoir les cas de test

Prparer les dates de test

Excuter le programme avec les dates de test

Comparer les rsultats avec les cas de test

aprs Jan Sommerville, Software Engineering UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 9

Plan
Terminologie Types des testes Conception des tests Discussion sur les types des tests ncessaire dans diffrents modles de dveloppement

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

10

Types des testes


Test unitaire (de composants)
le dveloppeur

un procd permettant de s'assurer du fonctionnement correct d'une partie dtermine d'un logiciel ou d'une portion d'un programme (appele unit )

Test systme (comme en ensemble des composants) une quipe de test indpendante
de valider que le systme correspond aux exigences fonctionnelle et non - fonctionnelles

Test dacceptation (ou de recette)

plusieurs acteurs, y compris de la part du client

un procd permettant aux diffrents acteurs du projet de vrifier que le produit est conforme aux attentes formules
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 11

Test systme
procs de dveloppement itratif tester un incrment procs en cascade tester le systme entier procs plus compliqu
tests dintgration
white box - accs aux code source trouver des erreurs et leur sources

tests pour lancer le produit sur le marche


valider que le systme correspond aux exigences black box nommer test dacceptation si les utilisateurs sont impliques
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

12

Test dintgration
Les composants intgres peuvent tre:
COTS (components off-theshelf) composants rutilisables composants nouveau

Recommandations
tester dune manire incrmentale intgrer dabord les composants le plus frquemment utilises excuter des tests de non rgression
vrifier que les volutions apportes par une nouvelle version d'un logiciel n'altrent pas les fonctionnalits prexistantes

Stratgie dintgration
top-down - a partir dun squelette du systme bottom up - intgrer dabord les composants dinfrastructure et aprs rajouter les composants fonctionnelles

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

13

Tests dintgration incrmentales. Exemple

Jan Sommerville, Software Engineering UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 14

Black-box tests
Tests fonctionnelles
bases sur les scnarios: dabord les scnarios les plus utilises, puis les exceptions on peut utiliser les descriptions des cas dutilisations UML et les diagrammes de squences

Indications (Whittaker, 2002) choisir des entres pour gnrer :


des messages derreurs dpasser la capacit des tampons (buffer overflow)

Tests de performance
tests de monte en charge (stress testing)

forcer des sortis invalides forcer des rsultats trop larges ou trop petits
15

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

Test unitaire (des composants)


Tester pour dcouvrir les erreurs: sur des fonctions ou mthodes
avec diffrents paramtres dentr

sur les objets dune classe


tester tous les oprations sparement set et get sur tous les attributs tester le changement dtats tester les clases drives

sur linterface dun composant


UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 16

Tests de linterface
Erreurs possibles: Linterface est mal utilis
erreurs des paramtres: type, ordre, nombre

Linterface est mal comprise


la composant appele se comporte diffremment (inattendu)

Il y a des erreurs de timing


ex. pour les systmes de temps rel les messages passes par une mmoire partag (producteurs et consommateurs)
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 17

Test dacceptation ou de recette


les dates utilises dans les tests sont fourni par le client, pas simules peuvent rvler des omissions dans les exigences Autres nommes
alpha testing
pour les systmes dveloppes pour un seul client un consensus entre les dveloppeurs et le client

beta testing
pour les produits dlivrs sur le march dtecter les erreurs dans lusage rel un numro de clients potentiels testent et sont daccord sur le systme
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 18

Plan
Terminologie Types des testes Conception des tests Discussion sur les types des tests ncessaire dans diffrents modles de dveloppement

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

19

Conception des tests


base sur les exigences
en gnral pour les tests du systme

base sur les partitions


groupes de dates dentr ou de sortie avec des caractristiques communes ex. chercher une valeur dans une liste (2 partitions)

base sur la structure base sur le flot de contrle


UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita 20

Test base sur la structure: lalgorithme de recherche binaire dans un tableau ordon
Cas de test:
Inp u t a rr a y ( T ) 17 17 1 7, 2 1 , 2 3, 2 9 9 , 1 6, 1 8 , 3 0, 3 1 , 4 1, 4 5 1 7, 1 8 , 2 1, 2 3 , 2 9, 3 8 , 4 1 1 7, 1 8 , 2 1, 2 3 , 2 9, 3 3 , 3 8 1 2, 1 8 , 2 1, 2 3 , 3 2 2 1, 2 3 , 2 9, 3 3 , 3 8 K ey (K ey ) 17 0 17 45 23 21 23 25 Ou t put ( F o u n d , L ) tru e, 1 f al s e , ?? tru e, 1 tru e, 7 tru e, 4 tru e, 3 tru e, 4 f al s e , ??

Jan Sommerville, Software Engineering

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

21

Exemple des test base sur le flot de contrle


Couverture des chemins: 1,2,3,4,5,6,7,8,9,10,14 1,2,3,4,5,14 1,2,3,4,5,6,7,11,12,5, 1,2,3,4,6,7,2,11,13,5,

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

22

Plan
Terminologie Types des testes Conception des tests Discussion sur les types des tests ncessaire dans diffrents modles de dveloppement

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

23

Ltape de test dans le modle en cascade


Il ny a pas (ou peu) de retours en arrire

Analyse Conception Implmentation Test

Dsavantage: On ne peut pas traiter les problmes dcouverts en phase de validation

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

24

Ltape de test dans le modle spirale cercle


Chaque boucle - une phase du dveloppement
La boucle la plus interne traite des premires phases (faisabilit). La plus externe traite de la livraison
Test
start Forme intermdiaire 2

Analyse
Forme intermdiaire 1

Implmentation

Conception

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

25

Ltape de test dans le cycle de vie en V


Effort des tests
30-40 %

Application
industrialisation prototype mise en fabrication produit

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

26

Ltape de test dans le modle incrmental


Chaque incrment est test comme un produit final Avantage: les parties importantes - fournies en premier et donc testes plus longuement
dveloppement dun incrment

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

27

Ltape de test dans le cycle de vie avec prototypage


Permet d valuer des risques et de tester une solution Prototype volutif Prototype exploratoire
Dfinition des objectifs Dfinition des fonctionnalits Dveloppement du prototype valuation du prototype

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

28

Ltape de test dans le modle Boehm (en spirale)


Offre un cadre o chaque boucle doit tre instancie Planification des tests
Analyse des risques

Srie de prototypes Plan du cycle de vie Plan du dveloppement Plan des tests et de lintgration Concept Besoins Conception Validation Validation et vrification Codification Tests unitaires Intgration Conception dtaille

Acceptation
UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

29

Sources bibliographiques
J. Sommervile, Software Engineering, 8th Edition, Addison-Wesley, 2006 transparents des cours de Lydie du Bousquet et Philippe Lalanda, UJF, Grenoble, France Wikipedia

UPB Facultatea Automatica si Calculatoare Genie Logiciel - Anca Ionita

30