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.
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