exact difference between verification
Vérification vs validation: explorez les différences avec des exemples
Son retour à l'essentiel gens! Un regard classique sur la différence entre Verification ET VALIDATION .
Il y a beaucoup de confusion et de débat autour de ces termes dans le monde des tests de logiciels.
Dans cet article, nous verrons ce que sont la vérification et la validation du point de vue des tests logiciels. À la fin de cet article, nous aurons la dérive des différences entre les deux termes.
Voici quelques-unes des raisons importantes de comprendre la différence:
- C'est un concept d'AQ fondamental, c'est donc presque la pierre angulaire pour être conscient de l'AQ.
- Ceci est un Question d'entretien de test de logiciel .
- Certification syllabus a un bon nombre de chapitres tournant autour de cela.
- Enfin, et pratiquement pendant que nous testons ces deux types de tests, nous pourrions tout aussi bien être des experts en la matière.
Ce que vous apprendrez:
- Qu'est-ce que la vérification et la validation dans les tests de logiciels?
- Qu'est-ce que la vérification?
- Qu'est-ce que la validation?
- Exemples de validation et de vérification
- V&V dans différentes phases du cycle de vie du développement
- Différence entre la vérification et la validation
- Diverses normes
- Quand utiliser Valider et vérifier?
- Conclusion
Qu'est-ce que la vérification et la validation dans les tests de logiciels?
Dans le cadre des tests, ' Verification ET VALIDATION »Sont les deux termes largement et couramment utilisés. La plupart du temps, nous considérons les deux termes comme identiques, mais en fait, ces termes sont assez différents.
Les tâches de V&V (vérification et validation) comportent deux aspects:
- Confirmer les exigences (vue du producteur sur la qualité)
- Apte à l'usage (vue des consommateurs sur la qualité)
Le point de vue du producteur sur la qualité , en termes plus simples, signifie la perception par les développeurs du produit final.
Les consommateurs voient la qualité désigne la perception du produit final par l’utilisateur.
Lorsque nous effectuons les tâches V&V, nous devons nous concentrer sur ces deux visions de la qualité.
Commençons par les définitions de la vérification et de la validation, puis nous allons comprendre ces termes avec des exemples.
Noter: Ces définitions sont, comme mentionné dans le CSTE CBOK de QAI (consultez ce lien pour en savoir plus sur CSTE).
Qu'est-ce que la vérification?
La vérification est le processus d'évaluation des produits de travail intermédiaires d'un cycle de vie de développement logiciel pour vérifier si nous sommes dans la bonne voie pour créer le produit final.
En d'autres termes, on peut également affirmer que la vérification est un processus d'évaluation des produits médiateurs du logiciel pour vérifier si les produits satisfont aux conditions imposées au début de la phase.
Maintenant, la question ici est: Quels sont les produits intermédiaires ou médiateurs?
Eh bien, ceux-ci peuvent inclure les documents qui sont produits pendant les phases de développement comme la spécification des exigences, les documents de conception, la conception de la table de base de données, les diagrammes ER, les cas de test, matrice de traçabilité , etc.
Nous avons parfois tendance à négliger l'importance de la révision de ces documents, mais nous devons comprendre que la révision elle-même peut découvrir de nombreuses anomalies cachées lorsqu'elles sont trouvées ou corrigées dans la phase ultérieure du cycle de développement, cela peut être très coûteux.
La vérification garantit que le système (logiciel, matériel, documentation et personnel) est conforme aux normes et aux processus d’une organisation, en s’appuyant sur les méthodes d’examen ou non exécutables.
Où la vérification est-elle effectuée?
Spécifiques aux projets informatiques, voici quelques-uns des domaines (je dois souligner que ce n'est pas tout) dans lesquels la vérification est effectuée.
Situation de vérification | Acteurs | Définition | Production |
---|---|---|---|
Examen de la documentation de test (examen par les pairs) | Membres de l'équipe d'assurance qualité | Un examen par les pairs est l'endroit où les membres de l'équipe examinent le travail des autres pour s'assurer qu'il n'y a pas d'erreurs dans la documentation elle-même. | Documentation de test prête à être partagée avec les équipes externes. |
Examen des exigences opérationnelles / fonctionnelles | Équipe de développement / client pour les besoins de l'entreprise. | C'est une étape nécessaire non seulement pour s'assurer que les exigences ont été rassemblées et / ou correctement, mais aussi pour s'assurer qu'elles sont réalisables ou non. | Exigences finalisées qui sont prêtes à être consommées par la prochaine étape - la conception. |
Examen de la conception | Équipe de développement | Suite à la création de la conception, l'équipe de développement la revoit en profondeur pour s'assurer que les exigences fonctionnelles peuvent être satisfaites via la conception proposée. | La conception est prête à être mise en œuvre dans un système informatique. |
Procédure pas à pas du code | Développeur individuel | Le code une fois écrit est revu pour identifier toute erreur syntaxique. Ceci est de nature plus informelle et est effectué par le développeur individuel sur le code développé par lui-même. | Code prêt pour les tests unitaires. |
Inspection du code | Équipe de développement | Il s'agit d'une configuration plus formelle. Les experts en la matière et les développeurs vérifient le code pour s'assurer qu'il est conforme aux objectifs commerciaux et fonctionnels visés par le logiciel. | Code prêt à être testé. |
Examen du plan de test (interne à l'équipe d'assurance qualité) | Équipe QA | Un plan de test est revu en interne par l'équipe d'assurance qualité pour s'assurer qu'il est précis et complet. | Un document de plan de test prêt à être partagé avec les équipes externes (Gestion de projet, Business Analysis, développement, Environnement, client, etc.) |
Examen du plan de test (externe) | Chef de projet, analyste commercial et développeur. | Une analyse formelle du document du plan de test pour s'assurer que le calendrier et les autres considérations de l'équipe QA sont en ligne avec les autres équipes et l'ensemble du projet lui-même. | Un document de plan de test signé ou approuvé sur lequel l'activité de test sera basée. |
Examen final de la documentation de test | Analyste d'affaires et équipe de développement. | Une revue de la documentation de test pour s'assurer que les cas de test couvrent toutes les conditions commerciales et les éléments fonctionnels du système. | Documentation de test prête à être exécutée. |
Voir le examen de la documentation de test article qui publie un processus détaillé sur la façon dont les testeurs peuvent effectuer l'examen.
Qu'est-ce que la validation?
La validation est le processus d'évaluation du produit final pour vérifier si le logiciel répond aux besoins de l'entreprise. En termes simples, l'exécution des tests que nous faisons dans notre vie de tous les jours est en fait l'activité de validation qui comprend test de fumée , tests fonctionnels, tests de régression, tests de systèmes, etc.
La validation est toutes les formes de test qui impliquent de travailler avec le produit et de le tester.
Voici les techniques de validation:
La validation garantit physiquement que le système fonctionne selon un plan en exécutant les fonctions du système à travers une série de tests qui peuvent être observés et évalués.
Assez juste, non? Voici mes deux cents:
Quand j'essaye de traiter ce concept V&V dans ma classe, il y a beaucoup de confusion autour de lui. Un exemple simple et mesquin semble résoudre toute la confusion. C'est un peu idiot mais ça marche vraiment.
Exemples de validation et de vérification
Exemple réel :Imaginez-vous aller dans un restaurant / dîner et commander peut-être des crêpes aux myrtilles. Lorsque le serveur / serveuse apporte votre commande, comment pouvez-vous dire que la nourriture qui est sortie est conforme à votre commande?
Les premières choses sont que nous l'examinons et remarquons les choses suivantes:
C ++ 11 questions d'entretien
- La nourriture ressemble-t-elle à ce que semblent être les crêpes?
- Les myrtilles sont-elles visibles?
- Sentent-ils bon?
Peut-être plus, mais vous avez raison?
D'un autre côté, lorsque vous devez être absolument sûr que la nourriture est comme vous l'attendiez: vous devrez la manger.
La vérification, c'est tout lorsque vous n'avez pas encore mangé, mais que vous vérifiez certaines choses en passant en revue les sujets. La validation, c'est quand vous mangez réellement le produit pour voir s'il est juste.
Dans ce contexte, je ne peux pas m'en empêcher mais reviens à la CSTE CBOK référence. Il y a une merveilleuse déclaration qui nous aide à ramener ce concept à la maison.
La vérification répond à la question 'Avons-nous créé le bon système?' tandis que les validations abordent: «Avons-nous construit le système correctement?»
V&V dans différentes phases du cycle de vie du développement
La vérification et la validation sont effectuées à chacune des phases du cycle de vie du développement.
Essayons de les examiner.
# 1) Tâches V & V - Planification
- Vérification du contrat.
- Évaluation du document conceptuel.
- Effectuer une analyse des risques.
# 2) Tâches V & V - Phase d'exigence
- Évaluation des exigences logicielles.
- Évaluation / analyse des interfaces.
- Génération du plan de test des systèmes.
- Génération du plan de test d'acceptation.
# 3) Tâches V&V - Phase de conception
- Évaluation de la conception de logiciels.
- Evaluation / Analyse des Interfaces (UI).
- Génération d'un plan de test d'intégration.
- Génération du plan de test des composants.
- Génération de conception de test.
# 4) Tâches V&V - Phase de mise en oeuvre
- Évaluation du code source.
- Évaluation des documents.
- Génération de cas de test.
- Génération de la procédure de test.
- Exécution de cas de test de composants.
# 5) Tâches V&V - Phase de test
- Exécution de cas de test de systèmes.
- Exécution du cas de test d'acceptation.
- Mise à jour des métriques de traçabilité.
- Analyse de risque
# 6) Tâches V&V - Phase d'installation et de vérification
- Audit de l'installation et de la configuration.
- Le test final de la version du candidat à l'installation.
- Génération du rapport de test final.
# 7) Tâches V&V - Phase d'exploitation
- Évaluation d'une nouvelle contrainte.
- Évaluation du changement proposé.
# 8) Tâches V&V - Phase de maintenance
- Évaluation des anomalies.
- Évaluation de la migration.
- Évaluation des caractéristiques du nouveau procès.
- Évaluation du changement proposé.
- Valider les problèmes de production.
Différence entre la vérification et la validation
Vérification | Validation |
---|---|
Évalue les produits intermédiaires pour vérifier s'ils répondent aux exigences spécifiques de la phase particulière. | Évalue le produit final pour vérifier s'il répond aux besoins de l'entreprise. |
Vérifie si le produit est construit conformément aux exigences spécifiées et aux spécifications de conception. | Il détermine si le logiciel est adapté à l'utilisation et répond aux besoins de l'entreprise. |
Vérifie «Construisons-nous le produit correctement»? | Vérifie «Construisons-nous le bon produit»? |
Cela se fait sans exécuter le logiciel. | Est terminé avec l'exécution du logiciel. |
Implique toutes les techniques de test statique. | Comprend toutes les techniques de test dynamiques. |
Les exemples incluent les révisions, l'inspection et la visite virtuelle. | L'exemple inclut tous les types de tests comme la fumée, la régression, les fonctions, les systèmes et l'UAT. |
Diverses normes
ISO / CEI 12207: 2008
Activités de vérification | Activités de validation |
---|---|
La vérification des exigences implique un examen des exigences. | Préparez les documents d'exigences de test, les cas de test et d'autres spécifications de test pour analyser les résultats des tests. |
La vérification de la conception implique des examens de tous les documents de conception, y compris le HLD et le LDD. | Évaluez que ces exigences de test, cas de test et autres spécifications reflètent les exigences et sont aptes à l'emploi. |
La vérification du code comprend la révision du code. | Testez les valeurs limites, les contraintes et les fonctionnalités. |
La vérification de la documentation est la vérification des manuels d'utilisation et autres documents connexes. | Testez les messages d'erreur et en cas d'erreur, l'application se termine correctement. Teste que le logiciel répond aux exigences de l'entreprise et qu'il est apte à être utilisé. |
CMMI:
La vérification et la validation sont deux KPA différents au niveau de maturité 3
Activités de vérification | Activités de validation |
---|---|
Effectuer des examens par les pairs. | Validez que les produits et ses composants sont adaptés à l'environnement. |
Vérifiez les produits de travail sélectionnés. | Lorsque le processus de validation est mis en œuvre, il est surveillé et contrôlé. |
Standardisez un processus défini en établissant des politiques au niveau de l'organisation pour la planification et la réalisation d'examens. | Faites des activités sur les leçons apprises et collectez des informations sur l'amélioration. Institutionnaliser un processus défini. |
IEEE 1012:
Les objectifs de ces activités de test sont:
- Facilite la détection précoce et la correction des erreurs.
- Encourage et améliore l'intervention de gestion à l'intérieur des risques liés aux processus et aux produits.
- Fournit des mesures de soutien pour le processus du cycle de vie du logiciel, afin d'améliorer la conformité aux exigences du calendrier et du budget.
Quand utiliser Valider et vérifier?
Il s'agit de procédures indépendantes qui doivent être utilisées ensemble pour vérifier si le système ou l'application est conforme aux exigences et aux spécifications et qu'il atteint son objectif. Les deux sont des éléments importants du système de gestion de la qualité.
Il est souvent possible qu'un produit passe par la vérification mais échoue dans la phase de validation. Comme il répondait aux exigences et spécifications documentées, ces spécifications étaient elles-mêmes incapables de répondre aux besoins de l’utilisateur. Ainsi, il est important d'effectuer des tests pour les deux types afin de garantir la qualité globale.
La vérification peut être utilisée comme processus interne de développement, de mise à l'échelle ou de production. D'autre part, la validation doit être utilisée comme un processus externe pour obtenir l'acceptation de l'aptitude avec les parties prenantes.
Est-ce une validation ou une vérification UAT?
UAT (User Acceptance Testing) doit être considéré comme une validation. Il s'agit de la validation réelle du système ou de l'application, qui est effectuée par les utilisateurs réels qui valident si le système est «apte à l'emploi».
Conclusion
Les processus V&V déterminent si les produits d'une activité donnée sont conformes aux exigences et adaptés à son utilisation.
Enfin, voici quelques points à noter:
- En termes très simples (pour éviter toute sorte de confusion), nous nous souvenons simplement que la vérification signifie les activités de revue ou les techniques de test statiques et la validation signifie les activités d'exécution de test réelles ou les techniques de test dynamiques.
- La vérification peut concerner ou non le produit lui-même. La validation a définitivement besoin du produit. La vérification peut parfois être effectuée sur les documents qui représentent le système final.
- La vérification et la validation ne doivent pas nécessairement être effectuées par les testeurs. Comme vous le voyez ci-dessus dans cet article, certaines d'entre elles sont effectuées par les développeurs et d'autres équipes.
C'est tout ce que vous devez savoir sur la vérification et la validation pour être les PME (experts en la matière) sur le sujet.
lecture recommandée
- Différence entre les tests de bureau, client-serveur et Web
- Test fonctionnel vs test de performance: doit-il être fait simultanément?
- Meilleurs outils de test de logiciels 2021 (Outils d'automatisation des tests QA)
- Test fonctionnel vs test non fonctionnel
- Test statique et test dynamique - Différence entre ces deux techniques de test importantes
- Test de performance vs test de charge vs test de stress (différence)
- Build Verification Testing (BVT Testing) Guide complet
- 101 différences entre les bases des tests de logiciels