Les différentes campagnes de test

Une campagne de test est un ensemble de cas de tests à exécuter sur une période donnée. Le résultat de ces exécutions est alors synthétisé dans un bilan.

Lors de chaque campagne, on a des critères de besoin et de temps qui nous sont donnés.

Les besoins peuvent être :

·        Vérifier que le comportement de l’application est toujours le même après des mises à jour logicielles

·        Vérifier que l’ajout de nouvelles fonctionnalités n’a pas introduit de régression sur les anciennes

·        Vérifier le comportement d’une nouvelle fonctionnalité à implémenter

·        S’assurer qu’il n’y a pas de régressions majeures dans l’application

·        S’assurer que le changement de serveur ou de base de données n’a pas impacté le service

·        …

Le temps peut être :

·        Quelques minutes ou dizaines de minutes

·        Quelques jours

·        Quelques semaines

Les besoins et le temps peuvent donc être très différents c’est pourquoi différents types de campagnes existent.

Les 3 principales campagnes fonctionnelles sont :

·        Les campagnes de validation

·        Les campagnes de régression

·        Les campagnes de tests vitaux

Les campagnes de tests de validation

But : Vérifier qu’une nouvelle fonctionnalité (ou qu’un nouveau produit dans son ensemble) a bien le comportement attendu. Pour cela un grand nombre de cas peut être nécessaire.

Caractéristiques :

·        Campagne très précise qui teste en profondeur la fonctionnalité (Scrum) ou le logiciel (Cycle en V)

·        Nombreux cas de tests, les tests de validation.

·        Temps investit important par rapport à d’autre campagnes

·        Exécuter uniquement au moment de la mise en place d’une fonctionnalité ou d’un produit (pas de ré-exécution)

·        Cas peu ou pas automatisés

Cette campagne est généralement toujours effectuée et pose rarement des problèmes. En effet je n’ai jamais connu de logiciel non testé avant leur mise en production.

Les campagnes de régression

But : Vérifier que l’implémentation de nouvelles fonctionnalités n’a pas impacté le comportement des fonctionnalités déjà présentes.

Caractéristiques :

·        Campagne moins exhaustive que la campagne de validation

·        Campagne regroupant un sous-ensemble des tests de validation et enrichie en fonction des bugs trouvés en production.

·        Campagne couvrant tout le produit que cela soit en cycle en V ou en mode agile

·        Cas de tests réduit par rapport aux tests de validation

·        Campagne exécutée régulièrement (une fois par jour en Scrum est une bonne pratique)

·        Campagne à automatiser autant que possible

Cette campagne est à mettre en place afin d’éviter de sérieux désagréments. Néanmoins pour que cette campagne soit vraiment efficace il faut que les tests soient bien maintenus et fiable. Il faut également enrichir cette campagne régulièrement, avec l’arrivée de nouvelles fonctionnalité ou la découverte de bugs impactant la production.

Il est également pertinent d’exécuter cette campagne juste après une campagne de validation ne couvrant pas l’ensemble du logiciel.

Campagne de tests vitaux:

But : S’assurer rapidement qu’une livraison n’a pas engendré de régression critique sur l’application. Si un test est en échec alors il y a un bug critique (ou majeur très impactant) qui a été introduit.

Caractéristiques :

·        Exécution très rapide (30 minutes maximum)

·        Nombre de tests réduits (sous ensemble des tests de régression)

·        Couvre toutes les fonctionnalités principales du produit

·        Exécution très fréquente (à chaque livraison de code)

·        Tests à automatiser (en priorité)

11

Cette campagne, pas toujours présente, est pour moi essentielle pour plusieurs raisons :

·        La première est la détection de bugs très rapidement (dès la livraison) ce qui fait gagner beaucoup de temps.

·        La seconde est la possibilité grâce à ce type de campagne de mettre en place une stratégie de déploiement continu.

·        La dernière est la possibilité de partager ces tests à l’ensemble des intervenants sur le projet afin que les Dev, les testeurs, les DevOps, les chefs de projets… puissent les exécuter, les comprendre, les exécuter et être en accord avec l’importance de ces cas.

Conclusion :

En fonction des besoins la campagne à exécuter n’est pas la même. Il faut souvent faire des choix afin d’optimiser le temps (d’exécution, d’analyse, de maintien…) passer sur les tests. Afin d’optimiser ce temps des sélections des cas de tests sont donc nécessaires. C’est exactement ce qui est fait avec les différentes campagnes présentées.

Enfin, toujours selon les besoins et le temps imparti, il est possible de faire des mixes de ces campagnes. Par exemple, si une fonctionnalité est implémentée et a des chances d’impacter les fonctionnalités A et D mais pas assez de temps pour une campagne de régression totale. On peut alors effectuer une campagne de tests vitaux puis les cas de test de régression couvrant les fonctionnalités A et D.

Publié par

Une réponse sur « Les différentes campagnes de test »

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