La taverne du testeur

Les tests… Dans quel but ?

Les tests ont quasiment toujours existés (au moins les tests exploratoires) et ils s’industrialisent de plus en plus sur tous les types projets. Pourquoi les tests sont-ils de plus en plus présents alors qu’ils ne produisent pas de valeur ?

Dans quel but effectue-t-on des tests ?

Je vais répondre à cette question en 2 parties car personnellement j’y vois en fait 2 questions :

  •   Pourquoi est-il nécessaire de faire des tests ?
  •   Pourquoi doit-on exécuter ces tests sur un projet précis ?

Pourquoi les tests ?

Le rôle principal des tests est d’apporter de la visibilité. Une visibilité qui permet de connaitre le mieux possible quelle est la qualité du produit que l’on teste et si son comportement correspond bien à ce qui est attendu et souhaité. Cela permet de connaitre et limiter les risques. De plus, avec les nouvelles technologies de communication si un produit sort et est très buggé il peut se retrouver « mort » très rapidement, même si 1 mois après tout est corrigé et qu’il est devenu un produit avec une excellente qualité.

Le retour sur investissement des tests se fait avec cette visibilité. Il parait inconcevable de rouler à 100km/h lorsque l’on ne voit pas à plus de 10 mètres par temps de brouillard. Les tests permettent de « dissiper » ce brouillard.

Les tests servent donc d’étalonnage et suivant les résultats de ces derniers une décision de mise sur le marché peut être prise avec une limitation (et une connaissance) des risques.

BT

Les tests sont donc présents (et indispensable) dans tous les projets pour cette raison. Je tiens à rappeler que les tests ne sont pas uniquement les tests fonctionnels.

Pourquoi ces tests ?

Cette question est beaucoup plus délicate à traiter car beaucoup plus contextuelle.

Faire des tests c’est bien. Par contre il faut faire les bons. Selon le budget, l’équipe et le produit en développement, les besoins en qualité sont différents et donc les tests doivent également être différents.

Au-delà de cet aspect il faut aussi toujours se poser cette question lorsque l’on exécute des tests. Pourquoi je les exécute ? Que vont-ils m’apporter ? Est-ce qu’il y a retour sur investissement en exécutant ces tests ?

J’ai déjà abordé le sujet de tri des tests sur des articles précédents (liens à la fin de cet article). Ce tri est très important car il est plus facile d’exécuter, analyser et maintenir 500 tests que 2000 (voir plus). Ce tri a justement pour but d’optimiser le coût des tests.

Il ne faut jamais oublier que les tests servent à améliorer la visibilité, à connaitre les risques. On peut donc comparer les tests avec une assurance… Personne ne prendrait une assurance si cette dernière coûtait plus cher que ce qu’elle « assure ».  Si lancer un produit totalement inutilisable peut au pire me faire perdre 1 millions d’euros, il est inconcevable de payer 1 millions d’euros ou plus dans les tests. Il faut donc faire des compromis cibler les tests à faire et atteindre la qualité souhaitée pour l’application avec le budget minimal !

Conclusion

Les tests sont présents partout car ils sont les « yeux » des personnes travaillant sur le projet  sur la qualité du produit. Ils sont indispensables et il est inconcevable de s’en passer (au minimum faire des tests exploratoires).

Néanmoins, il ne faut pas péché par excès de zèle. Le but des tests est de savoir quand l’application a atteint la qualité suffisante pour est mise sur le marché. Faire plus c’est dépenser de l’argent qu’il n’est pas nécessaire de dépenser. Il ne faut jamais oublier le retour sur investissement lorsque l’on travaille dans le test.

N’hésitez pas à rejoindre le nouveau groupe : Le métier du test

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

culture générale

A la recherche de la qualité perdue: le plan pour la retrouver!

Rappels des chapitres précédents L’application « New-Soft » était une application avec un très haut niveau de qualité. Malheureusement cette qualité s’est peu à peu perdue et l’application est maintenant livrée à des bugs toujours plus nombreux. Cette situation est due à une série de mauvais choix et les représentants de notre

Lire la suite »
Agilité

Agilité… Avec des tests…Why not?

Si on prend la définition brute de l’agilité, on a : souplesse, vivacité, légèreté et facilité. Intéressant ..non ? maintenant dans le monde informatique qu’est-ce que c’est ? L’agilité permet de fluidifier les actions et surtout de maintenir et de rendre plus maniable les sprints. En clair, fusionner tous les

Lire la suite »
Intégration continue

Les Tests de charges dans un environnement Agile Modulaire/Micro Service

 L’agilité, de par le découpage des grosses applications et les livraisons régulières (les sprints), nécessite de revoir la façon d’envisager les tests de charge et d’appliquer la méthodologie TDC. En cycle en V, les applications sont vues comme un ensemble monolithique, les TDC permettent donc de qualifier l’ensemble du SI

Lire la suite »