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

Recap’ de notre dernier CODING GAME COMPETITION – Mai 2022

Le mardi 10 mai 2022

Jeudi dernier, Agixis vous a proposé un CODING GAME COMPETITION de haut niveau  ! 

Ce jeudi 05 mai 2022, nous avons été témoins de très belles performances au Meltdown à Lyon lors de notre dernière Coding Game Competition. Ce sont 11 binômes qui se sont affrontés pendant 3 heures sur le jeu Search Race, travaillant sans cesse pour obtenir le score le plus petit possible.

Merci à tous ceux qui étaient présents pour votre participation et votre bonne humeur. Nous espérons que vous avez passé un aussi bon moment que nous ! Et merci également à John P., notre agicien Tech Lead qui a grandement participé à l’organisation de cet événement. Fun fact : nous l’avons rencontré pendant une compétition de Coding Game !

Et bravo, bien entendu, aux deux équipes gagnantes : Lilian Go Skype (14 046 points) et Lucifor (20 968) qui ont pu repartir avec un casque Razer et des e-cartes cadeaux FNAC.

Voici un récap’ photo de la soirée :

 



Webinaire gratuit – Les principes de programmation, productivité et amélioration continue – 17 mai 2022

Le lundi 25 avril 2022

Invitation à notre prochain webinaire 

Nous vous invitons à un webinaire gratuit sur le thème  » Les principes de programmation, productivité et amélioration continue  » animé par Loic, notre agicien expert ! À destination des développeurs et des curieux :).

 » Vous souhaitez développer vos compétences, produire un maximum de valeur pour le client et obtenir la satisfaction d’un travail bien fait ? Découvrez mon retour d’expérience sur les principes de programmation à appliquer au quotidien et leur complémentarité afin de maximiser son travail ». 

Principes de programmation qui seront abordés : TDD, DDD, Egoless Programming et Architecture Hexagonal.

Rendez-vous en ligne le mardi 17 mai à 18h30 sur Teams. Pour vous inscrire et recevoir le lien de connexion, c’est par ICI.

Récap’ de notre dernière soirée portes ouvertes – Conférence Test Unitaire – 14/04/2022

Le vendredi 15 avril 2022

Photos de notre dernière soirée portes ouvertes

Soirée portes ouvertes et conférence : « Test Unitaire : apprivoisé par la théorie »

Le 14 avril dernier, Agixis a ouvert ses portes pendant quelques heures. Ce fut l’occasion d’échanger avec nos collaborateurs, discuter carrière, mais aussi technique ! En effet, nos deux agiciens experts Matthias et Baptiste ont animé une conférence sur le Test unitaire apprivoisé par la théorie. Voici un aperçu du contenu présenté : (suite…)

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

  • Chargé.e de communication 360° H/F

    Agixis recrute ! Rejoins-nous dans cette incroyable aventure collective en participant de manière a...

    Découvrir
  • Product Owner H/F

    Product Owner, tu as envie de travailler en environnement technique innovant ? Prendre le lead sur u...

    Découvrir
  • Alternance Ingénieur études et Développement (F/H)

    Tu es à la recherche de ton alternance pour ta dernière année ? Tu as envie de réellement décou...

    Découvrir

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