Les types de test logiciel : la carte pour s’y retrouver
Niveaux, types, boîte noire, régression : la carte claire du vocabulaire ISTQB pour savoir quel test répond à quelle question sur votre application.
Sommaire
« Vous avez testé ? » Le développeur répond oui : ses tests unitaires passent. La cheffe de projet comprend que l’application est prête. Le client, lui, entend « il n’y a plus de bugs ». Trois personnes, trois sens du même mot, et une mise en ligne qui tourne mal.
Le test logiciel a un vocabulaire précis, mais il ressemble vite à une jungle : test unitaire, test système, recette, régression, boîte noire, performance… Ces mots ne sont pas interchangeables. Chacun répond à une question différente sur votre application.
Cet article est une carte. Il suit les repères du syllabus Fondation de l’ISTQB, l’organisme international qui certifie les testeurs, et les traduit en exemples concrets. À la fin, vous saurez nommer le bon test pour chaque question, et repérer celui qui manque à votre projet.
Pourquoi distinguer les niveaux et les types de test ?
Tout test se situe sur deux axes. Le premier dit à quelle échelle on teste : une fonction isolée, un assemblage de modules, l’application entière, ou son adoption par les vrais utilisateurs. C’est le niveau de test. Le second dit ce que l’on regarde : le résultat est-il juste ? Rapide ? Sûr ? Agréable ? C’est le type de test.
Définition
Niveau de test : un groupe d’activités de test organisées et pilotées ensemble, à une étape donnée du développement, du composant isolé jusqu’au système complet.
Type de test : un groupe d’activités de test centré sur une caractéristique de qualité précise. La plupart des types peuvent s’appliquer à tous les niveaux.
Pensez à une maison en construction. On contrôle les briques, puis les murs, puis la maison entière, et enfin la famille la visite avant de signer : ce sont les niveaux. L’électricité, la plomberie et l’isolation sont les types, et elles se vérifient à chaque étape, pas seulement à la fin.
Quels sont les cinq niveaux de test ?
Le syllabus Fondation de l’ISTQB (version 4.0) décrit cinq niveaux. Le tableau ci-dessous les illustre avec une application de mobile money.
| Niveau | Ce qu’on teste | Qui s’en charge le plus souvent | Exemple |
|---|---|---|---|
| Test de composants (ou test unitaire) | Une fonction ou un module isolé | Les développeurs | La fonction qui calcule les frais d’un transfert de 25 000 FCFA renvoie le bon montant |
| Test d’intégration de composants | Les échanges entre modules de l’application | Les développeurs | Le module de transfert transmet bien le montant au module d’historique |
| Test système | L’application entière, de bout en bout | Les testeurs, parfois une équipe indépendante | Un client envoie de l’argent, reçoit sa confirmation et voit son solde mis à jour |
| Test d’intégration système | Les échanges avec les systèmes extérieurs | Testeurs et équipe technique | L’application dialogue correctement avec l’opérateur, la passerelle SMS et la banque partenaire |
| Test d’acceptation | L’aptitude à être déployée et à servir le métier | Idéalement, les futurs utilisateurs | Un commerçant pilote vérifie qu’il peut encaisser et rembourser comme dans sa boutique |
Le test d’acceptation prend plusieurs formes : le test d’acceptation par les utilisateurs (UAT, pour User Acceptance Testing), le test d’acceptation opérationnelle (l’équipe qui exploitera le service sait-elle sauvegarder, surveiller, restaurer ?), le test d’acceptation contractuelle ou réglementaire, et les tests alpha et bêta. En français, on l’appelle souvent la recette.
Ces niveaux peuvent se chevaucher : en équipe agile, le développeur écrit ses tests unitaires pendant que la testeuse explore la version de la veille.
Astuce
Tester tôt fait gagner du temps et de l’argent : c’est l’un des 7 principes du test logiciel. Un mauvais calcul de frais attrapé par un test unitaire coûte quelques minutes ; découvert par vos clients, il coûte leur confiance.
Quels sont les grands types de test ?
Le syllabus retient quatre types : le test fonctionnel, le test non fonctionnel, le test boîte noire et le test boîte blanche.
Le test fonctionnel : est-ce que ça fait ce qu’il faut ?
Il vérifie ce que l’application doit faire : ses fonctions sont-elles complètes, correctes et adaptées au besoin ? Une application de livraison calcule-t-elle les frais selon le quartier ? Le bouton « Annuler la commande » rembourse-t-il vraiment le client ?
Le test non fonctionnel : est-ce que ça le fait bien ?
Il évalue comment l’application se comporte. L’ISTQB s’appuie sur la norme ISO/IEC 25010, qui classe les caractéristiques de qualité. Le tableau suivant les traduit en questions concrètes.
| Caractéristique | La question à se poser | Exemple |
|---|---|---|
| Efficacité de la performance | Est-ce assez rapide, avec peu de ressources ? | L’accueil s’affiche-t-il vite en 3G sur un téléphone de 2 Go de RAM ? |
| Compatibilité | Cohabite-t-elle et échange-t-elle bien avec d’autres logiciels ? | Un appel entrant en plein paiement fait-il planter l’application ? |
| Utilisabilité (ou capacité d’interaction), dont l’accessibilité | Les gens s’en servent-ils sans aide et sans erreur, quelles que soient leurs capacités ? | Une vendeuse qui découvre l’app trouve-t-elle comment encaisser ? Un lecteur d’écran annonce-t-il les boutons ? |
| Fiabilité | Fonctionne-t-elle dans la durée et se remet-elle des pannes ? | Que se passe-t-il si le réseau coupe en plein paiement ? |
| Sécurité | Les données et les accès sont-ils protégés ? | Peut-on voir l’historique d’un autre client en changeant un numéro dans l’adresse ? |
| Maintenabilité | Le code se modifie-t-il sans tout casser ? | Surtout évaluée par revue de code, rarement par le testeur |
| Portabilité (ou flexibilité) | Passe-t-elle d’un environnement à un autre ? | Tourne-t-elle sur un autre téléphone, une autre version du système ? |
| Sûreté (safety) | Peut-elle mettre des personnes en danger ? | Une application de santé peut-elle afficher une mauvaise dose ? |
Beaucoup de tests non fonctionnels ajoutent une contrainte à un test fonctionnel : « le paiement aboutit » devient « le paiement aboutit en moins de dix secondes sur un réseau lent ». Le syllabus prévient qu’un défaut non fonctionnel découvert tard peut menacer tout le projet : on ne rend pas une application rapide la veille de sa sortie.
Attention
Au quotidien, « test de compatibilité » veut dire « ça marche sur tous les téléphones et navigateurs ». Dans la norme, cela relève surtout de la portabilité ; la compatibilité y désigne la cohabitation avec d’autres logiciels. Notre guide pour tester la compatibilité couvre les deux.
Boîte noire et boîte blanche : deux façons d’inventer des tests
Le test boîte noire part de la spécification : ce que l’application est censée faire, sans regarder le code. Le test boîte blanche part de la structure interne : le code, l’architecture, les flux de travail et de données. Son but est de couvrir cette structure, par exemple en s’assurant que chaque branche d’un calcul a été exécutée au moins une fois.
Au restaurant, la boîte noire goûte le plat et le compare à la carte ; la boîte blanche entre en cuisine et vérifie chaque étape de la recette. Les deux se complètent : la boîte noire ne mesure pas quelle part du code a été exécutée, et la boîte blanche ne voit pas la fonction demandée que personne n’a codée.
La plupart des testeurs d’applications, sur téléphone ou dans un navigateur, travaillent en boîte noire.
Que tester après un changement : confirmation ou régression ?
Le test de confirmation vérifie que le défaut corrigé a bien disparu : on rejoue le scénario qui échouait, et on ajoute au besoin des tests sur ce que la correction a modifié. Le test de régression vérifie que le changement n’a rien cassé ailleurs : dans le même module, dans d’autres modules, voire dans les systèmes connectés.
Exemple
Bug signalé : le code promo « RENTREE » n’est pas appliqué au panier. Le développeur corrige le calcul du total.
Confirmation : on rejoue le scénario du code promo, puis on essaie un code expiré et le même code en minuscules.
Régression : on vérifie le panier sans code, les frais de livraison, le paiement mobile money, le reçu et l’historique des commandes, car tout cela dépend du calcul du total.
Le syllabus conseille de commencer par une analyse d’impact pour savoir jusqu’où tester. Et comme les suites de régression grossissent à chaque version, elles sont de bonnes candidates à l’automatisation : notre article test manuel ou automatisé vous aide à choisir. Le déroulé complet avant une sortie est détaillé dans smoke test, régression, recette.
Où ranger le test exploratoire, le smoke test ou le test utilisateur ?
Certains mots très courants ne sont ni des niveaux ni des types. Ils désignent une approche ou une technique, qui traverse toute la carte.
- Le test exploratoire est une technique fondée sur l’expérience : on conçoit, exécute et évalue les tests en même temps, en apprenant l’application. Voir le test exploratoire.
- Le smoke test (littéralement « test de fumée ») est une vérification rapide des fonctions vitales, pour décider si une nouvelle version mérite d’être testée plus à fond.
- Le test manuel et le test automatisé sont deux façons d’exécuter n’importe quel test.
- Le test utilisateur observe de vraies personnes en train d’accomplir des tâches, pour évaluer l’utilisabilité.
- Le test de maintenance accompagne les changements d’une application déjà en service, y compris les correctifs urgents (hotfix).
Astuce
Pour décrire un test sans ambiguïté, donnez ses trois coordonnées : le niveau, le type et l’approche. Par exemple : « test système, non fonctionnel (performance), exploratoire et manuel, sur un téléphone d’entrée de gamme en 3G ». Plus personne ne comprendra « on a testé » de travers.
Quel test pour quelle question ? La table récapitulative
Voici la table à garder sous la main. Partez de votre question : la deuxième colonne donne le test qui y répond, la troisième l’article qui l’approfondit.
| Votre question | Le test qui y répond | Pour approfondir |
|---|---|---|
| Ce calcul de frais est-il juste ? | Test de composants (unitaire) | Test manuel ou automatisé |
| L’app dialogue-t-elle bien avec l’opérateur, les SMS, la carte ? | Test d’intégration (système) | Cet article |
| Le parcours complet fonctionne-t-il de bout en bout ? | Test système fonctionnel | Vérification et validation |
| La nouvelle version est-elle assez stable pour être testée ? | Smoke test | Smoke test, régression, recette |
| Le bug signalé est-il vraiment corrigé ? | Test de confirmation | Le rapport de bug efficace |
| La correction a-t-elle cassé autre chose ? | Test de régression | Smoke test, régression, recette |
| Que se passe-t-il dans les cas que personne n’a prévus ? | Test exploratoire | Le test exploratoire |
| L’app tient-elle sur un réseau lent et un petit téléphone ? | Test de performance | Tester la performance sur réseau lent |
| Marche-t-elle sur les appareils, versions et navigateurs de mes clients ? | Test de compatibilité et de portabilité | Tester la compatibilité |
| Un nouvel utilisateur s’en sort-il sans aide ? | Test d’utilisabilité, test utilisateur | Organiser un test utilisateur |
| Une personne malvoyante peut-elle l’utiliser ? | Test d’accessibilité | Tester l’accessibilité d’une application |
| Les données de mes clients sont-elles protégées ? | Test de sécurité | Les vérifications de sécurité du testeur |
| Les vrais utilisateurs l’adoptent-ils pour leur usage ? | Test d’acceptation (recette, bêta) | Le test fermé Google Play |
| Suis-je prêt à publier sur le store ? | Liste de contrôle avant publication | La checklist avant publication |
Comment choisir les tests de votre projet dès aujourd’hui ?
Personne ne fait tout. Voici une méthode en cinq étapes pour une petite équipe.
- Listez vos trois plus grandes peurs. Un paiement débité mais non enregistré ? Des données perdues ? Une application trop lourde pour les téléphones de vos clients ?
- Traduisez chaque peur en question, puis trouvez le test correspondant dans la table ci-dessus.
- Regardez ce qui existe déjà. Des tests unitaires sur les calculs ? Une relecture des parcours clés avant chaque sortie ?
- Repérez les trous. Les plus fréquents : aucune régression organisée, aucun essai sur un appareil modeste, aucun utilisateur réel avant la sortie.
- Planifiez le minimum vital, puis enrichissez-le version après version.
Liste de contrôle
Attention
Trois erreurs reviennent sans cesse : croire que « les tests unitaires passent » veut dire « l’application marche » ; ne tester que le fonctionnel ; tester uniquement sur le téléphone récent du développeur, en Wi-Fi.
Les derniers trous de la liste (appareils variés, regards neufs, vrais utilisateurs) sont ceux qu’une équipe comble mal seule. C’est le rôle de testeurs extérieurs comme ceux de GeekTest, sur leurs propres téléphones et leurs propres réseaux : vous pouvez faire tester votre application ou devenir testeur.
À retenir
- Un niveau dit à quelle échelle on teste ; un type dit quelle qualité on évalue.
- Les cinq niveaux ISTQB : composants, intégration de composants, système, intégration système, acceptation (la recette).
- Les quatre types : fonctionnel, non fonctionnel, boîte noire, boîte blanche.
- Après chaque changement : confirmation (le bug a disparu), puis régression (rien d’autre n’est cassé).
- Partez toujours d’une question précise sur votre application, puis choisissez le test qui y répond.
Pour aller plus loin
- Syllabus ISTQB Certified Tester Foundation Level v4.0.1 (nouvel onglet) : la référence de cet article. Section 2.2 pour les niveaux et les types, 2.2.3 pour la confirmation et la régression, 4.4 pour les techniques fondées sur l’expérience (en anglais).
- Page de la certification CTFL v4.0 sur le site de l’ISTQB (nouvel onglet) : présentation de la certification Fondation et téléchargement du syllabus.
- Glossaire ISTQB : regression testing (nouvel onglet) : la définition officielle du test de régression, et des centaines d’autres termes du métier.
- Glossaire ISTQB : smoke testing (nouvel onglet) : la définition officielle du smoke test.
- Glossaire ISTQB : portability (nouvel onglet) : la portabilité, à comparer avec la compatibilité pour bien saisir la nuance.
Partager cet article
Et maintenant ?
Ne manquez aucun article
Chaque nouvel article de l’Académie est annoncé sur la chaîne WhatsApp GeekTest. Rejoignez-la et abonnez-vous : des conseils de test utiles, sans spam.
Faites tester votre app par de vrais humains
De vrais testeurs sur Android, iPhone, web et ordinateur, leurs retours et un rapport de test : ce que l’IA ne voit pas.
Devenez testeur
Testez des applications sur votre téléphone ou votre ordinateur, mettez en pratique ce que vous apprenez ici, et soyez rémunéré.
Un projet d’application ?
L’équipe de développement de Geek Institut conçoit et réalise des applications web et mobiles, de l’idée à la publication. Parlons de votre projet.
