Verification and validation

Vérification et validation : différences et complémentarité

Souvent confondus, la vérification et la validation de logiciel sont pourtant deux processus bien distincts et non-moins complémentaires primordiaux au développement de logiciels.

Une définition simplifiée de ces deux procédés serait la suivante:

  • La vérification tente de répondre à la question suivante: sommes-nous en train de construire le produire de la bonne manière ?
  • La validation tente quant à elle de répondre à celle-ci: Sommes-nous en train de construire le bon produit ?

Ces deux questions peuvent sembler très similaires à première vue mais sont en réalité aussi complémentaires que disparates. La vérification est avant tout un procédé technique, cherchant à établir si le logiciel développé va tout simplement fonctionner. Le code est-il construit de manière optimale afin de répondre aux attentes du client ?

La validation, elle, se focalise justement sur les attentes du client. Celles-ci ont-elles été bien comprises ? Le logiciel établi va-t-il effectivement permettre de les satisfaire ?

C’est en cela que ces deux procédés sont également très complémentaires. L’un cherche à vérifier que les besoins du client sont compris, tandis que l’autre tend à s’assurer que le logiciel y répondra correctement.

Articulation des deux procédés

source: https://www.mathworks.com/help/slcoverage/verification-and-validation.html

Comme illustré sur le schéma ci-dessous, ces deux procédés sont à la fois distincts et entrelacés. La vérification peut prendre plusieurs formes (vérification du code objet, vérification du code source, vérification du modèle). C’est une phase plutôt technique qui met l’accent sur le code en lui-même. A l’inverse, la validation relève plus du management de la relation client. Celle-ci intervient à une échelle plus macro, avec une vision plus globale de l’ensemble du projet. Elle se concentre beaucoup moins sur comment le code est exécuté mais plutôt sur à quel fin celui-ci est écrit.

C’est en cela que ces deux méthodes sont particulièrement complémentaires. Tandis que la première assure que le code fonctionne correctement, le second certifie que ce code, correct techniquement, exécute précisément ce qui est attendu de lui.

Risques de la validation et la vérification

En dépit de leur complémentarité et de leur importance, la vérification et la validation doivent être manipulées avec soin, en particulier dans leur articulation. Ce sont des procédés à la fois très différents et entrelacés, qui doivent donc être menées de façon paradoxalement indépendante et articulée. Les compétences requises pour les mener à bien étant largement différentes, leurs acteurs le sont aussi. La bonne communication entre ces-derniers est donc indispensable. En effet, aucun de ces deux process n’a de sens sans l’autre. Un code qui fonctionne correctement mais qui ne répond pas aux attentes du client n’a pas plus de valeur qu’un code qui répond aux attentes du client mais ne fonctionne pas. Différents par nature, la validation et la vérification doivent donc pourtant impérativement être menées de concert afin d’assurer le succès du projet.

Leave a comment

Design a site like this with WordPress.com
Get started