L'ISTQB (International Software Testing Qualifications Board) propose des certifications pour
les professionnels du test logiciel. Une des premières notions abordées dans la formation
ISTQB Foundation est **"Qu'est-ce que le test ?"**. Voici un résumé des concepts clés et des
types de questions possibles sur ce sujet, accompagnés de leurs réponses :
---
### **Définition de base du test selon l'ISTQB**
Le **test logiciel** est une activité qui consiste à :
- Évaluer un produit logiciel pour déterminer s'il répond aux exigences spécifiées.
- Identifier les défauts pour les corriger avant la mise en production.
Le test a pour but d'améliorer la qualité globale du produit tout en réduisant les risques.
---
### **Objectifs du test**
Les objectifs principaux du test logiciel incluent :
1. **Identifier les défauts** dans le logiciel.
2. **Assurer la qualité** : vérifier que le produit respecte les exigences définies (fonctionnelles
et non fonctionnelles).
3. **Réduire les risques** : minimiser les risques de défaillance en production.
4. **Vérification et validation** :
- *Vérification* : "Est-ce que nous construisons le produit correctement ?" (Conformité avec
les spécifications).
- *Validation* : "Est-ce que nous construisons le bon produit ?" (Réponse aux besoins réels).
5. **Améliorer la satisfaction utilisateur** : garantir que le produit est utilisable, fiable et
performant.
---
### **Types de questions ISTQB possibles :**
1. **Définition de base :**
**Question :** Lequel des énoncés suivants décrit le mieux ce qu'est un test logiciel ?
- a) Tester un logiciel signifie trouver tous les défauts.
- b) Tester un logiciel signifie vérifier qu'il répond aux exigences spécifiées et identifier les
défauts.
- c) Tester un logiciel signifie valider qu'il répond aux besoins des utilisateurs finaux.
- d) Tester un logiciel consiste à exécuter tous les cas de test possibles.
**Réponse :** b) Tester un logiciel signifie vérifier qu'il répond aux exigences spécifiées et
identifier les défauts.
2. **Objectifs du test :**
**Question :** Lequel des objectifs suivants n'est **pas** un objectif du test logiciel ?
- a) Identifier les défauts.
- b) Garantir qu'aucun défaut n'existe dans le logiciel.
- c) Fournir de l'information sur la qualité du logiciel.
- d) Vérifier que le logiciel respecte les exigences.
**Réponse :** b) Garantir qu'aucun défaut n'existe dans le logiciel.
*Explication : Il est impossible de garantir l'absence totale de défauts.*
3. **Vérification et validation :**
**Question :** Quelle est la différence entre la vérification et la validation ?
- a) La vérification se concentre sur "construire correctement le produit", tandis que la
validation se concentre sur "construire le bon produit".
- b) La vérification implique des tests dynamiques, tandis que la validation implique des tests
statiques.
- c) La vérification concerne les tests unitaires, tandis que la validation concerne les tests
d'intégration.
- d) La vérification et la validation sont identiques.
**Réponse :** a) La vérification se concentre sur "construire correctement le produit", tandis
que la validation se concentre sur "construire le bon produit".
4. **Pourquoi tester ?**
**Question :** Quelle est l'une des raisons principales de tester un logiciel ?
- a) Réduire les coûts de développement.
- b) Améliorer la qualité du logiciel en trouvant et corrigeant les défauts.
- c) Prouver qu'il n'y a aucun défaut dans le logiciel.
- d) Assurer que le logiciel est parfaitement performant.
**Réponse :** b) Améliorer la qualité du logiciel en trouvant et corrigeant les défauts.
5. **Test et qualité :**
**Question :** Le test logiciel peut-il garantir la qualité d’un logiciel ?
- a) Oui, car il détecte tous les défauts.
- b) Non, car le test ne peut jamais prouver l'absence totale de défauts.
- c) Oui, mais uniquement pour les petites applications.
- d) Non, car le test ne couvre pas les exigences non fonctionnelles.
**Réponse :** b) Non, car le test ne peut jamais prouver l'absence totale de défauts.
---
### **Points essentiels à retenir pour l'ISTQB :**
- Le test est une activité orientée **détection**, pas une garantie d'absence de défaut.
- Les objectifs incluent la **réduction des risques**, la **vérification des exigences**, et
l'**amélioration de la satisfaction utilisateur**.
- Le test est un **processus systématique** qui utilise différentes approches : tests statiques et
dynamiques, tests fonctionnels et non fonctionnels, etc.
Préparer ces notions de base est essentiel pour réussir l'examen ISTQB Foundation.
Voici une liste de **questions ISTQB possibles** concernant les tests **statiques** et
**dynamiques**, avec leurs réponses et explications :
---
### **1. Différence entre tests statiques et dynamiques :**
**Question :** Quelle est la principale différence entre les tests statiques et dynamiques ?
- a) Les tests statiques vérifient le logiciel en l'exécutant, tandis que les tests dynamiques
vérifient le logiciel sans l'exécuter.
- b) Les tests statiques vérifient le logiciel sans l'exécuter, tandis que les tests dynamiques
vérifient le logiciel en l'exécutant.
- c) Les tests statiques concernent uniquement les documents, tandis que les tests dynamiques
concernent uniquement le code source.
- d) Les tests statiques et dynamiques sont identiques en termes de processus.
**Réponse :**
b) Les tests statiques vérifient le logiciel sans l'exécuter, tandis que les tests dynamiques
vérifient le logiciel en l'exécutant.
**Explication :**
Les tests statiques incluent des techniques comme la revue de code ou l’analyse statique,
tandis que les tests dynamiques impliquent l'exécution du logiciel pour identifier des défauts liés
au comportement.
---
### **2. Exemple de tests statiques :**
**Question :** Parmi les éléments suivants, lequel est un exemple de test statique ?
- a) Exécution d’un script de test.
- b) Analyse de code à l’aide d’un outil automatisé.
- c) Exécution d’un cas de test manuel.
- d) Simulation d’un scénario d'utilisateur.
**Réponse :**
b) Analyse de code à l’aide d’un outil automatisé.
**Explication :**
Les tests statiques incluent des activités comme la revue de code, l'inspection de documents ou
l’analyse automatisée (détection des erreurs de syntaxe,
Voici une série de questions issues de tests blancs ISTQB portant sur **"Pourquoi est-il
nécessaire de tester ?"** :
---
### **1. Quel est le principal besoin des tests logiciels ?**
a. Garantir que le logiciel est totalement exempt de défauts
b. Identifier les défauts pour réduire les risques liés au produit
c. Valider que le logiciel fonctionne exactement comme le développeur l'a conçu
d. Remplacer la documentation des exigences
**Réponse :** b
---
### **2. Parmi les propositions suivantes, laquelle décrit le mieux pourquoi les tests sont
nécessaires ?**
a. Les tests aident à prouver que le logiciel fonctionne parfaitement
b. Les tests montrent que le système fonctionne dans toutes les conditions possibles
c. Les tests réduisent la probabilité que des défauts soient livrés au client
d. Les tests garantissent que tous les défauts seront corrigés avant livraison
**Réponse :** c
---
### **3. Pourquoi les défauts surviennent-ils dans les logiciels ?**
a. Parce que le logiciel est testé de manière incorrecte
b. Parce que le développement et les tests sont réalisés par la même équipe
c. À cause d’erreurs humaines lors de la spécification, du design ou du codage
d. Parce que les utilisateurs demandent des fonctionnalités complexes
**Réponse :** c
---
### **4. Quels risques peut-on réduire grâce aux tests logiciels ?**
a. Le risque que le produit ne réponde pas aux attentes des parties prenantes
b. Le risque que l’équipe ne respecte pas les délais de livraison
c. Le risque que le coût du projet dépasse le budget
d. Le risque d’une mauvaise estimation de la charge de travail
**Réponse :** a
---
### **5. Les tests contribuent à la qualité du logiciel en :**
a. Éliminant tous les défauts avant livraison
b. Fournissant des informations sur les défauts détectés et leur impact potentiel
c. Remplaçant la validation par les utilisateurs finaux
d. Vérifiant uniquement les fonctionnalités principales du logiciel
**Réponse :** b
---
### **6. Pourquoi est-il impossible de tester complètement un logiciel ?**
a. Les logiciels modernes sont exempts de défauts majeurs
b. Les tests coûtent trop cher à réaliser complètement
c. Il y a trop de combinaisons d’entrées, de sorties et de conditions
d. Les clients n’ont pas besoin de garanties complètes
**Réponse :** c
---
### **7. Pourquoi est-il important de commencer les tests le plus tôt possible ?**
a. Pour identifier les défauts plus rapidement et réduire le coût de leur correction
b. Pour minimiser le nombre de cas de test à exécuter
c. Pour permettre aux développeurs de prendre des vacances après les tests
d. Pour garantir que le logiciel sera livré en avance
**Réponse :** a
---
### **8. Quels sont les risques d’un logiciel non testé ou insuffisamment testé ?**
a. Augmentation du coût de maintenance à long terme
b. Perte de la confiance des clients
c. Livraisons avec des défauts critiques
d. Toutes les réponses ci-dessus
**Réponse :** d
---
Ces questions permettent de bien comprendre les raisons fondamentales pour lesquelles les
tests sont une étape critique du processus de développement logiciel. Si vous avez besoin
d'autres questions ou d'explications détaillées, dites-le-moi !
_________________________________________________________________________
_________________________________________________________________________
Voici des questions types ISTQB portant sur les concepts d'**erreur**, **défaut**, **défaillance**
et **cause racine** :
---
### **1. Quelle est la différence entre une erreur, un défaut et une défaillance ?**
a. Une erreur se produit pendant l’exécution du logiciel, un défaut est une erreur humaine, une
défaillance est un défaut non détecté.
b. Une erreur est une action humaine incorrecte, un défaut est une imperfection dans le logiciel,
et une défaillance est une manifestation d'un défaut en cours d'exécution.
c. Une erreur est une défaillance détectée dans le code source, un défaut est une cause racine
et une défaillance est un effet visible pour l’utilisateur.
d. Une erreur et un défaut sont identiques, une défaillance est leur conséquence.
**Réponse :** b
---
### **2. Lors de l'exécution d'un logiciel, l'utilisateur observe un résultat inattendu. Cela
correspond à :**
a. Une erreur
b. Un défaut
c. Une défaillance
d. Une cause racine
**Réponse :** c
---
### **3. Quelle est l'origine d'une défaillance ?**
a. Une erreur humaine
b. Une mauvaise exécution des tests
c. Une mauvaise configuration du système
d. Un problème dans le matériel
**Réponse :** a
---
### **4. Quelle définition correspond le mieux à un défaut (ou bug) ?**
a. Une divergence entre les résultats attendus et les résultats obtenus lors de l'exécution d'un
logiciel
b. Une erreur humaine qui conduit à un comportement inattendu du logiciel
c. Une imperfection ou une non-conformité dans un composant ou un système
d. Une cause racine identifiée à l’issue d’une analyse approfondie
**Réponse :** c
---
### **5. Un testeur exécute un test et constate une défaillance. Quelle action doit être réalisée
ensuite ?**
a. Corriger immédiatement la défaillance
b. Identifier et documenter le défaut à l’origine de la défaillance
c. Modifier le test pour éviter que la défaillance ne se reproduise
d. Arrêter les tests jusqu’à ce que la défaillance soit corrigée
**Réponse :** b
---
### **6. Qu'est-ce qu'une cause racine ?**
a. Une erreur de conception dans le logiciel
b. La première erreur humaine ayant conduit à un défaut
c. La cause fondamentale d’un défaut ou d’une défaillance
d. Une défaillance critique qui empêche l'exécution du système
**Réponse :** c
---
### **7. Une erreur humaine pendant la phase de développement conduit à :**
a. Une défaillance observée par l’utilisateur
b. Une défaillance immédiatement détectée par le développeur
c. Un défaut dans le logiciel
d. Une cause racine complexe
**Réponse :** c
---
### **8. Lors de l'analyse d'un défaut, l'équipe identifie un problème mal compris dans les
spécifications. Cela représente :**
a. Une défaillance
b. Une erreur
c. Une cause racine
d. Un test mal conçu
**Réponse :** c
---
### **9. Pourquoi est-il important d'identifier la cause racine des défauts ?**
a. Pour garantir que tous les tests ont été exécutés
b. Pour éviter la répétition des mêmes erreurs dans le futur
c. Pour minimiser le coût de correction des défaillances observées
d. Pour documenter les erreurs des développeurs
**Réponse :** b
____________________________________________________________________________
___________________________________________________________
Voici des questions types ISTQB portant sur les **7 principes fondamentaux des tests** :
---
### **1. Quel est l'objectif principal des tests selon le principe "Les tests montrent la présence
de défauts" ?**
a. Confirmer que le logiciel fonctionne sans défauts
b. Démontrer que toutes les fonctionnalités sont conformes aux exigences
c. Réduire la probabilité de défauts restants dans le logiciel
d. Identifier tous les défauts dans le logiciel
**Réponse :** c
---
### **2. Selon le principe "Les tests exhaustifs sont impossibles", que doit faire un testeur pour
optimiser les tests ?**
a. Tester toutes les combinaisons possibles d’entrées et de sorties
b. Prioriser les tests en fonction des risques et des priorités
c. Tester uniquement les fonctionnalités principales du système
d. Remplacer les tests manuels par des tests automatisés
**Réponse :** b
---
### **3. Lequel des principes suivants illustre que "La détection de défauts suit souvent une
distribution regroupée" ?**
a. Les défauts sont répartis uniformément dans le logiciel
b. La plupart des défauts se trouvent dans un nombre limité de modules
c. Les tests effectués en production ne détectent jamais de nouveaux défauts
d. Les défauts apparaissent principalement après les tests de performance
**Réponse :** b
---
### **4. Quel est l'objectif du principe "La psychologie des tests dépend du contexte" ?**
a. Adapter les tests en fonction de l'expérience des testeurs
b. Modifier la stratégie de test en fonction du type de logiciel testé
c. Utiliser la même stratégie de test quel que soit le projet
d. Effectuer des tests uniquement sur des logiciels critiques
**Réponse :** b
---
### **5. Le principe "L'absence de défauts ne prouve pas la fiabilité" signifie que :**
a. Un logiciel sans défauts est forcément adapté aux besoins de l'utilisateur
b. La correction de tous les défauts garantit que le système est utilisable
c. Même sans défauts, un logiciel peut échouer à répondre aux attentes
d. Les tests permettent d'éliminer tous les risques liés au logiciel
**Réponse :** c
---
### **6. Pourquoi est-il important de respecter le principe "Le test précoce économise du temps
et de l'argent" ?**
a. Les tests précoces réduisent les efforts nécessaires pour détecter les défauts
b. Les défauts découverts tôt dans le cycle de vie coûtent moins cher à corriger
c. Les tests exécutés à la fin du projet sont inefficaces
d. Les tests précoces garantissent l’absence de défaillances en production
**Réponse :** b
---
### **7. Selon le principe "Les tests dépendent du contexte", comment devraient être planifiés
les tests pour un site web e-commerce ?**
a. En se concentrant uniquement sur la performance
b. En appliquant la même approche que pour un système critique de sécurité
c. En mettant l'accent sur l'expérience utilisateur, la sécurité et la performance
d. En priorisant les tests de conformité légale uniquement
____________________________________________________________________________
_______
Voici un aperçu des questions possibles pour le chapitre **2.1 – Tester dans le contexte d’un
cycle de vie du développement logiciel**, basé sur les sous-sections mentionnées dans
l'image :
---
### 1. **Impact du cycle de vie du développement logiciel sur le test (2.1.1)**
- **Question :** *Quel est l'impact du cycle de vie du développement logiciel sur les activités
de test ?*
- **Réponse attendue :** Les activités de test varient selon les modèles de développement
(Waterfall, Agile, DevOps), en termes de moment où les tests interviennent, des livrables et des
approches.
---
### 2. **Cycle de vie du développement logiciel et bonnes pratiques de test (2.1.2)**
- **Question :** *Quelles sont les bonnes pratiques de test associées aux différentes phases
du cycle de vie du développement logiciel ?*
- **Réponse attendue :** Les bonnes pratiques incluent la revue précoce, les tests continus
dans les modèles itératifs et l'automatisation dans DevOps.
---
### 3. **Le test en tant que moteur du développement de logiciels (2.1.3)**
- **Question :** *Comment le test peut-il servir de moteur dans le développement de
logiciels ?*
- **Réponse attendue :** Le test guide le développement via des approches comme le **Test-
Driven Development (TDD)** où les tests sont créés avant le code.
---
### 4. **DevOps et tests (2.1.4)**
- **Question :** *Quel est le rôle des tests dans un environnement DevOps ?*
- **Réponse attendue :** Les tests sont intégrés en continu dans le pipeline CI/CD, permettant
des déploiements rapides et fiables.
---
### 5. **Approche shift left (2.1.5)**
- **Question :** *Expliquez l’approche “Shift Left” en test logiciel.*
- **Réponse attendue :** L’approche **Shift Left** consiste à intégrer les tests plus tôt dans le
cycle de vie du développement afin de détecter les défauts rapidement.
---
### 6. **Rétrospectives et amélioration de processus (2.1.6)**
- **Question :** *Quel est le rôle des rétrospectives dans l’amélioration continue des
processus de test ?*
- **Réponse attendue :** Les rétrospectives identifient les points d'amélioration après chaque
phase ou sprint, afin d'optimiser les tests et les processus.
---
En préparant ces réponses, vous serez prêt pour des questions théoriques et pratiques sur ce
chapitre dans l’examen ISTQB. Si vous avez besoin d'exemples détaillés ou
d'approfondissements sur une section, faites-le moi savoir.
_________________________
Je comprends que vous souhaitez des exemples de questions de type **tests blancs** (ou
examens simulés) pour le chapitre **2.1 – Tester dans le contexte d’un cycle de vie du
développement logiciel**, basé sur le programme ISTQB. Voici des exemples de questions que
vous pourriez rencontrer dans un test blanc :
---
### 1. **Quel est l'impact du cycle de vie du développement logiciel sur les tests ?**
- A) Les tests sont effectués uniquement après le développement dans les modèles agiles.
- B) Les tests ne sont pas affectés par les modèles de développement du logiciel.
- C) Les tests doivent être planifiés et exécutés en fonction des phases du cycle de vie du
développement, que ce soit dans un modèle en cascade, agile ou DevOps.
- D) Les tests sont effectués uniquement dans les premières phases du cycle de vie.
**Réponse correcte :** C) Les tests doivent être planifiés et exécutés en fonction des phases
du cycle de vie du développement, que ce soit dans un modèle en cascade, agile ou DevOps.
---
### 2. **Dans un cycle de vie en cascade, quand les tests sont-ils généralement effectués ?**
- A) Les tests sont effectués au début du projet.
- B) Les tests sont effectués uniquement à la fin du projet.
- C) Les tests sont effectués tout au long du projet, avec un début et une fin fixes.
- D) Les tests sont effectués après chaque itération.
**Réponse correcte :** B) Les tests sont effectués uniquement à la fin du projet.
---
### 3. **Qu'est-ce que l'approche "Shift Left" dans le développement logiciel ?**
- A) Effectuer les tests uniquement à la fin du cycle de développement.
- B) Intégrer les tests dès le début du cycle de développement pour détecter les défauts tôt.
- C) Effectuer des tests uniquement pendant l'acceptation par l'utilisateur.
- D) Déléguer les tests à la phase finale de la livraison du produit.
**Réponse correcte :** B) Intégrer les tests dès le début du cycle de développement pour
détecter les défauts tôt.
---
### 4. **Dans un environnement DevOps, quel est le rôle des tests ?**
- A) Les tests sont effectués uniquement après le déploiement.
- B) Les tests sont effectués manuellement à la fin du processus de développement.
- C) Les tests sont automatisés et intégrés dans un pipeline CI/CD, avec une exécution
continue pour garantir la qualité.
- D) Les tests ne sont pas nécessaires dans un environnement DevOps.
**Réponse correcte :** C) Les tests sont automatisés et intégrés dans un pipeline CI/CD, avec
une exécution continue pour garantir la qualité.
---
### 5. **Quel est le but principal de l'intégration des tests dans le cadre du Test-Driven
Development (TDD) ?**
- A) Tester uniquement le code après sa fin.
- B) Utiliser les tests pour guider la conception du code en développant d'abord les tests avant
le code.
- C) Tester uniquement l'interface utilisateur.
- D) Tester tous les composants manuellement.
**Réponse correcte :** B) Utiliser les tests pour guider la conception du code en développant
d'abord les tests avant le code.
---
### 6. **Les rétrospectives dans un projet agile ont pour but de :**
- A) Identifier les erreurs dans le code uniquement.
- B) Discuter des améliorations possibles dans le processus de développement et de test.
- C) Effectuer une révision formelle de la documentation du test.
- D) Accepter les livrables sans discussion.
**Réponse correcte :** B) Discuter des améliorations possibles dans le processus de
développement et de test.
---
Ces questions sont représentatives de ce que vous pourriez voir dans un test blanc ISTQB.
Elles abordent différentes méthodologies de développement et leurs effets sur le processus de
test, ce qui est essentiel pour comprendre comment tester efficacement tout au long du cycle de
vie du développement logiciel.