J'ai suivi des questions de vérification et de validation ici avec mes collègues, mais nous sommes incapables de voir les légères différences, probablement causées par la barrière de la langue dans l'anglais technique.
Un exemple:
spécification exigence
L'utilisateur veut contrôler les lumières dans 4 pièces par télécommande envoyée de l'interface utilisateur pour chaque chambre séparément.
Spécification fonctionnelle
Permettez-moi de commencer avec ce que j'ai appris ici:
Vérification, selon de nombreuses grandes réponses ici, veille à ce que le produit reflète les exigences spécifiées - comme la spécification fonctionnelle est effectuée par un producteur basé sur des exigences du client, celle-ci sera vérifiée pour l'exhaustivité, l'exactitude). Ensuite, le document de conception sera coché contre la spécification fonctionnelle (il doit concevoir 4 cases à cocher ..) et le code source contre la conception (y a-t-il un code pour 4 cases à cocher, fonctionner pour envoyer les signaux, etc. - est-il traçable à des exigences).
D'accord, le produit est construit et nous devons le tester, validez. Ici vient notre compréhension de problème - validation devrait s'assurer que le produit répond aux exigences de son utilisation envisagée spécifique qui est essentiellement une exigence commerciale (fonctionne-t-elle? Puis-je contrôler les lumières de l'interface utilisateur?) Mais les testeurs vont certainement fonctionner Avec la spécification fonctionnelle, assurez-vous que les cases à cocher sont là, fonctionnant, étiquetées, etc. Ils vérifient essentiellement si les exigences de la spécification fonctionnelle ont été remplies dans le produit final, n'est-ce pas cette vérification? (ne devrait pas être, laisse rester à ISO 12207 que seule la validation est le test réel)
Vérification: Avons-nous construit ce que le client a demandé?
Validation: Est-ce que ce que nous avons construit du travail?
Modifier pour clarification:
"mais les testeurs utilisent des spécifications fonctionnelles pour leurs cas de test"
Qui se soucie si les testeurs utilisent la spécification fonctionnelle, ils effectuent toujours les deux Vérification et Validation basé sur mes déclarations originales.
Il est censé avoir trois commutateurs et deux boutons de ce mur. (vérification)
[.____] Les commutateurs sont censés être égalés et 48 pouces du sol (vérification)
[.____] Les boutons sont censés être de chaque côté des commutateurs (vérification)
[.____] Le bouton gauche est censé être étiqueté "gauche" (vérification)
[.____] Le bouton droit est censé être étiqueté "à droite" (vérification)
[.____] Si je clique sur le bouton gauche, désactive-t-il l'interrupteur extrême droite? (validation)
[.____] Si je clique sur la butale gauche, activez-vous l'interrupteur extrême droite? (validation)
[.____] Si je clique sur le bouton droit, désactive-t-il l'interrupteur d'extrême gauche? (validation)
[.____] Si je clique sur le bouton droit, activez-vous l'interrupteur d'extrême gauche? (validation)
Si je clique sur les deux boutons sur le fonctionnement de l'interrupteur moyen? (validation)
Ils vérifient essentiellement si les exigences de la spécification fonctionnelle ont été remplies dans le produit final, n'est-ce pas cette vérification?
L'activité de vérification veille à ce que la spécification fonctionnelle (et n'oublie pas la spécification de test) couvre toutes les exigences de la spécification des exigences - c'est-à-dire que vous n'avez pas rien oublié ou a ajouté quelque chose d'inattendu dans.
L'activité de validation garantit que ces exigences ont été remplies
Voir aussi: Test fonctionnel dans la vérification
Bien que la vérification et la validation ne se chevauchent pas (mais pas entièrement), et pourraient également utiliser des techniques similaires (telles que des tests, des pas à pas, des simulations ...), ils diffèrent principalement dans implication de l'utilisateur.
Généralement, la vérification aide à répondre "construisons-nous le Produit droit?". La validation, d'autre part, essaie de répondre "construisons-nous le produit juste?".
Ainsi, bien que la vérification concerne la couverture des exigences, et si les produits de travail (pas seulement le code) répondent à ce qui a été planifié et conçu (y compris les normes et les processus); La validation garantit que les produits se rencontrent attentes des utilisateurs (ce qui peut ne pas être exactement ce qui est défini dans la spécification des exigences). Par conséquent, la validation nécessite généralement les évaluations finales de participation et d'environnement de production.
J'espère que cela peut effacer les choses.
La différence entre la vérification et la validation devient inévitablement ridiculement subtile lorsqu'il est poussé. Construire la bonne chose et la construction de droite est inextricablement relié aux hanches. Notre groupe est finalement devenu si fatigué de ces vérifications par rapport aux guerres d'ontologie de la validation que nous les interdisons. Nous faisons toujours la vérification et la validation, mais pas comme des processus distincts. Ce que nous faisons à la place, ce sont des inspections de différents types (par exemple, des procédures normales de code), des analyses de différentes sortes (par exemple, une traçabilité), des tests (lots et beaucoup de tests) et des mesures (beaucoup d'entre eux aussi). La distinction ici est assez claire et il n'y a plus de guerres d'ontologie.
Choisissez des distinctions faciles à distinguer. Vérification par rapport à la validation trop souvent ne se distingue pas facilement.