Types de tests de logiciels (100 exemples)

โšก Rรฉsumรฉ intelligent

Les types de tests logiciels sont des classifications d'activitรฉs de test, chacune ayant un objectif, une stratรฉgie et des livrables dรฉfinis, utilisรฉs pour valider une application par rapport ร  des critรจres de qualitรฉ spรฉcifiques.

  • Catรฉgories de tests : Les types de tests logiciels se rรฉpartissent en quatre catรฉgories : fonctionnels, non fonctionnels, structurels et liรฉs aux changements, chacune ayant un objectif de validation distinct.
  • Types communs: Les tests unitaires, les tests d'intรฉgration, les tests systรจme et les tests d'acceptation constituent les niveaux de test fondamentaux utilisรฉs dans la plupart des projets.
  • Approches spรฉcialisรฉes : Des techniques comme les tests d'intrusion, les tests de fuzzing et les tests de mutation ciblent des attributs de qualitรฉ spรฉcifiques tels que la sรฉcuritรฉ et la couverture du code.
  • Manuel ou automatisรฉ : Les diffรฉrents types de tests peuvent รชtre exรฉcutรฉs manuellement ou ร  l'aide d'outils d'automatisation, en fonction des exigences du projet, du budget et des contraintes de temps.
  • L'IA dans les tests : L'intelligence artificielle transforme les tests logiciels grรขce ร  la gรฉnรฉration automatisรฉe de tests, la prรฉdiction intelligente des dรฉfauts et les scripts de test auto-rรฉparateurs.
  • Couverture complรจte: Ce guide couvre 105 types de tests logiciels avec des dรฉfinitions, les รฉquipes responsables et des liens vers des tutoriels dรฉtaillรฉs pour un apprentissage plus approfondi.

Types de tests de logiciels

Qu'est-ce qu'un type de test logiciel ?

Les types de tests logiciels classent les diffรฉrentes activitรฉs de test en catรฉgories, chacune ayant un objectif, une stratรฉgie et des livrables dรฉfinis. L'objectif d'un type de test est de valider l'application testรฉe (AUT) au regard de l'objectif de test dรฉfini. Par exemple, l'objectif des tests d'accessibilitรฉ est de vรฉrifier que l'AUT est accessible aux personnes handicapรฉes. Ainsi, si votre solution logicielle doit รชtre accessible aux personnes handicapรฉes, vous la vรฉrifiez ร  l'aide de cas de tests d'accessibilitรฉ.

Il est essentiel pour les professionnels de l'assurance qualitรฉ, les dรฉveloppeurs et les chefs de projet de comprendre les diffรฉrents types de tests logiciels. Chaque type de test rรฉpond ร  un problรจme de qualitรฉ spรฉcifique, et choisir la bonne combinaison garantit une couverture complรจte de votre application.

Types de tests de logiciels

Vous trouverez ci-dessous une liste complรจte des 105 types de tests logiciels Ce livre, qui inclut des dรฉfinitions, est une rรฉfรฉrence incontournable pour tout professionnel de l'assurance qualitรฉ. Il vous guide ร  travers tous les types de tests logiciels, organisรฉ de maniรจre ร  vous permettre de trouver et de comprendre rapidement chaque approche.

Types de tests de logiciels

  1. Tests d'acceptation : Tests formels effectuรฉs pour dรฉterminer si un systรจme satisfait ou non ร  ses critรจres d'acceptation et pour permettre au client de dรฉterminer s'il doit ou non accepter le systรจme. Elle est gรฉnรฉralement rรฉalisรฉe par le client. Lire la suite sur Test de rรฉception
  2. Tests d'accessibilitรฉ : Type de test permettant de dรฉterminer l'accessibilitรฉ d'un produit pour les personnes en situation de handicap (sourdes, aveugles, personnes ayant une dรฉficience intellectuelle, etc.). L'รฉvaluation est rรฉalisรฉe par des personnes en situation de handicap. En savoir plus Test d'accessibilitรฉ
  3. Tests actifs : Type de test consistant ร  introduire des donnรฉes de test et ร  analyser les rรฉsultats d'exรฉcution. Elle est gรฉnรฉralement rรฉalisรฉe par l'รฉquipe de test.
  4. Tests agiles : Pratique de test de logiciels qui suit les principes du manifeste agile, en mettant l'accent sur les tests du point de vue des clients qui utiliseront le systรจme. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes dโ€™assurance qualitรฉ. Lire la suite sur Test agile
  5. Test d'รขge : Type de test qui รฉvalue la capacitรฉ d'un systรจme ร  fonctionner dans le futur. Le processus d'รฉvaluation est menรฉ par des รฉquipes de test.
  6. Tests ponctuels : Tests effectuรฉs sans planification ni documentation : le testeur essaie de ยซ casser ยป le systรจme en essayant au hasard ses fonctionnalitรฉs. Elle est rรฉalisรฉe par lโ€™รฉquipe de tests. Lire la suite sur Tests ad hoc
  7. Test alpha: Les tests alpha sont un type de test logiciel effectuรฉ sur le site du dรฉveloppeur pour identifier les bugs, les problรจmes d'utilisabilitรฉ et les lacunes de fonctionnalitรฉ avant de publier le produit pour les tests bรชta. Il implique des testeurs internes, tels que des dรฉveloppeurs et des รฉquipes d'assurance qualitรฉ, et parfois des utilisateurs finaux sรฉlectionnรฉs dans un environnement contrรดlรฉ. En savoir plus sur Test Alpha
  8. Test d'assertion : Type de test consistant ร  vรฉrifier si les conditions confirment les exigences du produit. Elle est rรฉalisรฉe par lโ€™รฉquipe de tests.
  9. Test API: Technique de test similaire aux tests unitaires dans la mesure oรน elle cible le niveau du code. Les tests API diffรจrent des tests unitaires en ce sens qu'il s'agit gรฉnรฉralement d'une tรขche d'assurance qualitรฉ et non d'une tรขche de dรฉveloppeur. Lire la suite sur Test d'API
  10. Test toutes paires : Mรฉthode de test combinatoire qui teste toutes les combinaisons discrรจtes possibles de paramรจtres d'entrรฉe. Elle est rรฉalisรฉe par les รฉquipes de tests.
  1. Tests automatisรฉs : Technique de test qui utilise les outils de tests d'automatisation pour contrรดler la configuration de l'environnement, l'exรฉcution des tests et le reporting des rรฉsultats. Elle est rรฉalisรฉe par un ordinateur et est utilisรฉe au sein des รฉquipes de tests. Lire la suite sur Test automatisรฉ
  2. Test du chemin de base : Un mรฉcanisme de test qui dรฉrive une mesure logique de complexitรฉ d'une conception procรฉdurale et l'utilise comme guide pour dรฉfinir un ensemble de base de chemins d'exรฉcution. Il est utilisรฉ par les รฉquipes de tests lors de la dรฉfinition des cas de test. Lire la suite sur Test du chemin de base
  3. Tests de compatibilitรฉ ascendante : Mรฉthode de test qui vรฉrifie le comportement du logiciel dรฉveloppรฉ avec les anciennes versions de l'environnement de test. Elle est rรฉalisรฉe par lโ€™รฉquipe de test.
  4. Tests bรชta: Test final avant de publier l'application ร  des fins commerciales. Cela est gรฉnรฉralement effectuรฉ par les utilisateurs finaux ou autres.
  5. Tests de rรฉfรฉrence : Technique de test qui utilise des ensembles reprรฉsentatifs de programmes et de donnรฉes conรงus pour รฉvaluer les performances du matรฉriel informatique et des logiciels dans une configuration donnรฉe. Elle est rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test de rรฉfรฉrence
  6. Tests d'intรฉgration Big Bang : Technique de test qui intรจgre des modules de programme individuels uniquement lorsque tout est prรชt. Elle est rรฉalisรฉe par les รฉquipes de tests.
  7. Test de portabilitรฉ binaire : Technique qui teste la portabilitรฉ d'une application exรฉcutable sur des plates-formes et des environnements systรจme, gรฉnรฉralement pour sa conformitรฉ ร  une spรฉcification ABI. Elle est rรฉalisรฉe par les รฉquipes de tests.
  8. Test de valeur limite : Technique de test logiciel dans laquelle les tests sont conรงus pour inclure des reprรฉsentants de valeurs limites. Elle est rรฉalisรฉe par les รฉquipes de tests QA. Lire la suite sur Test de valeur limite
  9. Tests d'intรฉgration ascendants : Dans les tests d'intรฉgration ascendants, les modules du niveau le plus bas sont dรฉveloppรฉs en premier et les autres modules qui vont vers le programme ยซ principal ยป sont intรฉgrรฉs et testรฉs un par un. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests.
  10. Tests de branche : Technique de test dans laquelle toutes les branches du code source du programme sont testรฉes au moins une fois. Ceci est fait par le dรฉveloppeur.
  11. Test de largeur : Suite de tests qui exerce toutes les fonctionnalitรฉs d'un produit mais ne teste pas les fonctionnalitรฉs en dรฉtail. Elle est rรฉalisรฉe par des รฉquipes de tests.
  12. Tests en boรฎte noire : Mรฉthode de test logiciel qui vรฉrifie la fonctionnalitรฉ d'une application sans avoir de connaissances spรฉcifiques sur le code/la structure interne de l'application. Les tests sont basรฉs sur les exigences et les fonctionnalitรฉs. Elle est rรฉalisรฉe par les รฉquipes QA. Lire la suite sur Tests en boรฎte noire
  13. Tests basรฉs sur le code : Technique de test qui utilise des frameworks de test (tels que xUnit) qui permettent l'exรฉcution de tests unitaires pour dรฉterminer si diffรฉrentes sections du code agissent comme prรฉvu dans diverses circonstances. Elle est rรฉalisรฉe par les รฉquipes de dรฉveloppement.
  14. Test de compatibilitรฉ : Technique de test qui valide les performances d'un logiciel dans un environnement matรฉriel/logiciel/systรจme d'exploitation/rรฉseau particulier. Elle est rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Test de compatibilitรฉ
  15. Tests de comparaison : Technique de test qui compare les forces et les faiblesses du produit avec les versions prรฉcรฉdentes ou d'autres produits similaires. Peut รชtre rรฉalisรฉ par des testeurs, des dรฉveloppeurs, des chefs de produit ou des propriรฉtaires de produits. Lire la suite sur Test des composants
  16. Test de composants : Technique de test similaire aux tests unitaires mais avec un niveau d'intรฉgration plus รฉlevรฉ : les tests sont effectuรฉs dans le contexte de l'application au lieu de simplement tester directement une mรฉthode spรฉcifique. Peut รชtre rรฉalisรฉ par des รฉquipes de test ou de dรฉveloppement.
  17. Tests de configuration : Technique de test qui dรฉtermine la configuration minimale et optimale du matรฉriel et des logiciels, ainsi que l'effet de l'ajout ou de la modification de ressources telles que la mรฉmoire, les lecteurs de disque et le processeur. Habituellement, cela est effectuรฉ par les ingรฉnieurs de tests de performances. Lire la suite sur Test de configuration
  18. Test de couverture des conditions : Type de test logiciel oรน chaque condition est exรฉcutรฉe en la rendant vraie et fausse, de chacune des maniรจres au moins une fois. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests dโ€™automatisation.
  19. Test de conformitรฉ : Type de test qui vรฉrifie si le systรจme a รฉtรฉ dรฉveloppรฉ conformรฉment aux normes, procรฉdures et lignes directrices. Elle est gรฉnรฉralement rรฉalisรฉe par des sociรฉtรฉs externes qui proposent la marque ยซ Certified OGC Compliant ยป.
  20. Tests de concurrence : Tests multi-utilisateurs visant ร  dรฉterminer les effets de l'accรจs au mรชme code d'application, module ou enregistrements de base de donnรฉes. Cela est gรฉnรฉralement rรฉalisรฉ par des ingรฉnieurs performants. Lire la suite sur Tests de concurrence
  21. Tests de conformitรฉ : Processus consistant ร  tester qu'une implรฉmentation est conforme ร  la spรฉcification sur laquelle elle est basรฉe. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test de conformitรฉ
  22. Tests basรฉs sur le contexte : Une technique de test agile qui prรฉconise une รฉvaluation continue et crรฉative des opportunitรฉs de test ร  la lumiรจre des informations potentielles rรฉvรฉlรฉes et de la valeur de ces informations pour l'organisation ร  un moment prรฉcis. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests Agile.
  1. Tests de conversion : Test de programmes ou de procรฉdures utilisรฉs pour convertir les donnรฉes des systรจmes existants pour les utiliser dans des systรจmes de remplacement. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes dโ€™assurance qualitรฉ.
  2. Tests de couverture dรฉcisionnelle : Type de test logiciel oรน chaque condition/dรฉcision est exรฉcutรฉe en la dรฉfinissant sur vrai/faux. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests dโ€™automatisation.
  3. Essais destructifs: Type d'essai oรน les tests sont menรฉs jusqu'ร  la rupture de l'รฉprouvette, afin de comprendre ses performances structurelles ou le comportement du matรฉriau sous diffรฉrentes charges. Il est gรฉnรฉralement rรฉalisรฉ par les รฉquipes d'assurance qualitรฉ. En savoir plus sur Essais destructifs
  4. Test de dรฉpendance : Type de test qui examine les exigences d'une application en matiรจre de logiciels prรฉexistants, d'รฉtats initiaux et de configuration afin de maintenir une fonctionnalitรฉ appropriรฉe. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests.
  5. Tests dynamiques : Terme utilisรฉ en gรฉnie logiciel pour dรฉcrire les tests du comportement dynamique du code. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de test. Lire la suite sur Test dynamique
  6. Test de domaine : Technique de test en boรฎte blanche qui vรฉrifie que le programme n'accepte que les entrรฉes valides. Cela est gรฉnรฉralement effectuรฉ par des รฉquipes de dรฉveloppement de logiciels et parfois par des รฉquipes de tests d'automatisation.
  7. Tests de gestion des erreurs : Type de test logiciel qui dรฉtermine la capacitรฉ du systรจme ร  traiter correctement les transactions erronรฉes. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests.
  8. Tests de bout en bout : Semblable aux tests systรจme, cela implique le test d'un environnement d'application complet dans une situation qui imite une utilisation rรฉelle, comme l'interaction avec une base de donnรฉes, l'utilisation de communications rรฉseau ou l'interaction avec d'autres matรฉriels, applications ou systรจmes, le cas รฉchรฉant. Elle est rรฉalisรฉe par les รฉquipes QA. Lire la suite sur Test de bout en bout
  9. Tests d'endurance : Type de test qui vรฉrifie les fuites de mรฉmoire ou d'autres problรจmes pouvant survenir en cas d'exรฉcution prolongรฉe. Elle est gรฉnรฉralement rรฉalisรฉe par des ingรฉnieurs de performance. Lire la suite sur Test d'endurance
  10. Tests exploratoires : Technique de test en boรฎte noire rรฉalisรฉe sans planification ni documentation. Elle est gรฉnรฉralement rรฉalisรฉe par des testeurs manuels. Lire la suite sur Essais exploratoires
  11. Test de partitionnement d'รฉquivalence : Technique de test logiciel qui divise les donnรฉes d'entrรฉe d'une unitรฉ logicielle en partitions de donnรฉes ร  partir desquelles des cas de test peuvent รชtre dรฉrivรฉs. elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes d'assurance qualitรฉ. Lire la suite sur Test de partitionnement d'รฉquivalence
  12. Test d'injection de dรฉfauts : ร‰lรฉment d'une stratรฉgie de test complรจte qui permet au testeur de se concentrer sur la maniรจre dont l'application testรฉe est capable de gรฉrer les exceptions. Elle est rรฉalisรฉe par les รฉquipes QA.
  13. Vรฉrification formelle Test : L'acte de prouver ou de rรฉfuter l'exactitude des algorithmes prรฉvus sous-jacents ร  un systรจme par rapport ร  une certaine spรฉcification ou propriรฉtรฉ formelle, en utilisant des mรฉthodes mathรฉmatiques formelles. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes dโ€™assurance qualitรฉ.
  14. Test fonctionel: Type de test en boรฎte noire qui base ses cas de test sur les spรฉcifications du composant logiciel testรฉ. Elle est rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Essais fonctionnels
  15. Test de flou : Technique de test logiciel qui fournit des donnรฉes invalides, inattendues ou alรฉatoires aux entrรฉes d'un programme โ€“ un domaine spรฉcial des tests de mutation. Les tests Fuzz sont effectuรฉs par des รฉquipes de tests. Lire la suite sur Test de Fuzz
  16. Test des gorilles : Technique de test logiciel qui se concentre sur les tests approfondis dโ€™un module particulier. Elle est rรฉalisรฉe par des รฉquipes d'assurance qualitรฉ, gรฉnรฉralement lors de l'exรฉcution de tests complets.
  17. Gris Box Test: Une combinaison de noir Box et blanc Box Mรฉthodologies de test : tester un logiciel par rapport ร  ses spรฉcifications en sโ€™appuyant sur une certaine connaissance de son fonctionnement interne. Ces tests peuvent รชtre effectuรฉs par les รฉquipes de dรฉveloppement ou de test.
  18. Test de boรฎte en verre : Semblable aux tests en boรฎte blanche, basรฉs sur la connaissance de la logique interne du code dโ€™une application. Elle est rรฉalisรฉe par les รฉquipes de dรฉveloppement.
  19. Test du logiciel GUI : Processus de test d'un produit qui utilise une interface utilisateur graphique, pour garantir qu'il rรฉpond ร  ses spรฉcifications รฉcrites. Ceci est normalement effectuรฉ par les รฉquipes de test. Lire la suite sur Test du logiciel GUI
  20. Test de mondialisation : Mรฉthode de test qui vรฉrifie le bon fonctionnement du produit avec n'importe quel paramรจtre culturel/local en utilisant tous les types d'entrรฉes internationales possibles. Elle est rรฉalisรฉe par lโ€™รฉquipe de tests. Lire la suite sur Tests de mondialisation
  21. Tests d'intรฉgration hybride : Technique de test qui combine des techniques d'intรฉgration descendante et ascendante afin de tirer parti des avantages de ce type de tests. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests.
  22. Test d'intรฉgration : Phase de test logiciel au cours de laquelle des modules logiciels individuels sont combinรฉs et testรฉs en groupe. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test d'intรฉgration
  23. Test d'interface : Tests effectuรฉs pour รฉvaluer si les systรจmes ou les composants se transmettent correctement les donnรฉes et se contrรดlent. Elle est gรฉnรฉralement effectuรฉe par les รฉquipes de test et de dรฉveloppement. Lire la suite sur Test d'interface
  24. Installer/dรฉsinstaller Test : Travail d'assurance qualitรฉ qui se concentre sur ce que les clients devront faire pour installer et configurer avec succรจs le nouveau logiciel. Cela peut impliquer des processus d'installation/dรฉsinstallation complets, partiels ou de mises ร  niveau et est gรฉnรฉralement effectuรฉ par l'ingรฉnieur de test logiciel en collaboration avec le gestionnaire de configuration.
  25. Tests d'internationalisation : Le processus qui garantit que la fonctionnalitรฉ du produit n'est pas interrompue et que tous les messages sont correctement externalisรฉs lorsqu'ils sont utilisรฉs dans diffรฉrentes langues et paramรจtres rรฉgionaux. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests.
  26. Tests inter-systรจmes : Technique de test visant ร  vรฉrifier le bon fonctionnement des interconnexions entre les applications. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de test.
  27. Tests basรฉs sur des mots clรฉs : ร‰galement connue sous le nom de test pilotรฉ par table ou test de mot d'action, il s'agit d'une mรฉthodologie de test logiciel pour les tests automatisรฉs qui sรฉpare le processus de crรฉation de test en deux รฉtapes distinctes : une รฉtape de planification et une รฉtape de mise en ล“uvre. Il peut รชtre utilisรฉ par des รฉquipes de tests manuels ou automatisรฉs. Lire la suite sur Tests basรฉs sur des mots clรฉs
  28. Test de charge : Technique de test qui exerce une demande sur un systรจme ou un appareil et mesure sa rรฉponse. Elle est gรฉnรฉralement rรฉalisรฉe par les ingรฉnieurs de performance. Lire la suite sur test de charge
  29. Test de localisation : Partie du processus de test de logiciels axรฉe sur l'adaptation d'une application mondialisรฉe ร  une culture/localitรฉ particuliรจre. Cela est normalement effectuรฉ par les รฉquipes de test. Lire la suite sur Test de localisation
  30. Test de boucle : Une technique de test en boรฎte blanche qui exerce des boucles de programme. Elle est rรฉalisรฉe par les รฉquipes de dรฉveloppement. Lire la suite sur Test de boucle
  31. Tests scriptรฉs manuels : Mรฉthode de test dans laquelle les cas de test sont conรงus et examinรฉs par l'รฉquipe avant de l'exรฉcuter. Cela est effectuรฉ par des รฉquipes de tests manuels.
  32. Tests de support manuel : Technique de test qui consiste ร  tester toutes les fonctions exรฉcutรฉes par les personnes lors de la prรฉparation des donnรฉes et de l'utilisation de ces donnรฉes ร  partir d'un systรจme automatisรฉ. elle est rรฉalisรฉe par des รฉquipes de tests.
  33. Tests basรฉs sur un modรจle : L'application de la conception basรฉe sur un modรจle pour concevoir et exรฉcuter les artefacts nรฉcessaires pour effectuer des tests logiciels. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test basรฉ sur un modรจle
  34. Tests de mutation : Mรฉthode de test de logiciels qui consiste ร  modifier lรฉgรจrement le code source ou le code octet du programme afin de tester des sections du code qui sont rarement ou jamais consultรฉes lors de l'exรฉcution normale des tests. Elle est normalement rรฉalisรฉe par des testeurs. Lire la suite sur Test de mutation
  35. Tests basรฉs sur la modularitรฉ : Technique de test de logiciels qui nรฉcessite la crรฉation de petits scripts indรฉpendants reprรฉsentant les modules, sections et fonctions de l'application testรฉe. Elle est gรฉnรฉralement rรฉalisรฉe par l'รฉquipe de test.
  36. Tests non fonctionnels : Technique de test qui se concentre sur le test d'une application logicielle pour ses exigences non fonctionnelles. Peut รชtre effectuรฉ par les ingรฉnieurs de performance ou par des รฉquipes de tests manuels. Lire la suite sur Tests non fonctionnels
  37. Tests nรฉgatifs : ร‰galement connu sous le nom de ยซ test to fail ยป โ€“ mรฉthode de test dont le but est de montrer qu'un composant ou un systรจme ne fonctionne pas. Elle est rรฉalisรฉe par des testeurs manuels ou automatisรฉs. Lire la suite sur Test nรฉgatif
  38. OperaTests nationaux : Technique de test rรฉalisรฉe pour รฉvaluer un systรจme ou un composant dans son environnement opรฉrationnel. Habituellement, cela est effectuรฉ par des รฉquipes de test. Lire la suite sur OperaTests nationaux
  39. Test de rรฉseau orthogonal : Mรฉthode de test systรฉmatique et statistique qui peut รชtre appliquรฉe aux tests d'interface utilisateur, aux tests de systรจme, aux tests de rรฉgression, aux tests de configuration et aux tests de performances. Elle est rรฉalisรฉe par lโ€™รฉquipe de tests. Lire la suite sur Test de rรฉseau orthogonal
  40. Test de paires : Technique de dรฉveloppement logiciel dans laquelle deux membres de l'รฉquipe travaillent ensemble sur un mรชme clavier pour tester l'application logicielle. Lโ€™un effectue les tests et lโ€™autre analyse ou examine les tests. Cela peut รชtre fait entre un testeur et un dรฉveloppeur ou un analyste commercial ou entre deux testeurs, les deux participants pilotant le clavier ร  tour de rรดle.
  41. Tests passifs : Technique de test consistant ร  surveiller les rรฉsultats d'un systรจme en fonctionnement sans introduire de donnรฉes de test particuliรจres. Elle est rรฉalisรฉe par lโ€™รฉquipe de tests.
  42. Tests parallรจles : Technique de test qui a pour but de garantir qu'une nouvelle application qui a remplacรฉ son ancienne version a รฉtรฉ installรฉe et fonctionne correctement. Elle est rรฉalisรฉe par lโ€™รฉquipe de test. Lire la suite sur Tests en parallรจle
  43. Test de chemin : Tests typiques en boรฎte blanche dont le but est de satisfaire aux critรจres de couverture pour chaque chemin logique ร  travers le programme. Elle est gรฉnรฉralement rรฉalisรฉe par lโ€™รฉquipe de dรฉveloppement. Lire la suite sur Test de chemin
  44. Tests de pรฉnรฉtration: Mรฉthode de test qui รฉvalue la sรฉcuritรฉ d'un systรจme informatique ou d'un rรฉseau en simulant une attaque provenant d'une source malveillante. Ils sont gรฉnรฉralement effectuรฉs par des sociรฉtรฉs spรฉcialisรฉes en tests dโ€™intrusion. Lire la suite sur Tests de pรฉnรฉtration
  45. Test de performance: Tests fonctionnels effectuรฉs pour รฉvaluer la conformitรฉ d'un systรจme ou d'un composant aux exigences de performances spรฉcifiรฉes. Elle est gรฉnรฉralement rรฉalisรฉe par l'ingรฉnieur de performance. Lire la suite sur Test de performance
  46. Tests de qualification : Tests par rapport aux spรฉcifications de la version prรฉcรฉdente, gรฉnรฉralement effectuรฉs par le dรฉveloppeur pour le consommateur, afin de dรฉmontrer que le logiciel rรฉpond aux exigences spรฉcifiรฉes.
  47. Ramp Test: Type de test consistant ร  augmenter continuellement un signal d'entrรฉe jusqu'ร  ce que le systรจme tombe en panne. Elle peut รชtre rรฉalisรฉe par lโ€™รฉquipe de test ou lโ€™ingรฉnieur performance.
  48. Les tests de rรฉgression: Type de test logiciel qui cherche ร  dรฉcouvrir les erreurs logicielles aprรจs que des modifications ont รฉtรฉ apportรฉes au programme (par exemple, corrections de bogues ou nouvelles fonctionnalitรฉs), en testant ร  nouveau le programme. Elle est rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Les tests de rรฉgression
  49. Test de rรฉcupรฉration: Technique de test qui รฉvalue la capacitรฉ d'un systรจme ร  se remettre d'un crash, d'une panne matรฉrielle ou d'autres problรจmes catastrophiques. Elle est rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Test de rรฉcupรฉration
  50. Test des exigences : Technique de test qui valide que les exigences sont correctes, complรจtes, sans ambiguรฏtรฉ et logiquement cohรฉrentes et permet de concevoir un ensemble nรฉcessaire et suffisant de cas de test ร  partir de ces exigences. Elle est rรฉalisรฉe par les รฉquipes QA.
  51. Test de sรฉcuritรฉ: Processus permettant de dรฉterminer qu'un systรจme d'information protรจge les donnรฉes et maintient les fonctionnalitรฉs comme prรฉvu. Elle peut รชtre rรฉalisรฉe par des รฉquipes de tests ou par des sociรฉtรฉs spรฉcialisรฉes dans les tests de sรฉcuritรฉ. Lire la suite sur Test de sรฉcuritรฉ
  52. Test de santรฉ mentale : Technique de test qui dรฉtermine si une nouvelle version du logiciel fonctionne suffisamment bien pour l'accepter pour un effort de test majeur. Elle est rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Test de santรฉ mentale
  53. Test de scรฉnario : Activitรฉ de test qui utilise des scรฉnarios basรฉs sur une histoire hypothรฉtique pour aider une personne ร  rรฉflรฉchir ร  un problรจme ou ร  un systรจme complexe pour un environnement de test. Elle est rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Test de scรฉnario
  54. Tests d'รฉvolutivitรฉ : Fait partie de la batterie de tests non fonctionnels qui teste une application logicielle pour mesurer sa capacitรฉ ร  รฉvoluer โ€“ qu'il s'agisse de la charge utilisateur prise en charge, du nombre de transactions, du volume de donnรฉes, etc. Elle est rรฉalisรฉe par l'ingรฉnieur performance. Lire la suite sur Tests d'รฉvolutivitรฉ
  55. Test des dรฉclarations : Test en boรฎte blanche qui satisfait au critรจre selon lequel chaque instruction d'un programme est exรฉcutรฉe au moins une fois pendant le test du programme. Elle est gรฉnรฉralement rรฉalisรฉe par lโ€™รฉquipe de dรฉveloppement.
  56. Tests statiques : Un type de test logiciel oรน le logiciel n'est pas utilisรฉ. Il vรฉrifie principalement la validitรฉ du code, de l'algorithme ou de la documentation. Il est utilisรฉ par le dรฉveloppeur qui a รฉcrit le code. En savoir plus sur Test statique
  57. Test de stabilitรฉ : Technique de test qui tente de dรฉterminer si une application va planter. Elle est gรฉnรฉralement rรฉalisรฉe par l'ingรฉnieur de performance. Lire la suite sur Test de stabilitรฉ
  58. Test de fumรฉe: Technique de test qui examine tous les composants de base d'un systรจme logiciel pour garantir leur bon fonctionnement. En rรจgle gรฉnรฉrale, les tests de fumรฉe sont effectuรฉs par l'รฉquipe de test, immรฉdiatement aprรจs la crรฉation d'un logiciel. Lire la suite sur Test de fumรฉe
  59. Tests de stockage : Type de test qui vรฉrifie que le programme testรฉ stocke les fichiers de donnรฉes dans les rรฉpertoires corrects et qu'il rรฉserve suffisamment d'espace pour รฉviter une interruption inattendue rรฉsultant d'un manque d'espace. Elle est gรฉnรฉralement rรฉalisรฉe par l'รฉquipe de test. Lire la suite sur Tests de stockage
  60. Tests de rรฉsistance : Technique de test qui รฉvalue un systรจme ou un composant dans ou au-delร  des limites de ses exigences spรฉcifiรฉes. Elle est gรฉnรฉralement rรฉalisรฉe par l'ingรฉnieur de performance. Lire la suite sur Test de stress
  61. Essais structurels : Technique de test en boรฎte blanche qui prend en compte la structure interne d'un systรจme ou d'un composant et garantit que chaque instruction de programme remplit la fonction prรฉvue. Elle est gรฉnรฉralement rรฉalisรฉe par les dรฉveloppeurs de logiciels.
  62. Test du systรจme : Processus de test d'un systรจme matรฉriel et logiciel intรฉgrรฉ pour vรฉrifier que le systรจme rรฉpond ร  ses exigences spรฉcifiรฉes. Elle est menรฉe par les รฉquipes de tests dans lโ€™environnement de dรฉveloppement et cible. Lire la suite sur Test du systรจme
  63. Tests d'intรฉgration du systรจme : Processus de test qui exerce la coexistence d'un systรจme logiciel avec d'autres. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Tests dโ€™intรฉgration systรจme
  64. Tests d'intรฉgration descendants : Technique de test qui consiste ร  commencer au sommet d'une hiรฉrarchie systรจme au niveau de l'interface utilisateur et ร  utiliser des stubs pour tester de haut en bas jusqu'ร  ce que l'ensemble du systรจme soit implรฉmentรฉ. Elle est rรฉalisรฉe par les รฉquipes de tests.
  65. Test de fil : Une variante de la technique de test descendant oรน l'intรฉgration progressive des composants suit la mise en ล“uvre de sous-ensembles d'exigences. Elle est gรฉnรฉralement rรฉalisรฉe par les รฉquipes de tests. Lire la suite sur Test de fil
  66. Upgrade Test: Technique de test qui vรฉrifie si les actifs crรฉรฉs avec des versions antรฉrieures peuvent รชtre utilisรฉs correctement et si l'apprentissage de l'utilisateur n'est pas remis en question. Elle est rรฉalisรฉe par les รฉquipes de tests.
  67. Test unitaire Mรฉthode de vรฉrification et de validation de logiciel dans laquelle un programmeur teste si des unitรฉs individuelles de code source sont aptes ร  รชtre utilisรฉes. Elle est gรฉnรฉralement menรฉe par lโ€™รฉquipe de dรฉveloppement. Lire la suite sur Tests unitaires
  68. Test de l'interface utilisateur : Type de test effectuรฉ pour vรฉrifier la convivialitรฉ de l'application. Elle est rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test de l'interface utilisateur

Types de tests bonus : Les cinq types de tests suivants constituent des techniques supplรฉmentaires que tout professionnel de l'assurance qualitรฉ devrait connaรฎtre.

  1. Tests d'utilisation: Technique de test qui vรฉrifie la facilitรฉ avec laquelle un utilisateur peut apprendre ร  utiliser, prรฉparer les entrรฉes et interprรฉter les sorties d'un systรจme ou d'un composant. Elle est gรฉnรฉralement rรฉalisรฉe par les utilisateurs finaux. Lire la suite sur Tests d'utilisabilitรฉ
  2. Tests de volume : Tests qui confirment que toutes les valeurs susceptibles de devenir importantes au fil du temps (telles que les dรฉcomptes accumulรฉs, les journaux et les fichiers de donnรฉes) peuvent รชtre prises en charge par le programme et n'entraรฎneront pas l'arrรชt du programme ni ne dรฉgraderont son fonctionnement de quelque maniรจre que ce soit. Elle est gรฉnรฉralement rรฉalisรฉe par l'ingรฉnieur de performance. Lire la suite sur Tests de volume
  3. Tests de vulnรฉrabilitรฉ : Type de test qui concerne la sรฉcuritรฉ des applications et a pour but de prรฉvenir les problรจmes pouvant affecter l'intรฉgritรฉ et la stabilitรฉ de l'application. Elle peut รชtre rรฉalisรฉe par les รฉquipes de tests internes ou sous-traitรฉe ร  des sociรฉtรฉs spรฉcialisรฉes. Lire la suite sur Test de vulnรฉrabilitรฉ
  4. Test en boรฎte blanche : Technique de test basรฉe sur la connaissance de la logique interne du code d'une application et comprenant des tests tels que la couverture des instructions de code, des branches, des chemins et des conditions. Elle est rรฉalisรฉe par des dรฉveloppeurs de logiciels. Lire la suite sur Test en boรฎte blanche
  5. Tests de flux de travail : Technique de test scriptรฉe de bout en bout qui duplique des flux de travail spรฉcifiques qui devraient รชtre utilisรฉs par l'utilisateur final. Elle est gรฉnรฉralement rรฉalisรฉe par des รฉquipes de tests. Lire la suite sur Test de flux de travail

Comment choisir le type de test logiciel appropriรฉ

Avec plus de 100 types de tests disponibles, choisir la bonne approche pour votre projet peut s'avรฉrer complexe. L'essentiel est d'aligner votre stratรฉgie de test sur les objectifs, les contraintes et la tolรฉrance au risque de votre projet.

Commencez par les exigences du projet

Commencez par analyser les fonctionnalitรฉs requises par votre application. Si votre logiciel traite des donnรฉes sensibles, priorisez les tests de sรฉcuritรฉ et les tests d'intrusion dรจs le dรฉbut. Pour les applications destinรฉes aux clients, les tests d'utilisabilitรฉ et d'accessibilitรฉ doivent รชtre prioritaires. Les systรจmes d'entreprise avec des intรฉgrations complexes exigent des tests d'intรฉgration et des tests d'intรฉgration systรจme approfondis.

Considรฉrons la mรฉthodologie de dรฉveloppement

Votre approche de dรฉveloppement influence directement vos choix de tests. Les รฉquipes agiles tirent profit de pratiques de tests continus telles que les tests automatisรฉs, les tests de rรฉgression et les tests exploratoires au sein de chaque sprint. Les projets en cascade suivent gรฉnรฉralement une approche sรฉquentielle avec des phases distinctes pour les tests unitaires, les tests d'intรฉgration, les tests systรจme et les tests d'acceptation.

ร‰valuer les risques et les impacts

Concentrez vos efforts de test lร  oรน les dรฉfaillances seraient les plus prรฉjudiciables. Les applications financiรจres exigent une validation poussรฉe de leur prรฉcision et de leur sรฉcuritรฉ. Les systรจmes de santรฉ nรฉcessitent des tests de conformitรฉ rigoureux. Les plateformes de commerce รฉlectronique requiรจrent des tests de performance et de charge robustes pour gรฉrer les pics de trafic.

ร‰quilibrer les approches manuelles et automatisรฉes

Tous les types de tests ne nรฉcessitent pas d'automatisation. Les tests exploratoires, les tests d'utilisabilitรฉ et les tests ad hoc reposent sur le jugement humain. Les tests de rรฉgression, les tests de charge et les tests de fumรฉe bรฉnรฉficient grandement de l'automatisation. Les stratรฉgies les plus efficaces combinent les deux approches en fonction des ressources disponibles.

Comment l'IA transforme les tests logiciels

L'intelligence artificielle rรฉvolutionne le paysage des tests logiciels en automatisant des tรขches qui exigeaient auparavant un effort manuel considรฉrable. Les outils de test basรฉs sur l'IA peuvent dรฉsormais gรฉnรฉrer automatiquement des cas de test en analysant le comportement de l'application, les habitudes des utilisateurs et les modifications du code, rรฉduisant ainsi drastiquement le temps nรฉcessaire ร  la crรฉation de suites de tests complรจtes.

L'une des applications les plus marquantes est la prรฉdiction intelligente des dรฉfauts. Les modรจles d'apprentissage automatique analysent les donnรฉes historiques de bogues et les indicateurs de complexitรฉ du code pour identifier les modules les plus susceptibles de contenir des dรฉfauts, permettant ainsi aux รฉquipes de concentrer leurs efforts lร  oรน les problรจmes sont les plus probables.

Les scripts de test autorรฉparateurs constituent une autre avancรฉe majeure. Les tests automatisรฉs traditionnels dysfonctionnent frรฉquemment lors de modifications de l'interface utilisateur. Les outils basรฉs sur l'IA dรฉtectent ces modifications et mettent ร  jour automatiquement les sรฉlecteurs et assertions de test, rรฉduisant ainsi considรฉrablement les coรปts de maintenance.

Les tests de rรฉgression visuelle basรฉs sur l'IA comparent les captures d'รฉcran entre les diffรฉrentes versions et distinguent intelligemment les modifications de conception intentionnelles des vรฉritables dรฉfauts visuels. ร€ mesure que l'IA se perfectionne, les professionnels de l'assurance qualitรฉ devraient la considรฉrer comme un complรฉment ร  leur expertise plutรดt que comme un substitut.

Principales diffรฉrences entre les tests manuels et automatisรฉs

Savoir quand privilรฉgier les tests manuels aux tests automatisรฉs est une dรฉcision cruciale qui influe sur les dรฉlais, les budgets et la qualitรฉ des projets. Le tableau comparatif ci-dessous met en lumiรจre les principales diffรฉrences entre ces deux approches fondamentales.

Critรจres Test manuel Test automatisรฉ
Internationaux Rรฉalisรฉ รฉtape par รฉtape par des testeurs humains Exรฉcutรฉ par des scripts et des outils de test
Speed Plus lent, limitรฉ par le rythme humain Plus rapide, exรฉcute les tests en parallรจle
Coรปt initial Investissement initial rรฉduit Plus รฉlevรฉ en raison de la configuration des outils et des scripts
Rรฉpรฉtabilitรฉ Sujet ร  l'erreur humaine lors de la rรฉpรฉtition Constant et fiable sur l'ensemble des courses
Meilleur pour Tests exploratoires, d'utilisabilitรฉ et ad hoc Tests de rรฉgression, de charge et de fumรฉe
Souplesse S'adapte rapidement aux changements Nรฉcessite des mises ร  jour de script pour les modifications
Retour sur investissement ร  long terme Coรปt plus รฉlevรฉ au fil du temps pour les tรขches rรฉpรฉtitives Rentable pour les tests frรฉquemment effectuรฉs

Les รฉquipes d'assurance qualitรฉ les plus performantes ne privilรฉgient pas une approche plutรดt qu'une autre. Elles รฉlaborent plutรดt une stratรฉgie de test รฉquilibrรฉe qui tire parti des tests manuels pour les domaines nรฉcessitant une expertise humaine et des tests automatisรฉs pour les validations rรฉpรฉtitives, gourmandes en donnรฉes ou urgentes.

La liste est maintenant terminรฉe. Pour trouver les outils appropriรฉs ร  ce type de test et ร  d'autres, consultez cette collection de outils de test.

Questions frรฉquentes

Les tests unitaires sont le type de test le plus rรฉpandu car les dรฉveloppeurs les exรฉcutent pendant le dรฉveloppement pour vรฉrifier que chaque composant de code fonctionne correctement avant son intรฉgration au systรจme global.

Les tests fonctionnels vรฉrifient la conformitรฉ du logiciel aux exigences spรฉcifiรฉes. Les tests non fonctionnels รฉvaluent les performances du logiciel, notamment sa vitesse, son รฉvolutivitรฉ, sa sรฉcuritรฉ et son ergonomie dans diverses conditions.

Des tests de rรฉgression doivent รชtre effectuรฉs aprรจs chaque modification de code, correction de bug ou ajout de nouvelle fonctionnalitรฉ afin de garantir que les fonctionnalitรฉs existantes restent inchangรฉes.

Oui. La plupart des projets utilisent simultanรฉment plusieurs types de tests. Un projet typique combine tests unitaires, tests d'intรฉgration, tests systรจme et tests d'acceptation utilisateur ร  travers diffรฉrentes phases de dรฉveloppement.

Les tests alpha sont rรฉalisรฉs en interne par les dรฉveloppeurs et les รฉquipes d'assurance qualitรฉ sur le site de dรฉveloppement. Les tests bรชta sont effectuรฉs par de vรฉritables utilisateurs finaux dans leur environnement rรฉel avant la mise en production finale.

L'IA amรฉliore les tests grรขce ร  la gรฉnรฉration automatisรฉe de cas de test, la prรฉdiction intelligente des dรฉfauts, les scripts de test auto-rรฉparateurs et la dรฉtection visuelle des rรฉgressions, rรฉduisant considรฉrablement les efforts manuels et amรฉliorant la couverture des tests.

Non. L'IA automatise les tรขches rรฉpรฉtitives et accรฉlรจre leur exรฉcution, mais le jugement humain reste essentiel pour les tests exploratoires, l'รฉvaluation de la facilitรฉ d'utilisation et la comprรฉhension de la logique mรฉtier complexe et de l'expรฉrience utilisateur.

Les tests exploratoires sont une approche non structurรฉe oรน les testeurs conรงoivent et exรฉcutent simultanรฉment des tests en s'appuyant sur leur expรฉrience. Ils permettent de dรฉceler des dรฉfauts que les tests structurรฉs pourraient manquer.

Rรฉsumez cet article avec :