ISTQBRY
ISTQBRY
ISTQBRY
Erreur/Défaut/Défaillance
Un être humain peut faire une erreur (= méprise), qui produit un défaut (= bug) dans le code, dans un
logiciel ou un système, ou dans un document.
Si un défaut dans du code est exécuté, le système n’effectuera pas ce qu’il aurait dû faire (ou fera ce
qu’il n’aurait pas dû faire), générant une défaillance.
Vérification / Validation
Vérification :
Confirmation par l’examen et la fourniture de preuves objectives que des exigences spécifiées ont été
remplies [ISO 9000].
➔ On contrôle par rapport à des spécifications
➔ Objet de la vérification : confirmation qu’on a bien construit le système (sous-entendu par rapport
aux spécifications
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]
➔ On contrôle par rapport à l’usage qui sera fait de l’application
➔ Objet de la validation : confirmation qu’on a construit le bon système
Définition de la Qualité
Qualité Degré par lequel un composant, système ou processus atteint des
exigences spécifiées et/ou des besoins ou attentes des clients ou
utilisateurs
➔ Ensemble de critères à atteindre
Assurance qualité Partie de la gestion de la qualité qui fournit l’assurance que les
exigences qualité seront atteintes [ISO 9000]
➔ contrôles, tests
Page 1/4
Les 6 caractéristiques qualités
Norme ISO 9126
CFURMP :
Cyril FUMERY – Réunion
des Musées Parisiens
Test ad-hoc :
Test effectué de manière informelle
Déboguer
Activité de développement : analyser et supprimer les causes de la défaillance
Page 2/4
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).
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.
Registre de test : un enregistrement chronologique des détails pertinents sur l’exécution des
tests➔ « test lab » on recense les scénarios avec le statut d’exécution et la date
Suite de tests : un ensemble de plusieurs cas de tests pour un composant ou système sous test,
où les post-conditions d’un test sont souvent utilisées comme pré-conditions du test suivant.
Testware : Artefact produit pendant le processus de test afin de planifier, concevoir et exécuter
les tests, tel que la documentation, les scripts, les entrées, les résultats attendus, les procédures
de mise en place et de nettoyage, les fichiers, bases de données, environnements et tout logiciel
ou utilitaires supplémentaire utilisé dans les tests➔ Tous les documents produits (tests,
reporting...)
Base de tests : 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 : spécifications,
exigence, …
Article de test : l’élément individuel devant être testé. Il y a généralement un objet de tests et
plusieurs articles de test.
Objet de tests : Le composant ou système qui doit être testé. L’application ou le batch à tester.
Critères de sortie : l’objectif des critères de sortie est de définir quand arrêter les tests
➔ on arrête de tester quand le risque résiduel est maîtrisé (risque résiduel=anomalies non
corrigées et ce qui n’a pas été testé).
Il sont définis dans le plan de test
Remarques
• Planification des tests : organisation, plan de test
• Contrôle des tests : suivi de l’avancement, décision et action corrective, reporting
• Evaluation des critères de sorties :
- s’ils sont atteint élaboration du rapport de synthèse (compte-rendu de test)
Page 3/4
- s’ils ne sont pas atteint exécution de test complémentaire
• Clôture des tests : retour d’expérience et archivage du testware
Remarque importante :
Le rapport de synthèse (compte-rendu de test) est rédigé à la fin de l‘activité :
- Evaluation des critères de sorties
Et NON dans l’activité : Clôture des tests
Page 4/4
ISTQB-Résumé
Résumé
Les modèles de développement logiciels
Modèle en V
Modèle de développement itératif
Tester au sein d’un modèle de cycle de vie
Niveaux de tests
Tests de composants
Tests d’intégration
Tests système
Tests d’acceptation
Types de tests
Tests des fonctions
Tests des caractéristiques des produits logiciels (Non fonctionnelle)
Tests de la structure / architecture logicielle
Tests liés au changement
Tests de maintenance
3 notions structurantes :
- Niveaux de test
- Types de test
- Test de maintenance
En préalable
COTS
Commercial Off-the-shelf Software: Logiciel acheté tout fait et qui peut être intégrée à une solution
logicielle maison. Mnémotechnique : commercial chef software
Page 5/4
Modèles itératif
Exemple du RUP Autres exemples
- Prototypage
- Rapid Application Development (RAD)
- Modèles Agiles (Scrum, XP)
Bonnes pratiques
• Chaque niveau de test a des objectifs de tests spécifiques pour ce niveau
• A chaque activité de développement, correspond une activité de test
• L’analyse et la conception des tests pour un niveau de test devraient commencer pendant
l’activité correspondante de développement
• Les testeurs doivent être impliqués dans la revue des documents aussitôt que des brouillons
sont disponibles dans le cycle de développement
Niveaux de tests
Résumé
Approche
Les 3 premiers niveaux de test correspondent à la granularité des tests :
• Test des composants : programme par programme
• Test d’intégration : faire fonctionner les programmes de l’application ensemble
• Test systèmes : faire fonctionner l’application avec les autres applications
• Test d’acceptation : recette du client
Test de composant
Page 2/5
Test en isolation : Test des composants individuels indépendamment des autres composants,
ces derniers étant simulés par des bouchons ou pilotes si besoin.
Bouchon :
Pilote /
Conducteur :
Simulateur : Un appareil, programme ou système utilisé pendant les tests, qui se comporte ou
fonctionne comme un système donné à la réception d’entrées contrôlées
Tests d’intégration
Plus la portée de l’intégration est vaste, plus il devient difficile d’isoler les défauts liés à un
composant ou un système particulier.
Stratégie d’intégration :
Page 3/5
Tests système
Test de bout en bout
Environnement de test : proche de la production
Testeurs : en général, une équipe dédiée
Tests d’acceptation
4 sous-niveaux de tests :
- Tests d’acceptation utilisateur ➔ UAT
- Tests d’acceptation opérationnelle ➔ acceptation du système par les exploitants
- Tests d’acceptation contractuelle et réglementaire
- Tests alpha et beta
Types de tests
Un type de tests est focalisé sur un objectif de tests particulier.
Page 4/5
Tests des fonctions
Les fonctions sont ce que « fait » le système.
Test de la capacité fonctionnelle. Le « C » du CFURMP
Test de la structure
Boite blanche. Test optimal avec des techniques de couverture de test
Test de régression
Les tests de régression sont exécutés lors d’une modification
• du logiciel
• de son environnement
Les tests de régression sont de bons candidats à l’automatisation.
Test de maintenance
Tests maintenances
Une fois déployé, un système logiciel est souvent en service pendant des années, voire des dizaines
d’années. Pendant ce temps, le système, son paramétrage et son environnement sont fréquemment
corrigés, modifiés ou étendus.
Analyse d’impacts
Déterminer comment un système existant est affecté par les changements est appelé analyse d’impacts,
et est utilisé pour décider de la quantité de tests de régression devant être exécutés.
L'analyse d'impacts peut être utilisée pour déterminer les suites de tests de régression.
Types de maintenance
- Maintenance à chaud
- Maintenance planifiée
Coût de la maintenance
Environ 75 % du coût total
Page 5/5
ISTQB-Résumé
Les revues
Les bénéfices des revues :
• une détection et une correction anticipées des défauts
• des améliorations de productivité dans le développement
• des durées de développement réduites
• des durées et des coûts de tests réduits
• des réductions de coûts tout au long de l’existence du logiciel
• moins de défauts (prévient la multiplication des anomalies)
• une meilleure communication
• la détection des omissions
Par exemple, dans des exigences, dont la détection pendant les tests dynamiques est peu probable.
Les 5 rôles
Page 1/3
Les 4 types de revue
Revue des pairs = Les relectures techniques, les revues techniques et les inspections
Les testeurs sont des réviseurs de valeur qui contribuent à la revue et ainsi prennent connaissance du
produit afin de pouvoir préparer les tests plus tôt
Une forme d’analyse statique basée sur la définition et l’usage des variables.
Une forme d’analyse statique basée sur une représentation de séquences d’évènements
(chemins) dans l’exécution d’un composant ou système
Complexité cyclomatique
Page 2/3
L = le nombre d'arêtes du graphe
N = le nombre de nœuds du graphe
P = le nombre de composantes connexes du graphe
Complexité lexicale
Indique la complexité du programme en termes de vocabulaire :
- nombre d’opérandes, nombre d’opérateurs
Compilateur :
Un outil logiciel qui traduit un programme exprimé dans un langage de haut niveau dans son équivalent
en langage machine.
Le compilateur effectue aussi des contrôles, par exemple de syntaxes
Page 3/3
ISTQB-Résumé
Introduction
- Spécification de conception de tests : liste des conditions de test
- Spécification de cas de test : objectifs, entrées, actions de tests, résultats attendus et préconditions
d‘exécution
- Procédure de test / Spécification de procédure de test : = script de tests = scénario de test
- Oracle de tests : toutes sources permettant de définir le résultat attendu (expert, exigence, …)
- Résultat attendu : idéalement défini préalablement à l’exécution. Sinon la validation du test repose
sur le testeur
Page 4/3
Transition d’état
Tester les états < tester les transitions < tester les chemins
Test de Chow
• 1-aiguillage couvre toutes les paires de transitions possibles
• 2-aiguillage couvre tous les triplets de transitions possibles
Tables de décisions
Selon ISTQB : Tester une table de décision = tester au moins une fois chaque colonne
Cependant, l’approche peut être complexifiée si système critique
Instruction
Décision
Branche
(=Arc)
Page 2/4
Schéma à avoir en-tête
Tester les décisions, c’est tester au moins une fois chaque sortie
Définitions 2
Couverture de test (%) = Ce que j’ai testé/ Sur ce que je dois tester)
Peuvent être fait aussi en complément d’autres techniques de conception des tests. Objectif : on a rien
louper ?
Estimation d’erreur
Basée sur l’expérience du testeur « je sens qu’ici il va y avoir des anomalies »
Page 3/4
Attaque par faute
Par exemple, le testeur va se focaliser sur la justesse des calculs, peut être sur les règles d’arrondi.
Page 4/4
ISTQB-Résumé
Plan : organiser/planifier
Do : faire comme l’organiser
Check : suivre l’avancement
Act : prendre des mesures correctives
Page 1/4
- Périmètre des tests - Ressources matérielles
- Caractéristiques à tester - Responsabilité
- Caractéristiques non prises en compte - Ressources humaines
- Approche de test - Planning
- Critères d’entrée et de sortie - Risques et contingences
- Critères de suspension et de reprise - Approbation
Critères de sortie
- Les risques résiduels
- L’estimation de la densité des anomalies ou des mesures de fiabilité.
- Le coût
- Un calendrier
- Des mesures d’exhaustivité
Deux méthodes
- Top down : on une enveloppe globale. on la ventile sur les tâches grâce à des coefficients de
répartition
- Bottom up : un expert estime chaque tâche. Puis on consolide sur les activités et projet (somme)
Rapport de synthèse
Chapitres
- Identifiant du document - Résumé des résultats
- Résumé - Evaluation des résultats
- Ecarts par rapport aux documents de référence - Résumé des activités
- Evaluation de l’exécution - Approbations
Page 2/4
Gestion de configuration
Objet :
Gérer les relations entre les différentes versions des documents et logiciels d’un projet.
Exemple :
• le cahier de test v1.2 a été élaboré sur la base de dossier d’exigence v1.5 – traçabilité
horizontale
• le cahier de test v1.5 correspond au cahier de test v1.4 avec prise en compte des retours de M.
Dupont – traçabilité verticale
Base de référence (Base line) :
Test et risques
Risque : événement non encore réalisé qui aurait en cas concrétisation des conséquences négatives
2 attributs primordiaux :
• Probabilité
• Impact
Page 3/4
Sévérité : Impact sur le projet (exemple : test bloqué)
Priorité : Impact sur l'utilisation opérationnelle
Page 4/4
ISTQB-Résumé
Définitions préalables
Framework de test
• Bibliothèques réutilisables et extensibles de test qui peuvent être employées pour construire des
outils de test =harnais de tests
• Un type de conception d'automatisation des tests (par exemple, pilotés par les données, piloté
par mots-clés)
Outil intrusif
Outil dont la mise en place nécessite d’ajouter des lignes de code dans le code de l’application à tester
Effet de sonde
Effet d’un outil intrusif qui fausse les résultats.
Exemple : Ajout de ligne dans le code pour mesurer des temps de réponse. L’ajout de ces lignes fausse
qq peu le temps de réponse obtenu.
Page 1/4
- Quality Center/Quick Test Pro
Principes
Inconvénients
• Le script généré comprend uniquement les données exactes d'entrée saisies par le testeur
• Le script peut être instable quand un évènement inattendu intervient
Par exemple : fenêtre de pub
• Les résultats attendus doivent être ajoutés au script enregistré
• En rejouant un script de test généré, le testeur peut avoir à débugger le script s'il ne
fonctionne pas correctement
Par exemple : suite à un renommage du nom des champs d’une IHM par les développeurs
Coûts/Bénéfices
Bénéfices après la 4e ou 5e exécution
Compétence
Le scripting demande une expertise importante.
Le script automatique est joué autant de fois qu’il y a de ligne dans le jeu
Jeu de données d’essai
Script
Comparateur de tests
Souvent utilisé avec un outil d’exécution des tests pour valider les résultats.
Page 2/4
Outils de test de performance/test de charge/test de stress
Peuvent simuler des milliers d’utilisateurs = utilisateurs virtuels
Utilisent normalement un injecteur de charge
- Attentes irréalistes
- Sous-estimation de l'effort pour la mise en œuvre
- Sous-estimation de l'effort pour obtenir des bénéfices significatifs
- Sous-estimation de l'effort requis pour maintenir les acquis
- Confiance excessive dans l'outil
- Problème de versioning des éléments de test
- Problèmes d'interopérabilité entre les outils
- Risque de faillite de l'éditeur d'outil
- Faible réactivité du support
- Risque de suspension d'un logiciel open-source
- Non gestion d'une nouvelle plate-forme
Projet pilote
Objectifs :
- Apprendre l'outil plus en profondeur.
- Evaluation des adaptations du processus de test
- Définition des pratiques standards d’utilisation
- Evaluer précisément le coût/bénéfice
Principes :
- Un sous-ensemble des utilisateurs cible
- Utilisation de manière opérationnelle
Page 3/4
• Implémenter une démarche de REX
• Surveiller l'utilisation de l'outil et les bénéfices recueillis
Page 4/4