Zoom sur le test et la validation

 

Les tests : une étape essentielle !

 

Dans le monde du développement logiciel, on parle beaucoup de développeurs, d’architectes, de chefs de projets, etc. Aujourd’hui, un nouveau profil est mis en avant : celui de testeur valideur.

Devenu un métier à part entière, le test et la validation sont des étapes qui acquièrent de plus en plus d’importance au sein des projets.

« Selon la norme ISO 9000, la vérification est la confirmation par l’examen et la fourniture de preuves objectives que des exigences spécifiées ont été remplies. La validation et la confirmation par l’examen et la fourniture de preuves objectives que les exigences, pour un usage ou une application voulue, ont été remplies ».

 

Les fondamentaux

 

Il est important de faire la distinction entre une erreur, un défaut (ou bug) et une défaillance. Cette distinction permet de comprendre d’où vient le problème pour pouvoir le corriger.

 

Quels sont les enjeux des tests ?

 

Les tests préviennent et garantissent le niveau de qualité du produit sur une période déterminée. Ils donnent aussi des indications de fiabilité. Tout cela, permet de vérifier l’adéquation du produit aux besoins exprimés par le client et donc de satisfaire la demande du client.

Le second enjeu consiste à pallier les carences du génie logiciel. Le test relève d’un processus de développement non industrialisé et de contrôle non déterministe. Face à l’impossibilité de fournir des preuves, il permet la visibilité sur la qualité du produit et sur son bon ou mauvais fonctionnement.

La capacité des tests à trouver des défaillances, à prévenir les défauts et à élever le niveau de qualité du produit permettent donc de créer une relation de confiance entre le client et le fournisseur.

 

Les 7 principes généraux des tests

 

Principe 1 : les tests montrent la présence de défauts

Les tests ne peuvent pas prouver l’absence de défauts mais ils peuvent en prouver la présence ! Lorsque qu’il y a des erreurs, on parle d’objectifs atteints. En revanche, si aucune erreur de ce type n’est trouvée mais que rien n’informe sur les erreurs d’un autre type, on parle d’objectifs non atteints. Les tests sont faits pour démontrer qu’il y a des défauts.

 

Principe 2 : les tests exhaustifs sont impossibles

Tout tester signifie : gérer la focalisation des efforts de tests en fonction des risques et des priorités. L’exhaustivité des données est impossible puisqu’il existe une infinité de valeurs, de combinaisons, de types d’utilisation et de chemins possibles. Il faut donc prioriser et analyser les risques.

 

 Principe 3 : il est important de tester tôt 

Le meilleur investissement dans le test et la validation est la prévention ! Plus un test est effectué tôt, plus vite il peut être corrigé et moins il coûte cher à corriger.

 

Principe 4 : regroupement des défauts

Le regroupement des défauts permet d’adapter les efforts de tests en fonction de la réalité, c’est-à-dire de la densité réelle des défauts dans un système. Selon la Loi de Pareto : 80% des défauts sont confinés dans 20% du logiciel. Les 20% se situent dans les 80% du logiciel restant.

 

Principe 5 : paradoxe du pesticide

Si les mêmes tests sont répétés de nombreuses fois, il est nécessaire de faire évoluer le système de tests. En effet, la validité des tests baisse en fonction de leur âge : un type de test trouvera les erreurs d’un certain type mais une fois corrigées, il n’en trouvera plus. La ré-exécution des tests est efficace sur les nouvelles lignes de codes (ou celles qui sont modifiées). Faire évoluer les tests permet donc de chercher d’autres types d’erreurs.

 

Principe 6 : les tests dépendent du contexte

Les tests sont effectués différemment dans des contextes différents. Par exemple, les logiciels de sécurité critique seront testés différemment d’un site de commerce électronique.

 

Principe 7 : l’illusion d’absence d’erreurs

La notion d’erreur est typique des objectifs et non du savoir-faire. L’absence d’erreur peut être expliquée par plusieurs éléments : des tests non pertinents, des données de tests non pertinentes, beaucoup d’erreurs de même types, etc. L’absence d’erreur ne signifie donc pas, réellement, qu’il n’y a aucune erreur.

 

La psychologie du test

 

Le travail de testeur valideur doit se réaliser en collaboration avec les développeurs puisqu’ils ont tous deux un objectif commun : la livraison d’un logiciel de la meilleure qualité possible dans les meilleurs délais et au meilleur coût.

La co-localisation des équipes de tests et de réalisation favorise la communication entre les équipes. Cela permet d’anticiper les efforts de tests en fonction de l’avancement des développements. Il peut, aussi, être bien de réaliser des réunions informelles entre développeurs et testeurs.

Enfin, il est important de déculpabiliser les erreurs (toute action humaine entraîne des erreurs. Eviter une vision négative) afin de former une équipe complémentaire.

 

Pour conclure

 

Le test, dans le processus de développement, a une importance primordiale. Il permet de soulever les problèmes et de les anticiper. Tout cela, conduit à une réduction des coûts et des délais de production et permet de créer une relation de confiance avec le client.

Il est capital de créer un objectif commun entre développeur et testeur, l’équipe doit travailler ensemble. Le testeur n’est pas là pour juger le travail du développeur et le retour d’un bug ne doit pas être vu comme un échec du développeur.

Pour poursuivre, nous pouvons mettre en avant le fait qu’il existe des supports pour rédiger et exécuter les tests. Nous pouvons citer, pour exemple, Hiptest et Zephyr.

Autres articles

Zoom sur la Data Science : comprendre la science des données

Le jeudi 8 avril 2021

Qu’est-ce que la Data Science ?

La Data Science s’est développée avec l’arrivée des volumes massifs de données et ce grâce au Big Data. La science des données consiste en l’extraction d’informations à partir de données prenant différentes formes : des données structurées, des images, des sons… En utilisant des modèles statistiques ainsi que le machine learning. Elle regroupe plusieurs méthodes provenant de domaines tels que les mathématiques, les statistiques ou l’informatique.

(suite…)

Coding Game Competition !

Le lundi 17 février 2020

Cher joueur, Chère joueuse du 1er Coding Game de l’année 2020,

Qui dit nouvelle année, dit RENOUVEAU. Alors, Agixis sort le grand jeu et lance THE CODING GAME COMPETITION.

(suite…)

Notre dernière soirée d’agence : Atelier chocolat

Le mardi 10 décembre 2019

 

La magie de Noël était au rendez-vous hier lors de notre soirée d’agence autour d’un atelier chocolat. Au programme : découvertes, dégustations et fabrications..pour le plaisir des papilles de nos Agiciens ! 

Logo Agixis

CONTACTEZ-NOUS :
04 27 02 74 49

115 boulevard de Stalingrad 69100 Villeurbanne

Mentions légales - Création : Agence 33 Degrés : Agence de communication lyon - Développement : WebForLyon

Logo Agixis

MENU

Meeting agile Agixis Meeting agile Agixis
Logo Agixis

  • Accueil
  • Agixis
  • Métiers
  • Services
  • Solutions
  • Références
  • Nous rejoindre
  • Postuler
  • Actualités
  • Contact

Meeting agile Agixis Meeting agile Agixis

Recherche


Dernières annonces

  • Développeur fullstack Symfony/Vuejs H/F

    Dév’ fullstack PHP Symfony/Vuejs, tu as envie d'évoluer dans un environnement technique innovant...

    Découvrir
  • Développeur front-end JS H/F

    Dev’ Front, tu as envie d'évoluer dans un environnement technique innovant ? Révolutionnaire, tu...

    Découvrir
  • Développeur Java/J2ee H/F

    Dév’ Java/J2ee, tu as envie d'évoluer dans un environnement technique innovant ? Révolutionnair...

    Découvrir

AGIXIS
Immeuble Central Parc II
115, boulevard de Stalingrad
69100 Villeurbanne