Décryptage par Maddyness, avec Applause
7 novembre 2018
7 novembre 2018
Temps de lecture : 4 minutes
4 min
5828

Les robots peuvent-ils sauver le code ?

L’automatisation de la production et du test de code aboutira-t-elle à un code parfait ? Sur le papier, l’idée est tentante. Mais un code parfait est-il un code adapté à tous les usages ? Rien n’est moins sûr. C’est pour cela que les entrepreneurs utilisent un savant mélange de tests automatiques et manuels.
Temps de lecture : 4 minutes
Partager
Ne passez pas à côté de l'économie de demain, recevez tous les jours à 7H30 la newsletter de Maddyness.

A l’ère où des robots sont capables de danser et où des intelligences artificielles peuvent prendre un rendez-vous à notre place, un bot ne pourrait-il pas remplacer les développeurs ? Cela arrivera à un moment ou un autre mais il n’est pour l’instant pas question de mettre au placard tous les ingénieurs informatiques, d’autant que leurs représentants français sont mondialement reconnus pour leur qualité. En revanche, l’automatisation est d’ores et déjà utilisée pour tester le code écrit par des humains en chair et en os.

Dans un livre blanc intitulé Automatisation et tests manuels : trouver le bon équilibre, l’entreprise Applause, spécialisée dans les tests digitaux, explique ainsi que “l’automatisation doit faire partie intégrante de toute stratégie de testing car elle fournit des résultats fiables, répétables et à grande échelle”. C’est là tout l’intérêt d’un processus de test normé, appliqué indéfiniment à une quantité toute aussi infinie de lignes de code et qu’un humain serait bien incapable de prendre en charge à la même vitesse qu’un ordinateur. En sous-traitant des tests de grande ampleur à une entité automatisée, les développeurs et responsables techniques peuvent se concentrer sur la valeur ajoutée du produit sur lequel ils travaillent.

Utiliser l’automatisation à bon escient

Pas question pour autant de voir dans l’automatisation la solution miracle à tous les problèmes de développement. Ce process ne sera fructueux que dans des cas bien précis, par exemple au début du cycle de développement. Ils permettent alors de “dégrossir” le produit, à la manière d’un sculpteur qui excave d’importants morceaux d’un bloc de pierre pour commencer à donner forme à son oeuvre, bien avant d’en fignoler les détails. Et de repérer des erreurs ou des manquements triviaux qui nuiraient au développement de nouvelles fonctionnalités, par exemple.

 

 

De la même manière, les tests automatisés seront particulièrement indiqués pour des fonctionnalités matures, dont le principe a été validé et qui sont peu soumises à des changements. Dans ce cas, une vérification automatique servira à cibler d’éventuelles malfaçons tout en optimisant le temps dédié à une partie du produit qui ne nécessite pas une attention particulière.

Simuler les comportements d’utilisateurs bien réels

Se contenter de tests automatisés vous priverait cependant de retours précieux pour le développement de votre solution. “L’ingéniosité, la créativité et les attentes d’utilisateurs bien réels permettent de découvrir des bugs en surface ou en profondeur que vous n’auriez jamais pu imaginer lors de la rédaction des scénarios de tests automatisés”, relève le livre blanc d’Applause. En effet, un échange plus direct avec des utilisateurs humains vous permettra d’affiner votre proposition de valeur ou l’UX de votre solution à l’aune de ce que vos vrais utilisateurs attendent de celle-ci.

Ces derniers voient bien au-delà de la finalité ou de l’utilisation théorique de votre solution et la prennent en main selon ce qu’eux-mêmes veulent y trouver. “Les tests automatisés couvrent les cas d’utilisation tels qu’ils ont été conçus dans le framework de votre équipe de test”, rappelle Applause. Mais pouvez-vous penser à tout ? Sûrement pas. C’est pourquoi vos utilisateurs représentent une ressource précieuse pour identifier les failles de votre solutions auxquelles ni vous ni aucun algorithme n’aurez pensé.

Trouver le juste équilibre

Il s’agit donc de bien doser automatisation et tests manuels pour trouver les quantités idéales au développement de votre solution. Afin d’allier test manuel et échantillon suffisamment conséquent pour être représentatif, le crowdtesting peut constituer une solution hybride. “Cela permet à vos testeurs manuels en interne, qui disposent d’une grande expertise du produit, de se concentrer sur des tâches plus complexes telles que l’architecture des scénarios de test, le taux de couverture, l’analyse des risques, l’expérience client et autres tâches de testing manuel non-fonctionnel”, souligne le livre blanc.

D’un autre côté, les progrès technologiques devraient permettre de mieux appréhender les tests automatiques, notamment grâce à l’intelligence artificielle. Des bots embarquant de l’IA pourraient aisément combiner les avantages d’une solution de test linéaire et à grande échelle avec ceux d’une utilisation moins académique du produit. Reste à savoir si les solutions qui se développeront sur ce segment-là seront à la portée de toutes les bourses...

Pour en savoir plus, vous pouvez retrouver le livre blanc d’Applause à télécharger ICI

Maddyness, partenaire média d’Applause.