Vérification et validation dans les essais de logiciels

Vérification et validation dans les essais de logiciels
MIN
25 Juil 2023

Les tests de logiciels, qui font partie intégrante du développement de logiciels, permettent de s’assurer que les produits logiciels développés sont exempts de bogues, qu’ils respectent les normes de qualité et qu’ils répondent aux exigences des clients. Il s’agit essentiellement de la somme de deux activités : la vérification et la validation (V&V).

La R&D dans les tests de logiciels est constituée de deux processus indépendants qui travaillent ensemble pour vérifier qu’un produit particulier répond aux exigences spécifiées et qu’il est adapté à l’usage auquel il est destiné. De nombreuses personnes confondent souvent les deux termes et les utilisent de manière interchangeable. Toutefois, il est important de reconnaître qu’il s’agit de processus indépendants ayant des objectifs différents.

La vérification est le processus d’examen de la qualité d’un produit logiciel. En d’autres termes, il s’agit de vérifier que le produit répond aux exigences et aux spécifications de conception énoncées. La validation, quant à elle, est l’analyse d’un produit logiciel pour vérifier s’il répond aux exigences du client. Sans V&V, les équipes d’assurance qualité ou les testeurs ne peuvent pas mener à bien les tests de logiciels. Il s’agit d’éléments critiques car ils déterminent la qualité, la fiabilité et la fonctionnalité des produits logiciels. Cet article explique la vérification et la validation dans les tests de logiciels et les différences détaillées entre les deux.

Table des matières

Qu’est-ce que la vérification ?

Il s’agit du processus d’évaluation des artefacts du développement logiciel tels que les documents, la conception et le code, afin de s’assurer que le produit en cours de développement répond aux exigences spécifiées. Étant donné que ce processus n’analyse que les artefacts et non le produit final, il est souvent appelé test statique.

Les spécifications servent de base au processus de développement des logiciels. Les développeurs écrivent le code sur la base de ces spécifications. La vérification permet de s’assurer que le code du logiciel est conforme ou respecte les spécifications à chaque étape du cycle de développement durable.

Les activités de vérification sont l’inspection, l’examen du code et l’examen technique.

Ce processus permet de déterminer la qualité d’un produit logiciel, mais ne garantit pas son utilité. Elle est uniquement liée à l’évaluation du produit afin de vérifier qu’il n’y a pas d’erreurs ou de fautes.

Qu’est-ce que la validation ?

Il s’agit du processus d’évaluation d’un produit logiciel afin de vérifier s’il répond aux exigences et aux attentes du client. En d’autres termes, il s’agit de déterminer si le produit répond aux exigences commerciales du client. Il permet de déterminer si le produit a rempli sa fonction dans un environnement approprié.

Le processus de validation évalue le produit réel plutôt que les artefacts. On parle souvent d’essais dynamiques. Il ne s’intéresse qu’au résultat et non aux rouages du processus de développement.

Les activités incluses dans ce processus sont les tests fonctionnels et non fonctionnels.

La différence entre la vérification et la validation

L’ingénieur logiciel américain Barry W. Boehm décrit clairement les deux processus, ce qui vous aidera à comprendre la principale différence entre eux.

Vérification : « Construisons-nous le produit correctement ? »

Validation : « Sommes-nous en train de construire le bon produit ?

Comme vous pouvez le constater, les deux déclarations sont distinctes, avec une légère différence. La première déclaration consiste à vérifier que nous construisons le produit correctement, conformément aux exigences et aux spécifications. À l’inverse, la deuxième affirmation présuppose la vérification que nous construisons le bon produit qui répond à l’intention initiale ou sert l’objectif prévu.

Vérification et validation – comparaison côte à côte

Bien que ces processus soient similaires et contribuent à la haute qualité du produit final, ils sont différents. Voyons maintenant en détail la différence entre la validation et la vérification.

Vérification Validation
Le processus d’évaluation de la conception, du code et des documents pour s’assurer que le produit en cours de développement répond aux exigences spécifiées.Le produit logiciel est évalué pour vérifier s’il répond aux exigences commerciales du client et à ses besoins.
Le document, la conception et le code sont vérifiés par rapport aux exigences spécifiées.La fiabilité, la facilité d’utilisation et la fonctionnalité du produit final sont vérifiées.
Ce processus ne nécessite pas l’exécution d’un code.Ce processus nécessite l’exécution du code source.
La vérification est souvent appelée test statique.La validation est souvent appelée test dynamique.
Il suit une approche axée sur les processus.Elle suit une approche axée sur les produits.
Il répond à la question suivante : « Sommes-nous en train de construire le bon produit ?Il répond à la question : « Construisons-nous le bon produit ? ».
Les erreurs détectées au cours de ce processus nécessitent moins de coûts/ressources pour être corrigées que les erreurs détectées au cours de la phase de validation.Les erreurs détectées lors de la validation nécessitent davantage de coûts/ressources. Un défaut découvert plus tard entraîne des coûts de réparation plus élevés.
Comprend des activités telles que l’examen des documents, l’examen des cas de test, les visites guidées et l’examen du code.Il comprend des activités telles que les tests fonctionnels et les tests non fonctionnels.
La vérification est effectuée uniquement par l’équipe AQ (Assurance Qualité).L’équipe chargée des tests de logiciels et l’équipe chargée de l’assurance qualité effectuent conjointement le processus de vérification.
Elle a lieu avant la validation et au début du processus de développement.Elle ne commence qu’après la vérification.
La vérification porte sur des aspects internes tels que la conception, la base de données, le code, les exigences et l’architecture.La validation porte sur l’ensemble du produit final.
Il s’agit de prévenir les erreurs.Il s’agit de détecter les erreurs.
Le coût est moins élevé.C’est assez cher.

Vérification et validation – exemple

Pour comprendre ces processus, prenons un exemple concret.

Pensez à aller au restaurant et à commander des crêpes aux myrtilles. Comment vérifier que la nourriture que vous commandez correspond exactement à ce que vous voulez ?

Tout d’abord, vous savez à quoi ressemblent les crêpes aux myrtilles. Vous commencez donc à juger les aliments en fonction de leur apparence. Vous le vérifierez :

  • la nourriture est à la hauteur de vos espérances.
  • sont autour des myrtilles.
  • sent comme à l’accoutumée.

Il ne s’agit que d’une vérification, car vous ne testez pas le produit lui-même.

Si le plat répond aux paramètres ci-dessus, vous pouvez le déguster. Lorsque vous consommez un plat pour vérifier qu’il a le goût qu’il devrait avoir, il s’agit d’une validation.

Quand devez-vous vérifier et valider ?

Il s’agit de processus indépendants et essentiels dans le développement de logiciels, qui garantissent que le produit répond aux exigences spécifiées et remplit l’objectif prévu. Tous deux jouent un rôle important dans la garantie de la qualité des produits logiciels.

La vérification a lieu au début du processus de développement, tandis que la validation est effectuée après la vérification. Le premier est utilisé comme processus interne, tandis que le second est un processus externe puisqu’il implique l’approbation des parties prenantes.

Conclusion

Il s’agissait de la vérification et de la validation dans les tests de logiciels. Ces deux processus sont critiques et essentiels pour garantir la qualité, la fiabilité et la fonctionnalité des produits logiciels. Alors que la vérification consiste à construire le produit de la bonne manière, la validation consiste à développer le bon produit. Nous espérons que cet article vous a aidé à comprendre les différences entre ces processus.