James Bach

James Bach  est un des personnages du test qui a particulièrement mes faveurs. On lui doit notamment

* les Tests Exploratoires
* le Context-Driven Testing

## Son point de vue sur le test

Ses conférences montrent une personnalité clairement atypique dans le monde industriel du test : lors d'une conférence en Estonie, il vient proclamer qu'étudier le test est complètement inutile et rajoute que s'il en avait le pouvoir, il interdirait ce genre d'enseignements car selon lui c'est complètement inutile : les notions enseignées proviennent de personnes qui ne connaissent en rien les contraintes industrielles d'aujourd'hui .

Il défend ses idées à partir d'un historique qui n'a rien à voir avec le *mainstream* : il abandonne le lycée à 16 ans pour coder des jeux sur Comodore 64  puis il a été embauché par Apple pour gérer les tests sans en avoir jamais fait. Cette expérience l'a poussé à lire tout ce qui existait sur la question du test et en arriver au constat que l'approche enseignée était aussi fausse que ce que la médecine enseignait depuis l'Antiquité en pratiquant des saignées sur les malades .

Sa position sur les académiciens du test est similaire à une citation parfois attribuée à Herbert von Karajan qui disait que les musicologues sont à la musique ce que les gynécologues sont à l'amour...

## Le test ce n'est pas les "cas de test"

Pour James Bach, si le test devait se résumer aux scénarios de test, autant se reconvertir dans l'industrie agro-alimentaire  ! En d'autres termes, la campagne de test ne saurait être une messe immuable que l'on répète inlassablement.

Une autre façon de voir le test est aussi toute forme de vérification dans une activité de génération d'un artéfact, voire éviter qu'une erreur n'apparaisse en aidant une meilleure conception, notamment au travers de rétrospectives ou plus généralement l'amélioration continue.

## Sa vision du rôle du Testeur

J. Bach se compare à un "Boucanier du test", sorte de pirate qui dispose d'un code d'honneur, sans nationalité, un homme libre capable d'aller au-delà des frontières.

Il imagine volontiers l'approche du Testeur comme Steeve McQueen qui arrive au pied du gratte-ciel en flamme dans "La Tour infernale"  : il vient adapter son approche en fonction de la situation (catastrophique) et qui doit réinventer son approche du test chaque fois plutôt que répéter le même processus .

J. Bach propose que le Testeur Professionnel soit un "Sceptique Professionnel"  et de ne jamais tenir pour acquis ce qui lui est donné. Il reprend le principe de "**Pensée critique**" qu'il prône comme discipline régulière pour le Testeur  et dresse sur son blog une liste de philosophes qui remonte à l'Antiquité . De cette base, il propose son propre "syllabus" (pour reprendre le terme de l'ISTQB) dans lequel il décline cette hygiène mentale .

Cette hygiène s'accompagne naturellement d'une approche basée sur un apprentissage permanent qui est propice à l' innovation nécessaire pour franchir les frontières. L'objectif est qu'une fois devant l'immeuble en flamme, le Testeur puisse rapidement trouver le moyen de sauver les vies et éteindre les flammes.

On peut le comprendre, cette approche pertinente du test fait école et c'est ce que lui et d'autres personnalités du test telles que Cem Kaner ou Michael Bolton  on finit par matérialiser au travers d'une approche nommée le "**Context-Driven Testing**"  (**CDT**) - Approche du test par le contexte.

## Les fondements

Naturellement, ce qu'il avance est fait avec provocation  et sa gouaille de conférencier ne laissent pas indifférent ; cependant, est-ce gratuit ? Est-ce par pure provocation pour faire du buzz et lui permettre de gagner sa vie ?

### Pourquoi le CDT ?

Prenons par exemple le CDT. Après tout, même l'ISTQB donne ce **principe #6** "Les tests dépendent du contexte"  ! En fait J. Bach ne fait que remettre au centre ce principe auquel les syllabi ne semble pas donner de réponses concrètes car il semble tellement évident qu'on ne teste pas une application de type eCommerce comme on testerait un avion...Cette question du contexte taraude tellement J. Bach que Steeve McQueen lui-même devient ce héro face à la catastrophe qui requiert une flexibilité mentale et un sang froid irréprochables pour conserver un esprit critique.

### Pourquoi lutter contre les scénarios de test ?

Sa vision des scénarios de tests qui ne sont pas le test peut se comprendre une fois de plus avec l'ISTQB et son **principe #5** - "Le paradoxe du pesticide" ...

Ce paradoxe est intéressant car c'est celui qui intrigue le plus de part son nom et le mystère qui peut s'en dégager, mais son explication est simple : **répéter un test le fait tendre vers son obsolescence**.

Alors quel est l'intérêt d'écrire un scénario de test ? A ce compte-là, autant l'automatiser tout de suite pour faire une base de tests de régression et laisser au Testeur les **tests exploratoires** qui deviennent alors à très forte valeur ajouté car le gros de bugs seraient trouvés sur ceux-là.

## Le futur rôle du Testeur

Avec l'agilité et en particulier DevOps, l'automatisation des tests se fait une part belle. Malheureusement, énormément de Testeurs ont une culture produit plus que de développement et coder est une vraie barrière pour le Testeur, autant sur le plan technique (Java, HTML, SQL, Git, ...) que des méthodes du développement (Design Patterns, Refactoring, TDD, ...).

James Bach permet de faire un constat sur un positionnement cohérent du Testeur . L'art du test doit devenir lisible notamment

* en ne se cachant pas derrière les processus et la bureaucratie coutumière à la culture de la Qualité
* en se montrant obsédé par l'objectif de la qualité du produit mais rester disponible
* on démontrant sa capacité à innover dans ses approches du tests plutôt que mettre en avant ses compétences de robot sur la répétabilité de ses tests

Si les équipes perçoivent de réelles compétences de test par exemple au travers

* de l'adaptation du contexte
* de tests qui constituent de réels défis intellectuel pour le produit

La vision de James Bach pousse le Testeur à être un réel artisan plutôt qu'un robot scriptable.

## Références

1. ↑ https://en.wikipedia.org/wiki/James\_Marcus\_Bach
2. ↑ Son blog : https://www.satisfice.com/
3. ↑ Véronique Théault, Laurent Bouhier - "Les aventuriers des tests exploratoires - à la poursuite du bug perdu" - Telecom Valley - 2016

http://www.telecom-valley.fr/wp-content/uploads/2016/12/Laurent-Bouhier-Tests-Exploratoires.pdf
4. ↑ Ingo Philipp - "Exploratory Testing: Rediscover the art of exploratory testing" - JFTL - 2019 - http://www.cftl.fr/wp-content/uploads/2019/04/JFTL2019-Rediscover-Exploratory-Testing.pdf
5. ↑ 5,0 5,1 et 5,2 http://context-driven-testing.com/
6. ↑ 6,0 6,1 et 6,2 James Bach - "Open Lecture" - Eesti Infotehnoloogia Kolledž - 07/SEP/2011 - https://www.youtube.com/watch?v=ILkT\_HV9DVU
7. ↑ https://fr.wikipedia.org/wiki/Commodore\_64
8. ↑ https://fr.wikipedia.org/wiki/Saign%C3%A9e\_(m%C3%A9decine)
9. ↑ 9,0 9,1 et 9,2 James Bach - "Agile Software Testing" - 17/FEV/2015 - https://www.youtube.com/watch?v=lwz-D\_v5pLQ
10. ↑ https://fr.wikipedia.org/wiki/La\_Tour\_infernale
11. ↑ https://fr.wikipedia.org/wiki/Pens%C3%A9e\_critique
12. ↑ James Bach - "My Brilliant Testing Ideas vs. Your Critical Thinking: A Challenge!" - Vilnius QA Gathering "Bugs'a'loud" on March 2016 - https://vimeo.com/161913983
13. ↑ James Bach - "Philosophers of Testing" - 22/DEC/2006 - https://www.satisfice.com/blog/archives/80
14. ↑ James Bach - "A Tester’s Syllabus" -http://www.satisfice.com/images/testsyllabus.pdf
15. ↑ Michael Bolton - "Critical Thinking for Testers" - EuroStar Conference - 2012 - https://www.developsense.com/presentations/2012-11-EuroSTAR-CriticalThinkingForTesters.pdf
16. ↑ https://latavernedutesteur.fr/2018/01/12/principe-6-les-tests-dependent-du-contexte/
17. ↑ https://latavernedutesteur.fr/2018/01/12/principe-5-paradoxe-du-pesticide/
18. ↑ James Bach - "The Future of the Testing Role" - Pacific Northwest Quality Conference - 2017 - https://www.youtube.com/watch?v=c5821YeWico