Clean test

Combien d’entre vous n’ont jamais connu de problèmes d’automatisation des tests dans leurs projets informatiques ?

Savez-vous que par expérience, on constate que plus de 50 % des projets d’automatisation de test fonctionnel sont des échecs ?!

Comme ces projets sont souvent trop compliqués et coûteux à maintenir, les causes d’échec sont nombreuses. Afin d’éviter ces pièges, mieux vaut bien sûr mettre en place une véritable stratégie d’automatisation de test. Mais il faut également être capable de comprendre l’utilité d’un framework d’automatisation de test, et savoir comment choisir le bon framework par rapport à ses besoins et ses contraintes techniques et humaines.

Mais une fois ces prérequis acquis, il est nécessaire de s’assurer de la qualité du code produit. Contrairement aux projets de développement logiciel, il est plus rare de prévoir des revues de code sur ces sujets, pourtant il peut s’avérer très utile de définir et de partager des bonnes pratiques afin de garantir dans la durée le succès de votre projet d’automatisation de test.

 

Les équipes de développement connaissent bien les difficultés auxquelles elles sont exposées : érosion structurelle de la conception et de l’architecture, dette ou décrépitude logicielle, entropie logicielle et complexité accidentelle galopante, courses à la correction des défauts qui appelle à corriger plus de défauts encore, perte de maîtrise du coût du changement au fil du temps, etc. Autant d’écueils qui menacent la productivité des équipes et la rentabilité des produits qu’elles livrent !

Or automatiser les tests fait complètement partie des activités de développement : automatiser les tests, c’est développer des tests automatisés et leurs composants. Pourquoi l’automatisation ne serait-elle pas exposée aux mêmes risques de perte d’efficacité et de productivité des équipes ? L’expérience montre en tout cas que si l’intention d’automatiser les tests fonctionnels, non-fonctionnels ou de régression est louable, le chemin est long entre cette intention et l’obtention des bénéfices escomptés. Plus encore, il s’agit de préserver ces bénéfices dans le temps, car il y a un gap entre réussir à automatiser quelques tests et passer à l’échelle de plusieurs centaines, voire de plusieurs milliers, selon le niveau de test considéré dans la pyramide des tests logiciels.

Les tests sont souvent considérés à tort comme le parent pauvre du développement logiciel, et la qualité du code de test s’en ressent fortement. Il s’agit donc de se prémunir des écueils communs au développement de tests automatisés et que leur code source soit exemplaire.

Afin d’y parvenir, ALL4TEST a élaboré une offre dénommée Clean Test avec la collaboration de partenaires tels que PROMYZE. L’approche clean test, c’est un coaching outillé à forte valeur ajoutée qui s’inspire des concepts de Clean Code.

Les 4 étapes du coaching Clean Test

1. Analyse de votre stratégie d’automatisation et votre code

Audit de votre stratégie d’automatisation des tests et du code de test existant par échantillonnage.

Mascotte robot Oto all4test
Mascotte fille wonder T all4test

2. Plan d’action

2.1. Optimisez votre organisation :

• Adaptez l’effort d’automatisation de test au niveau de test dans un premier temps

• Validez l’adéquation de votre framework d’automatisation de test / vos besoins par la suite



2.2. Optimisez la performance et l’efficacité de votre code de test :
Cette optimisation est applicable sur vos différents niveaux de test (unitaires, intégration, système ou EtE).
Voici quelques exemples de problématiques remontées par nos clients :
• Identifier ce qui rend vos tests instables, les times out, les faux positifs et proposer un plan d’actions pour traiter ces points
• Diminuer les temps d’exécutions des tests et le temps de maintenance des tests
• Faciliter la maintenance du code et donc diminuer les coûts de maintenance

Exemple d’architecture d’un framework de test

En ce qui concerne le choix des outils de test automatisé vous pouvez également consulter notre livre blanc à ce sujet.

3. Moyens mis en place dans l’approche clean test

Accompagnement par un expert en automatisation en partenariat avec Promyze, afin de pouvoir utiliser leur outil de gestion de bonnes pratiques inspiré du clean code :

  • Revues de code régulières
  • Katas de test
  • Rétrospective de test
  • Coaching outillé
  • Partage de bonnes pratiques avec l’outil Promyze

3.1. Identification des bonnes pratiques sur le code source

Identification des bonnes pratiques de code, clean code, clean test

Le coach identifie les bonnes pratiques à mettre en place directement sur le code source du projet et met en place un outil de partage des règles clean test.

3.2. Présentation de ces nouvelles bonnes pratiques clean test

atelier de présentation des bonnes pratiques clean test

Le coach présente les nouvelles bonnes pratiques à mettre en place à l’équipe lors d’un atelier.

3.3. Validation et partage des bonnes pratiques de code

Présentation des bonnes pratiques de code par le coach clean test

Les pratiques validées se retrouvent dans le référentiel de l’équipe avec l’exemple de code associé. Les pratiques sont également accessibles depuis les IDE et un plugin de revue de code pour Chrome et Firefox.

4. Bénéfices visés par l’approche clean test

Mascotte garçon all4test
  • Mise en place d’une culture de test et de qualité du code : Clean code
  • Obtention d’un code de test durable
  • Capitalisation des acquis via un catalogue de bonnes pratiques

Vous souhaitez échanger avec nos experts ?

Vous aimeriez obtenir gratuitement un devis adapté à votre contexte ?

Ask for advice to our experts !