Cours Tests Des Logiciels Part 2 Et 3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 25

Plan

1. Fondamentaux des Tests


2. Tester pendant le cycle vie
3. Le processus de Test
4. Les techniques de Tests
5. Gestion des tests
6. Outils de support aux tests

1
1
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Tests?
 « Le test est un processus manuel ou automatique, qui vise à
établir qu’un système vérifie les propriétés exigées par sa
spécification , ou à détecter des différences entre les résultats
engendrés par le système et ceux qui sont attendus par la
spécification » [IEEE 729, 1993]

 Tester est une activité de l’assurance qualité


o Tester c’est mesurer/Evaluer la qualité
o Tester c’est accroitre la confiance en la qualité
o Tester c’est Augmenter la qualité logicielle

1
2
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Pourquoi les tests sont ils nécessaires?

 Applications grand public (Ex. Logiciels des jeux, applications


web)  Mécontentement et risque de perte du client
 Applications bancaires, commerce électronique  Pertes
financières, risques des entreprises
 Logiciels pour automobiles, avionique, médecine  Risque sur
les vies humaines
 Logiciels pour les engins de guerre, les stations nucléaires.. 
Risque sur toute l’humanité
 Exemple de bug célèbre : Explosion de Ariane 5 en 1996

1
3
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Origine des défauts logiciels

 Erreurs humaines
o TimeToMarket de plus en plus serré
o Des systèmes logiciels de plus en plus complexe
o Des technologies de plus en plus innovantes
o Multiples interactions entre les systèmes
o Manque de communication
 Les conditions de l’environnement
o Radiations , Magnétismes , Pollution

1
4
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Question : Les objectifs du test
 Choisir les bonnes réponses parmi ces propositions
 L’objectif du test est de :
o Diagnostiquer les fautes
o Corriger les défauts
o Prouver la correction d’un programme
o Mettre en évidence les défauts d’un logiciel
o Prouver la conformité fonctionnelle
o Donner une indication de la qualité du logicielle (un niveau de
confiance )
o Prévenir des défauts

1
5
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Tester Vs Déboguer
 Déboguer : le processus de trouver, analyser et éliminer les causes
de défaillance dans les logiciels.

Les testeurs : Les Développeurs: Les Testeurs: S’assurer


Révéler des Déboguent et que la correction la
défaillances corrigent les erreurs défaillance

1
6
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test

1
7
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test
 Les tests montrent la présence de défauts
o Les tests peuvent prouver la présence de défauts, mais ne peuvent en
prouver l’absence
o Les tests réduisent la probabilité que les défauts restent cachés dans le
logiciel
 Les tests exhaustifs sont impossibles
o Test exhaustif : Quand toutes les combinaisons de pré conditions et inputs
sont terminées
 Tester tôt
o Plus une erreur est découverte tard dans le cycle de vie plus la correction
est coûteuse.

1
8
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les 7 principes de Test
 Regroupement des défauts
o Décomposition en modules afin d’adapter les efforts de tests en fonction de
la réalité
 Paradoxe du pesticide
o Si les mêmes tests sont répétés de nombreuses fois, un système de tests
évolue
 Les tests dépendent du contexte
o Les tests sont effectués différemment dans des contextes différents. Ex. Les
logiciels de sécurité critique seront testés différemment d’un site de
commerce électronique
 L’illusion de l’absence d’erreurs
o L'exigence de qualité nécessite de comprendre en profondeur le besoin des
utilisateurs finaux: Sans cela, on aboutira à un produit bien fait, qui ne sera
pourtant pas le bon produit.
1
9
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Psychologie du Test
 Testeur Vs Développeur
o La logique du développeur : C’est toujours les autres qui n’ont rien compris
=> Le développement est processus créatif : on cherche à établir des résultats
corrects
o Testeur : chercher des problèmes potentiels
=> Le test est un processus destructif : un bon test est un test qui trouve une
erreur
L’identification de défaillances pendant les tests peut être perçue comme
une critique contre le produit et contre son auteur
Pénaliser la qualité du produit
Il est important de comprendre qu’on a un objectif commun => système de
meilleur qualité

1
R. MZID KEBEILI Test des logiciels 10
Fondamentaux des tests
Psychologie du Test

1
11
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les niveaux de Test
Tests d’acceptation
-> implication des
clients/utilisateur du système
-> valider que le produit atteint le
niveau de confiance requis
Tests d’intégration
-> Intégration incrémentale ou
Intégration en une fois « Big Bang » Tests Système
-> les développeurs testent la -> Le comportement d’un système /
communication des modules par leurs
produit complet
fonctionnalités
-> réalisés par une équipe de test
-> les testeurs peuvent intervenir
indépendante
-> L'environnement de test devrait
correspondre à la cible finale

Tests Unitaires/ des composant


-> se font avec l’accès au code du logiciel testé sur un
environnement de développement
-> implique les développeurs : Les erreurs sont corrigés
dés qu’ils sont trouvés
1
12
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Types de Test
Classification selon les objectifs

Tests fonctionnels
• Le test d’une fonction devant être effectuée par le logiciel
• Basé sur une analyse des spécifications d’une fonctionnalité d’un
composant ou d’un système (ce que le système fait)
• Concerne le comportement externe du système

Tests non-fonctionnels
• Test des attributs d’un composant ou système qui ne sont pas liés
aux fonctionnalités.
• Sert à mesurer les caractéristiques d’un système qui peuvent être
quantifiées sur une échelle variable (Comment le système
fonctionne t il? )
• Test performance (temps de réponse), Tests de fiabilité
1
13
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Types de Test
Classification selon les objectifs

Tests structurels
• Centré sur la structure et l’architecture (comment le système est
conçu?)
• Aide à mesurer l’ampleur des tests via l’évaluation de la couverture
d’un type de structure

Tests liés au changement


• Test de Régression : correction d’une erreur entraine une autre
• Test de confirmation (retest) : test qui confirme la correction réussie
d’un défaut

1
14
R. MZID KEBEILI Test des logiciels
Fondamentaux des tests
Les Types de Test
Classification selon niveau d’accessibilité

Test boite blanche


• tests basés sur une analyse de la structure interne du composant ou
Système
• Tests structurels souvent pour la vérification

Test boite noire


• Tests sans référence aux structures internes du composant ou du
système
• Tests fonctionnels ou non-fonctionnels souvent pour la validation

1
15
R. MZID KEBEILI Test des logiciels
Plan

1. Fondamentaux des Tests


2. Tester pendant le cycle vie
3. Le processus de Test
4. Les techniques de Tests
5. Gestion des tests
6. Outils de support aux tests

1
16
R. MZID KEBEILI Test des logiciels
Tester pendant le cycle de vie
Modèle en V

1
17
R. MZID KEBEILI Test des logiciels
Tester pendant le cycle de vie
Modèle de développement itératif

 Système basé sur les itérations


 Un incrément est réalisé á la fin
de chaque itération
 Chaque itération intègre toutes
les activités: exigences,
conception, construction et
tests unitaires, fonctionnels
d’intégrations et d’acceptation

1
18
R. MZID KEBEILI Test des logiciels
Plan

1. Fondamentaux des Tests


2. Tester pendant le cycle vie
3. Le processus de Test
4. Les techniques de Tests
5. Gestion des tests
6. Outils de support aux tests

1
19
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test

Contrôle des Tests Planification des Tests

Analyse et Conception des Tests

Implémentation et exécution
des tests
Evaluer les critères de sortie et
informer

Activités de clôtures des tests


1
20
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
 Planification des tests
o Définition du plan de test
o Identifier les objectifs (exigences)
o Choisir les techniques de tests
o Allouer des ressources
 Contrôle des tests
o Les activités de test devraient être contrôlées tout au long du projet:
• Analyser les résultats, l’avancement par rapport au plan de test,
Contrôler les tetsware, etc.

Testware (testware): Artefact produit pendant le processus de test afin de planifier,


concevoir et exécuter les tests, tel que la documentation, les scripts, etc.

1
21
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
 Analyse et conception des tests
o Les objectifs de test généraux sont transformés en des conditions de
test : Déterminer ce qui est á tester => les conditions de tests

Condition de test: Une seule exigence peut être traduite en plusieurs conditions de
test et plusieurs exigences peuvent être traduite en une seule condition de test, elle
est indépendante des données, mais des types ou catégories de donnée font souvent
partie de la condition de test (par exemple : Catégories d'âge: adulte, adolescent ,
Données valides, données invalides )
Exemple: Identifier les conditions de tests correspondantes aux exigences suivantes :
 Exigence 1 de haut niveau : L’utilisateur est capable de se logguer au système
 Une sous-exigence 1.1 : Le login n’est pas sensible à la casse

1
22
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
 Analyse et conception des tests
o Spécifier les cas de test
o Créer une traçabilité entre les bases de test et les cas de test
o Créer une table de liaison entre les références des exigences (To do) et les
cas de tests

Un cas de tests (tests case) : Un ensemble de valeurs d’entrée, 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 particulier , la vérification du respect
d’une exigence [IEEE 610]
Base de Test : Tous les documents à partir desquels les exigences d’un composant ou
système peuvent être déduites. La documentation sur laquelle les cas de tests sont
basés.
1
23
R. MZID KEBEILI Test des logiciels
Le processus de Test
Le Processus de Test
 Implémentation et exécution des tests
o Implémentation des procédures de test
o Exécution des tests sur des données de test et produire des registres de
test

Procédure de test : Un document spécifiant la séquence d’actions pour l’exécution


d’un test. Aussi connu sous le terme script de test, script de tests manuel ou étapes
de test [IEEE 829]. C’est la même chose qu’un scénario de test
Donnée de Test : Donnée qui existe avant qu’un test ne soit exécuté, et qui affecte ou
est affectée par le composant ou système en test
Registre de Test : Un enregistrement chronologique des détails pertinents sur
l’exécution des tests [IEEE 829]

1
24
R. MZID KEBEILI Test des logiciels
Le processus de Test
Les activités de Test
 Evaluer les critères de sortie et informer
o L'exécution des tests est évaluée en fonction des objectifs définis :
Vérifier les registres de tests en fonction des critères de sortie spécifiés
dans la planification des tests
o Ecrire un rapport de synthèse des tests pour les parties prenantes
 Activités de clôtures des tests
o Rassembler les données des activités de tests terminées de façon à
consolider l'expérience, les testwares, les faits et les valeurs
o Vérifier les livrables prévus, clôturer les rapports d’incidents et la
documentation d’acceptation
o Finaliser et archiver les testwares, l’environnement et les
infrastructures de test

1
25
R. MZID KEBEILI Test des logiciels

Vous aimerez peut-être aussi