En 1987, David Gelperin et Bill Hetzel publiaient l’article scientifique The growth of software testing dans la revue Communications of the ACM. Un article dans lequel, regardant en arrière, ils définissaient différents seuils où le métier du test a évolué.
Un article de référence
Quel est donc ce découpage temporel ?
Première époque, orientée débogage
Les processus de test ne sont pas traités en tant que tels ; les tests sont effectués de manière ad hoc essentiellement, et les succès ne sont guère reproductibles puisqu’ils dépendent avant tout du bon vouloir et du talent d’individus isolés.
Deuxième époque, orientée démonstration
Pour résumer, on teste pour prouver que le logiciel fonctionne.
Troisième époque, orientée destruction
Ca fait peur, non ? Cela veut dire tout simplement que cette période est marquée par le cliché (toujours vivant) des QA qui sont là pour « tout casser » ! Même si, on le sait, le test logiciel met plutôt en lumière ce qui est déjà cassé.
Quatrième époque, orientée évaluation
L’activité de test donne lieu à des métriques. On la suit de manière formelle.
Cinquième époque, orientée prévention
L’objectif principal des tests est d’éviter en premier lieu l’apparition des anomalies, et ce grâce à des méthodes statistiques.
Les suites de cet article
Ce découpage en périodes historiques a fait date ; il est toujours mentionné notamment dans les documents relatifs au modèle TMMi. En effet, les 5 niveaux de maturité TMMi font écho aux 5 époques mentionnées par les auteurs de l’article.
Mais, bien que ce soit fort intéressant, ce n’est pas le sujet le plus croustillant de cet article ! 😃
En pratique, comment testait-on jadis ?
Une partie un peu moins connue de cet article fait en effet référence à un sondage diffusé à l’occasion de la 4ème conférence internationale sur le test logiciel, qui s’est tenue à Washington en 1987. Préparez-vous à un voyage dans le temps !
Résultats du sondage en anglais
Traduction du sondage en français
- Un historique des défauts trouvés pendant les tests est maintenu : 73 % oui / 16 % parfois
- Une personne est désignée en tant que responsable du processus de test : 65 % oui / 13 % parfois
- Un plan de test décrivant les objectifs / l’approche est requis : 61 % oui / 29 % parfois
- Le test est une activité systématique et organisée : 61 % oui / 30 % parfois
- Des profils de test réalisent des tests système à temps plein : 62 % oui / 19 % parfois
- Le test est séparé du développement : 60 % oui / 20 % parfois
- Les tests doivent être rejoués lorsque le logiciel change : 51 % oui / 35 % parfois
- Les tests sont conservés et maintenus en vue d’une utilisation ultérieure : 51 % oui / 28 % parfois
- Les spécifications et la conception des tests est documentée : 48 % oui / 36 % parfois
- La procédure de test est documentée dans le manuel des standards : 45 % oui / 15 % parfois
- Un historique des tests joués est maintenu : 42 % oui / 35 % parfois
- Le temps consacré aux test est suivi : 40 % oui / 30 % parfois
- Les documents de test font l’objet d’une revue par les pairs formelle : 31 % oui / 29 % parfois
- Des profils de test réalisent des tests d’intégration à temps plein : 24 % oui / 24 % parfois
- Les coûts des tests sont mesurés et suivis : 24 % oui / 19 % parfois
- Des formations en test sont fournies périodiquement : 22 % oui / 26 % parfois
- Les résultats des tests font l’objet d’une revue par les pairs formelle : 20 % oui / 31 % parfois
- Les utilisateurs et utilisatrices ont une forte implication dans les activités de test : 8 % oui / 39 % parfois
- Les tests sont créés avant le développement : 8 % oui / 29 % parfois
- Une mesure de la couverture de code est requise : 5 % oui / 16 % parfois
Il faut garder à l’esprit que les personnes ayant répondu au sondage participaient à un congrès sur le test logiciel. Elles avaient donc a minima un intérêt pour le sujet. Cet état des lieux représente donc certainement les pratiques des entreprises les plus à la pointe dans le domaine à l’époque !
Tout en reconnaissant que les pratiques de 1987 avaient aussi, potentiellement, des atouts que nous avons peut-être perdu en cours de route, ces résultats de sondage ne sont-ils pas rafraîchissants ?
De retour au XXIème siècle, comment vous sentez-vous après avoir fait ce petit saut dans le passé ?
Et surtout, d’après vous, lesquelles de nos pratiques sembleront désuètes aux QA de 2059, dans 36 ans ?
Le voyage dans le temps n’est pas fini et nous devons continuer de perfectionner nos pratiques ! 😃
Crédit image : Midjourney