Dictionnaire du Test et de l'Agilité

De A à Z pour comprendre les termes clés concernant les essais, l'agilité, l'automatisation et la validation continue.

A

Test d'accessibilité

Sous-catégorie des tests d'utilisabilité qui consiste à rendre vos applications web et mobiles utilisables par le plus grand nombre de personnes possible. Il permet de rendre les applications accessibles aux personnes souffrant d'un handicap, comme une déficience visuelle, une déficience auditive ou toute autre condition physique ou cognitive.

Agile

Approche itérative de la gestion de projet et du développement de logiciels. Une équipe agile fournit un travail en petites quantités, mais consommables.

Méthode Agile (dans les tests de logiciels)

Méthodologie permettant de transformer la vision d'un besoin commercial en solutions logicielles. Elle décrit les approches de développement de logiciels qui font appel à la planification, à l'apprentissage et à l'amélioration continus, à la collaboration des équipes, au développement évolutif, à la livraison rapide et qui encouragent les réponses flexibles au changement.

Gestion agile des logiciels

Une approche de gestion de projet qui développe des incréments de logiciels par itérations fréquentes en fonction de l'évolution des besoins.

Anomalie

Se réfère à un résultat qui est différent de celui attendu. Ce comportement peut être le résultat d'un document mais aussi de la notion et des expériences d'un testeur. Cette notion renvoie également à un problème d'utilisabilité, car le logiciel de test peut se comporter comme prévu dans la spécification. Parfois, l'anomalie peut également faire référence à un défaut/bug.

Tests logiciels automatisés

Utilise des outils automatisés pour surveiller l'exécution des tests et comparer les résultats réels aux résultats attendus. En général, les tests de régression, qui sont des actions répétitives, sont automatisés. Ces outils nous aident à réaliser des tests de régression, mais aussi à automatiser la génération de la configuration des données, l'installation du produit, l'interaction avec l'interface graphique, l'enregistrement des défauts, etc.

B

Backlog

Une liste de toutes les fonctionnalités souhaitées du produit, basée sur les exigences du client, qui peut évoluer en conséquence. Cette liste vous permet d'établir une chronologie pour la mise en œuvre de ces fonctionnalités.

Test du chemin de base

Une technique de test structurée ou boîte blanche utilisée pour concevoir des cas de test, afin d'examiner tous les chemins d'exécution possibles au moins une fois.

Bebugging

Processus consistant à ajouter intentionnellement des défauts connus à l'application afin de surveiller le taux de détection et de suppression. Cette méthode permet d'améliorer la qualité du produit et est également utilisée pour déterminer la fiabilité d'un ensemble de tests ou d'une suite de tests.

Bug

Omission d'un programmeur lorsque celui-ci a l'intention de mettre en œuvre un certain comportement, mais que le code ne se conforme pas correctement à ce comportement en raison d'une mise en œuvre incorrecte du codage. Apprenez quelle est l'origine du terme 'bug'.

Validation de la construction

Ensemble de tests effectués sur une nouvelle version pour en vérifier la testabilité avant de la transmettre à l'équipe de test.

C

Test de couverture du code

Le test de couverture du code détermine la quantité de code testée.

Inspection du code

L'inspection du code est un type d'examen formel qui permet d'éviter la multiplication des défauts dans un travail, et de mettre en évidence les améliorations du processus.

Examen du code

Un examen systématique qui permet de trouver et d'éliminer les vulnérabilités du code, telles que les fuites de mémoire. Ce type d'examen est généralement effectué par des pairs, sans participation de la direction. Les revues techniques peuvent être informelles ou formelles et peuvent avoir plusieurs objectifs (discussion, prise de décision, évaluation des alternatives, recherche de défauts et résolution de problèmes techniques).

Intégration continue

Pratique d'ingénierie logicielle qui implique l'intégration continue d'un nouveau code de développement dans la base de code existante.

Test continu

Approche qui encourage les tests le plus tôt possible. C'est une garantie de stabilité et de non-régression.

D

Daily-Scrum

Courte session de communication pour vérifier le statut, les progrès et signaler les problèmes de l'équipe Scrum.

Débogage

Processus systématique qui identifie et corrige le nombre de bugs ou de défauts dans un logiciel afin qu'il se comporte comme prévu. Le débogage est plus difficile pour les systèmes complexes, car les modifications apportées à un système ou à une interface peuvent faire apparaître des bugs dans un autre.

Definition of Done (DoD)

Ensemble de critères prédéterminés auxquels un produit doit répondre lorsqu'il est terminé. Voir DoD en détails.

Definition of Ready (DoR)

Une DoR vise à réduire l'incertitude, ce qui est bon pour de meilleures estimations au moment de la planification du sprint. Cette liste est une sorte de check-list que l'équipe et Product Owner ont utilisée pour fournir suffisamment de détails avant que le développement de la User Story ne commence afin d'être le plus autonome possible, tout comme la Definition of Done (DoD) pour dire si un US est effectivement fait. Voir DoR pour plus de détails.

Le DevOps

Approche multidisciplinaire qui combine le développement de logiciels et les opérations informatiques. Contribue à créer un processus de travail plus agile.

E

Tests de bout en bout

Une technique utilisée pour vérifier que le flux d'une application se comporte comme prévu, du début à la fin. Elle identifie les dépendances du système et garantit le maintien de l'intégrité des données.

Tests d'endurance

Tests effectués pour déterminer si l'application testée peut supporter des charges continues. Également connu sous le nom de "Soak Testing".

Programmation extrême (XP)

Méthode agile de développement de logiciels qui met l'accent sur l'implication des clients, la transparence, les tests et la livraison fréquente de logiciels fonctionnels.

F

Test de basculement

Technique de test qui valide la capacité d'un système à allouer des ressources supplémentaires et à transférer des opérations vers des systèmes de secours en cas de défaillance d'un serveur. Cela permet de déterminer si un système est capable de gérer des ressources supplémentaires, telles que des CPU ou des serveurs supplémentaires, lors de défaillances critiques ou lorsque le système atteint un seuil de performance.

FIRST Testing (premiers essais)

FIRST est un acronyme qui signifie
- 'Fast' (les tests doivent être exécutés rapidement pour obtenir un retour d'information rapide et facile, afin que l'exécution du script de test fasse facilement partie de l'activité de développement. De plus, lorsqu'ils sont intégrés à un pipeline, gardez à l'esprit que l'ensemble du processus C/CD doit durer moins de 10').
- Indépendant (les tests ne doivent pas dépendre les uns des autres. Vous devez être en mesure d'exécuter chaque test indépendamment et d'exécuter les tests dans n'importe quel ordre. C'est probablement la raison pour laquelle certains auteurs appellent cette caractéristique "Isolé" et éventuellement "Modèle de test hermétique" ou "Test is an Island Pattern").
- Répétable (les tests doivent pouvoir être répétés à tout moment, dans n'importe quel environnement).
- Auto-validation (les tests doivent avoir une sortie booléenne. Aucune interprétation n'est nécessaire, ils réussissent ou échouent).
-Timely" (Les tests doivent être écrits en temps opportun, le plus tôt sera le mieux, même avant le code de production).
FIRST Test en détail.

Test fonctionnel

Une technique de test utilisée pour tester les caractéristiques ou la fonctionnalité du système ou du logiciel. Ces tests doivent couvrir tous les scénarios, y compris les voies de défaillance et les cas limites.

G

Gamification de la rétrospective

Faire une rétrospective consiste à mettre en évidence ce qui s'est bien ou mal passé et à générer des actions correctives ou préventives dans le cadre d'un cycle d'amélioration continue PDCA. Malheureusement, si l'on regarde le même objet du même point de vue, cela devient stérile et ennuyeux. Gamification de la perspective en détail.

Sessions Gemba

Les sessions Gemba aident à trouver des opportunités d'amélioration car l'innovation ne se fait pas dans la salle de réunion mais là où la valeur est créée. Il est crucial de faire des Gemba Walking. S'asseoir à son bureau ne fournit que des connaissances explicites, tandis que discuter avec les gens et regarder les choses à leur place permet de repérer des indices, ce sont des connaissances tacites. Les sessions Gemba en détail.

Test logiciel GUI

L'interface utilisateur de l'application est testée pour déterminer si l'application fonctionne comme prévu en termes de comportement de l'interface utilisateur. Ce test comprend le comportement de l'application en réponse aux mouvements du clavier et de la souris et le comportement des différents objets de l'interface graphique en réponse aux entrées de l'utilisateur.

H

Tests d'intégration hybrides

Les tests d'intégration hybrides exploitent les avantages des tests d'intégration descendants et ascendants. Ces tests d'intégration hybrides sont adoptés si le client souhaite travailler sur une version fonctionnelle de l'application le plus rapidement possible, afin de produire un système fonctionnel de base dès les premières étapes du cycle de développement. Ces tests sont principalement axés sur la couche cible de niveau intermédiaire et sont sélectionnés en fonction des caractéristiques du système et de la structure du code.

Harnais (test)

Environnement de test composé de stubs et de pilotes qui doivent exécuter un test. Le harnais de test permet d'exécuter un ensemble de tests. Il capture les entrées de l'application testée, et fournit une flexibilité et un support pour le débogage. Il aide les développeurs à mesurer la couverture du code, à augmenter la productivité (car l'automatisation est en place) et à améliorer la qualité des logiciels. Il peut également gérer des conditions complexes que les testeurs ont du mal à simuler. Le harnais de test en détail.

I

Tests indépendants

Équipe indépendante qui participe aux activités de test des non-développeurs pour éviter les préjugés des auteurs. Cela les rend souvent plus efficaces pour trouver les défauts et les défaillances.

Test d'intégration

Vérifiez le fonctionnement, les performances et la fiabilité des modules qui sont intégrés.

Itération

Période de temps fixe ou encadrée, s'étendant généralement sur deux à quatre semaines, pendant laquelle une équipe Agile développe un produit livrable, potentiellement expédiable. Un projet Agile typique consiste en une série d'itérations, avec une réunion de planification avant le développement et une réunion de rétrospective à la fin de l'itération.

Développement itératif

Processus de décomposition des projets en éléments plus faciles à gérer, appelés itérations. En Agile, les itérations sont des méthodologies essentielles pour produire un livrable ou un produit potentiellement expédiable.

J

Jidoka

Mot japonais désignant l'automatisation qui corrige les problèmes de la robotisation. Jidoka est utilisé pour améliorer les robots, en détectant chaque situation et en adaptant les comportements des robots avec les manipulations appropriées. Jidoka sur le pipeline en détail.

K

Kaizen

L'utilisation de la culture pour améliorer la productivité en exploitant le pouvoir cérébral unique de chaque personne pour générer des idées innovantes. Kaizen en détail.

Indicateur clé de performance (KPI)

Indicateurs utilisés pour évaluer l'efficacité du processus logiciel. C'est un paramètre important car leur utilisation est analysée, et le résultat de la mesure est utilisé pour toute amélioration du processus.

Tests basés sur des mots-clés (Keyword testing)

Automatisation fonctionnelle référentiel de test qui utilise un format de tableau pour définir des mots-clés ou des mots d'action pour chaque fonction que nous voulons exécuter.

L

L'approche Lean

Méthodologie permettant d'optimiser les ressources et les efforts d'une organisation afin de créer de la valeur pour le client. Voir l'approche Lean en détail.

Générateur de charge (Load Generator)

Système utilisé pour simuler la charge afin d'effectuer des tests de performance. Ce système peut impliquer des tests de concurrence ou des tests de performance SQL. Le système envoie une requête à distance, appelée "système hôte" ou "système de génération de charge".

Le test de charge

Une technique de test de performance qui mesure la réponse du système dans diverses conditions de charge. Ces tests sont effectués pour des conditions de charge normales et de pointe. Article sur les tests de charge : Tests de charge - Vous pouvez y prêter attention, par Jolivé Hodehou.

M

Test manuel

Processus de test effectué manuellement pour trouver des défauts sans utiliser d'outils d'automatisation ou de scripts. Un document de plan de test est utilisé pour guider le processus de test afin d'obtenir une couverture de test complète.

Tests basés sur des modèles

Le test basé sur un modèle est une technique de test de logiciels où les cas de test sont dérivés d'un modèle qui décrit les aspects fonctionnels du système testé. Ce modèle génère des tests en ligne et hors ligne.

Tests axés sur la modularité

Un cadre de test d'automatisation dans lequel de petits modules indépendants de scripts d'automatisation sont développés pour l'application testée. Ces scripts individuels sont construits ensemble pour former un test qui exécute un cas de test particulier.

Tests sur les singes

Une technique de test de logiciels dans laquelle les tests sont effectués sur le système testé de manière aléatoire. Les données d'entrée utilisées pour les tests sont également générées de manière aléatoire et introduites dans le système.

Test de mutation

Une technique de test qui utilise la structure du code pour guider le processus de test. À un niveau très élevé, cela devient un processus de réécriture du code source par petits incréments, pour aider à éliminer les redondances dans le code source. Ces répétitions peuvent provoquer des défaillances dans le logiciel si elles ne sont pas corrigées et peuvent facilement passer la phase de test sans être détectées.

N

Test négatif

Assure que l'application testée ne tombe pas en panne lorsqu'une entrée inattendue est donnée. Ces tests brisent le système pour vérifier le comportement et la réponse de l'application.

No-code automatisation des tests

Les tests automatisés sans code, ou no-code automation, sont le processus de création de tests automatisés sans écrire une seule ligne de code.

Les tests non fonctionnels

Permet de vérifier les attributs du système tels que les fuites de mémoire, les performances ou la robustesse du système. Ces tests sont effectués à tous les niveaux de test.

O

Objectives Key Results (OKR)

Un OKR se compose de deux parties : l'objectif et les résultats clés. L'objectif est ce qui doit être atteint. Il doit être significatif, basé sur des observables et inspirant. Il doit s'agir d'un objectif ambitieux. Atteindre 100 % signifie que c'était trop facile et peut ne pas conduire à un effort continu. Les objectifs doivent également pouvoir être partagés par l'ensemble de l'organisation pour éviter de créer des silos de performance. Les résultats clés sont la preuve de la réalisation de l'objectif et montrent la progression vers l'objectif et finalement à quel point nous sommes proches. Ils doivent être SMART et binaires (fait ou non fait). Voir OKR en détail.

Essais opérationnels

Une technique de test qui vérifie la disponibilité opérationnelle, avant la mise en service, d'un produit ou d'une application testée dans le cadre du cycle de vie des tests logiciels.

P

Test en binôme

Une technique de test de logiciels dans laquelle deux personnes testent la même fonctionnalité au même endroit et au même moment en échangeant continuellement des idées. Cela permet de générer plus d'idées et de mieux tester l'application testée.

Panarchie

Modèle conceptuel qui décrit comment des systèmes complexes de personnes et de nature sont organisés et structurés de manière dynamique à travers des échelles d'espace et de temps. La panarchie en détail.

PanTesting

Modèle de test agile à l'échelle. Il est composé de testabilité pour fournir des moyens techniques et sociaux pour permettre le test, la théorie des contraintes permet le flux au niveau du système, Panarchy est un modèle d'interaction entre les sous-systèmes [Gunderson 2002] et conduit à une norme de maturité évolutive vers une organisation sans silos et un apprentissage en double boucle propose des boucles de rétroaction entrelacées qui conduisent à un "bon produit" au lieu d'un "produit conforme" puisqu'il y a une compréhension de ce qui doit être testé. Voir PanTesting en détail.

Test de cheminement

Méthode de test structurel basée sur le code source ou l'algorithme, et non sur les spécifications. Elle peut être appliquée à différents niveaux de granularité.

Tests passifs

Une technique de test logiciel qui observe le système sans interaction.

Tests positifs

Une technique pour montrer qu'un produit ou une application testée fait ce qu'elle est censée faire. Elle vérifie si l'application ne présente pas d'erreur lorsqu'elle n'est pas censée le faire et si elle présente une erreur lorsqu'elle est censée le faire.

Q

Assurance de la qualité

Procédures d'audit et de reporting utilisées pour fournir aux parties prenantes les données nécessaires pour prendre des décisions éclairées. Il permet de surveiller les processus et les produits tout au long du SDLC.

R

Test aléatoire

Les tests fonctionnels qui sont effectués lorsqu'il n'y a pas assez de temps pour écrire et exécuter les tests.

Re-testing

Exécutez un test qui a échoué précédemment avec un nouveau logiciel pour voir si le problème est résolu. Un nouveau test doit être effectué après chaque correction de défaut dans les mêmes conditions.

Test de récupération

Un type de technique de test non fonctionnel qui détermine la rapidité avec laquelle le système peut se rétablir après une panne ou un dysfonctionnement du matériel. Elle force la défaillance du logiciel pour vérifier la réussite de la récupération.

Test de régression

Ré-exécuter les tests qui sont affectés par les changements de code. Ces tests doivent être exécutés autant que possible tout au long du cycle de vie du développement logiciel. Les tests de régression finaux valident la version qui n'a pas été modifiée pendant un certain temps. Les tests de régression normaux vérifient si la construction n'a pas cassé d'autres parties de l'application.

Plan de libération

Un plan de diffusion est un document tactique conçu pour capturer et suivre les fonctionnalités prévues pour une prochaine version de produit. La plupart du temps, il s'agit d'un document de travail interne, qui est destiné aux équipes chargées du produit et du développement.

S

Test de scénario

Les scénarios sont un meilleur moyen de tester un système complexe. Ils doivent être crédibles et faciles à évaluer.

Scrum

Un cadre de gestion de projet, avec un accent initial sur le développement de logiciels, qui est un cadre léger, itératif et incrémentiel pour développer, livrer et maintenir des produits complexes.

Les smoke test

Vérifie la présence de fumée provenant des composants matériels une fois le matériel mis sous tension. Dans le contexte des tests de logiciels, il teste la fonctionnalité de base de la version. S'il échoue, la version est déclarée instable et n'est plus testée jusqu'à ce que le test de fumée de la version soit réussi.

Cartographie des histoires

Il s'agit d'une visualisation descendante, ou feuille de route, du backlog du produit. La carte des histoires commence par un objectif ou une fonctionnalité spécifique, qui est ensuite décomposé en histoires d'utilisateur.

Gestion de la qualité des logiciels

Il veille à ce que le niveau de qualité requis soit atteint en proposant des améliorations au processus de développement des produits. Il vise à développer une culture au sein de l'équipe. Il doit être indépendant de la gestion de projet pour garantir l'indépendance vis-à-vis du respect des coûts et du calendrier.

T

Tableau des tâches

Représentation visuelle des user stories décomposées en tâches ou unités de travail.

Méthode d'essai

Mise en œuvre de la stratégie de test d'un projet, qui définit comment les tests seront effectués. Il existe deux techniques différentes. La technique proactive, dans laquelle le processus de conception des tests est lancé le plus tôt possible, afin de trouver et de corriger les défauts avant la création du build. Et la technique réactive, dans laquelle les tests ne sont pas lancés avant que la conception et le codage ne soient terminés.

Automatisation des tests

L'automatisation des tests logiciels utilise des outils spécialisés pour surveiller l'exécution des tests et comparer les résultats réels aux résultats attendus. Les outils de test permettent d'effectuer des tests de régression, mais aussi d'automatiser la génération de la configuration des données, l'installation du produit, l'interaction avec l'interface graphique, la consignation des défauts, etc.

Cas de test

Un document qui contient un ensemble de données de test, de résultats attendus et de postconditions. Il est développé pour un scénario de test particulier afin de vérifier la conformité à une exigence spécifique. Il constitue le point de départ de l'exécution du test.

Développement piloté par les tests (TDD)

La pratique qui consiste à concevoir et à construire des tests pour un code fonctionnel et opérationnel, puis à construire un code qui passera ces tests. Voir TDD en détail.

U

Les tests unitaires

Un court fragment de programme écrit pour tester et vérifier un morceau de code une fois qu'il est terminé. Il s'agit du premier niveau de test d'un produit de développement logiciel.

Test d'interface utilisateur

Une technique de test utilisée pour identifier la présence de défauts dans un produit ou un logiciel testé en utilisant l'interface utilisateur graphique (GUI).

Histoire de l'utilisateur

Description non technique d'une exigence d'un système logiciel rédigée du point de vue du client ou de l'utilisateur final.

V

Modèle V

Méthodologie du cycle de vie du développement logiciel. Il décrit les activités à réaliser et les résultats à produire au cours du cycle de vie du produit, et est connu sous le nom de "modèle de vérification et de validation".

Test de validation

Le processus d'évaluation d'un logiciel pendant le processus de développement ou à la fin de celui-ci. Il détermine si le logiciel répond aux exigences commerciales spécifiées. Les tests de validation garantissent que le produit répond réellement aux besoins du client. Il peut être défini comme la démonstration que le produit remplit l'objectif prévu lorsqu'il est déployé dans un environnement approprié.

Utilisateurs virtuels

Permet aux testeurs de créer des utilisateurs virtuels pour augmenter la charge de l'application testée. Le générateur d'utilisateurs virtuels capture les demandes de création d'un utilisateur virtuel et peut lire les opérations de l'utilisateur.

Test de vulnérabilité

Technique de test de logiciel qui évalue le quantum de risque impliqué dans le système afin de réduire la probabilité de l'événement.

W

Test d'applications Web

Technique de test logiciel adoptée pour tester les applications hébergées sur le Web et dans laquelle les interfaces et autres fonctionnalités de l'application sont testées.

Travaux en cours (WIP)

Elle consiste à limiter le nombre de tâches en cours afin d'assurer la quantité de travail livrée au client. Dans une équipe agile, l'absence de suivi du WIP se traduit souvent par une accumulation de tâches en cours sur une colonne Kanban. Voir WIP en détail.

Test du flux de travail

Acheminement d'un enregistrement par tous les chemins possibles pour s'assurer que chaque processus de workflow reflète fidèlement le processus métier. Ce type de test est valable pour les applications basées sur le flux de travail.

X

X-Teams

Une X-Team propose que l'équipe se décentre et s'immerge dans une approche plus systémique [SAFe 2021-2] et qu'elle se préoccupe de l'environnement dans lequel elle est immergée. Cet environnement comprend de nombreux aspects, comme les équipes de l'organisation avec lesquelles l'équipe évolue, le produit à réaliser,... Voir les X-Teams en détail
.

Y

Yokoten

L'équipe partage ce qu'elle a appris avec l'ensemble de l'organisation afin d'améliorer les choses. Le Yokoten est important pour l'amélioration du système et peut se dérouler de différentes manières, comme les rétrospectives et les démonstrations à l'échelle de l'entreprise. Yokoten en détail.

Z

Recevez les actualités du monde du test et d'Agilitest dans votre boîte mail

Merci ! Vous êtes maintenant inscrit à l'Agilitest newsletter.
Oups ! Un problème est survenu lors de la soumission du formulaire.
Rejoignez des milliers d'abonnés. Conforme RGPD et CCPA.