La maintenance des tests

Les tests ont pour but de vérifier que l’application fonctionne comme il est prévu. Ces tests peuvent atteindre ce but uniquement s’ils sont à jour, c’est pourquoi il ne faut jamais négliger la maintenance des cas de test.

Pourquoi les tests sont-ils amenés à évoluer ?

Les cas de tests sont à mettre à jour car le produit et ses fonctionnalités évoluent. Si des cas ne sont plus à jour c’est que la fonctionnalité de l’application a évoluée depuis son implémentation. L’application peut évoluée pour plusieurs raisons comme :

·        Des demandes du métier

·        Des demandes clients

·        Des impératifs techniques (ex : sécurité ou changement de technologie/OS…)

Quels sont les tests à maintenir ?

Les tests à maintenir sont les tests vitaux et les tests de régression, les tests de validation n’étant plus exécutés leur maintenance ne doit pas être faite. Le coût de maintenance est d’ailleurs la raison principale (avec le coût et le temps d’exécution) pour laquelle on ne garde pas l’ensemble des tests de validation pour la campagne de régression.

Quelles sont les bonnes pratiques pour les maintenir les cas de test?

Selon la criticité des tests ces tests doivent être mis à jour plus ou moins rapidement.

En cycle en V :

Les cas doivent de préférence être mis à jour avant la réception du produit à tester. Au pire, ils doivent être à jour juste après la mise en production de la nouvelle version.

En Scrum :

Les tests vitaux doivent être mis à jour dès le moment où ces derniers sont en échec à cause d’une évolution.

Les tests de régression doivent être à jour à la fin du sprint. Ajouter ce critère dans les « definition of done » peut être une solution afin de s’assurer du maintien de ces tests. De plus un cas est mis en échec de cas de régression par l’implémentation d’une User Story, c’est donc normal que le maintien du test soit fait sur la User Story.

Quelles sont les conséquences des cas de test qui ne sont pas à jour ?

Plus les cas de tests sont mis à jour tardivement, plus ils coûtent cher et sont plus compliqués à maintenir car il faut de nouveau analyser les fonctionnalités pour savoir quel est exactement le comportement attendu. Le travail d’analyse se fait donc 2 fois : Lors du travail sur la User Story puis lors de la mise à jour des cas de test.

Cela n’est malheureusement pas le seul problème d’une maintenance tardive des cas de test. En effet toutes les stratégies de test visant à couvrir les cas les plus importants sont caduques à partir du moment où les cas de tests ne sont pas à jour.

Un cas de test pas à jour ne sert à rien !

En effet on ne peut tirer aucune information d’un cas de test qui n’est pas à jour. D’expérience, je sais que dans toute campagne un cas de test non à jour est ignoré et le scénario qu’il doit couvrir n’est pas couvert. On est donc « aveugle » sur ce scénario et le but premier des tests qui est d’apporter de l’information et de s’assurer de la qualité du logiciel n’est pas atteint.

Enfin, lorsque les cas de tests commencent à ne plus être maintenus alors une « dette » (similaire à la dette technique pour les développeurs) se crée. Si rien n’est fait pour payer cette dette, cette dernière ne fait qu’augmenter.

A terme cela revient quasiment toujours à au moins 20-25% de cas de tests pas à jour et des mises en production avec des bugs majeurs voir critiques qui auraient été détectés avec une campagne à jour. Si cela coûte trop cher de maintenir la campagne de régression il vaut mieux refaire une sélection parmi ces tests afin d’avoir une campagne avec moins de tests (plus importants) mais une campagne maintenable.

Conclusion :

Avoir des campagnes de régression, des campagnes de tests vitaux et toutes les meilleures stratégies de test du monde ne sert à rien si les tests ne sont pas à jours. Les tests doivent être maintenus et cela a un coût qui est non négligeable.

Des campagnes faciles à maintenir ont plus de valeur que des campagnes sans « trous dans la raquette » mais non maintenables.

Pensez à rejoindre le groupe Le métier du test si le test vous intéresse !

N’hésitez pas à me suivre et lire mes autres articles si vous voulez en apprendre plus sur le test ou venir partager vos connaissances

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

Publié par

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s