Alors que refleurissent actuellement les promesses des robots programmeurs, un autre domaine important de l'ingénierie logicielle, en principe plus facile à aborder, tente de s'automatiser depuis plus d'un quart de siècle, sans véritable succès : les tests. La jeune pousse américaine Autify espère enfin réussir grâce à l'intelligence artificielle.
Les phases de qualification ont de tout temps représenté un défi majeur dans l'univers du développement. Absolument essentielles, entre autres pour la satisfaction des utilisateurs ou dans le simple but d'éviter des incidents potentiellement coûteux en production, elles sont généralement considérées comme rébarbatives et, arrivant en fin de cycle, elles sont fréquemment sacrifiées au nom du respect impératif des budgets et des délais. Voilà pourquoi toutes les applications comportent des anomalies, parfois flagrantes.
Depuis très longtemps, des éditeurs se sont penchés sur le problème et proposent, afin de le résoudre, des outils plus ou moins sophistiqués, destinés à, selon les cas, évaluer la qualité du code, contrôler le fonctionnement de chaque opération, valider que le produit final correspond à ses spécifications, vérifier qu'un ajout n'a pas d'effet imprévu sur les composants existants… Malheureusement, même avec une telle assistance, bien des tâches à exécuter restent manuelles et, donc, longues et sujettes aux erreurs.
Bien sûr, Autify ne les supprimera pas entièrement. Pour commencer, sa plate-forme ne concerne que les tests réalisés en aval sur les interfaces graphiques. Ensuite, elle n'élimine pas les étapes préalables de préparation et de mise en place. En revanche, elle offre la capacité d'enregistrer les scénarios intégralement sous forme visuelle et, surtout, elle assure pouvoir les jouer et les rejouer sans jamais requérir la moindre intervention humaine, de manière à garantir une couverture extensive à moindre coût.
Disponible pour les applications web et, depuis peu, mobiles, Autify est ainsi en mesure de conduire les campagnes simultanément sur différentes moutures de navigateurs et modèles de smartphones, en appréhendant les variations normales de rendu. Plus important, la solution prend également en charge, en totale transparence, les changements et autres évolutions qui émaillent régulièrement la vie d'un logiciel ordinaire et qui constituent historiquement le principal obstacle à l'automatisation des tests.
L'intelligence artificielle embarquée est donc capable de détecter les modifications apportées aux interfaces entre deux versions successives, et d'ajuster les scénarios existants en conséquence. Quand les entreprises agiles cherchent à optimiser quasiment en temps réel l'expérience de leurs utilisateurs, parfois en déployant deux alternatives en parallèle (les fameux tests A/B), il est crucial de maintenir un processus de livraison fluide, qui ne s'interrompe pas systématiquement pour ré-entraîner les robots de contrôle ou parce que, à défaut, les nouveautés sont interprétées comme des régressions.
Dans une certaine mesure, je m'étonne que tant d'efforts soient aujourd'hui consacrés à essayer d'automatiser l'écriture de logiciels quand la plupart des organisations continuent à engager des ressources considérables, dont de précieuses compétences informatiques, à la gestion de la qualité. Si les difficultés à surmonter sont les deux versants d'un seul et même enjeu, les tests sont sensiblement plus faciles à automatiser et mériteraient logiquement d'être ciblés en priorité. Autify fait un premier pas mais il reste du travail.
Aucun commentaire:
Enregistrer un commentaire
Afin de lutter contre le spam, les commentaires ne sont ouverts qu'aux personnes identifiées et sont soumis à modération (je suis sincèrement désolé pour le désagrément causé…)