Catégories
Start-up et applications

Les outils de test offrent de la qualité – PAS!

J'ai récemment été embauché pour faire une analyse approfondie du marché des outils de test de logiciels. Soit dit en passant, il y a plus d'outils dans l'espace de test de logiciels qu'un entrepôt de bricolage et de rénovation domiciliaire. Compte tenu de cette occasion de sonder un large éventail de fournisseurs d'outils de test de logiciels, il était assez intéressant de regarder les promesses qu'ils font au marché. Ces promesses peuvent être divisées en quatre catégories générales:

  • Nous fournissons une meilleure qualité
  • Nous avons l'IA et nous sommes plus intelligents que vous
  • Nous vous permettons de faire les choses plus rapidement
  • Nous sommes open-source – essayez-le

Ce qui m'a le plus frappé, c'est le très grand nombre de fournisseurs d'outils de test de logiciels qui vendent l'idée d'offrir ou de fournir de la «qualité». Placer cela dans une analogie pointue: affirmer qu'un outil de test fournit de la qualité, c'est comme affirmer que le test COVID vous empêche d'être infecté. Le fait est que lorsqu'un outil de test trouve un défaut, alors la «qualité» a déjà été compromise. Tout comme lorsque vous recevez un test COVID positif, vous êtes déjà infecté.

Éliminons ce prochain argument. Oui, les tests sont essentiels dans le processus qualité; cependant, l'outil qui détecte le défaut NE fournit PAS de qualité. Revenons à l'analogie du test COVID, l'action de porter des masques et de limiter votre exposition au public empêche la propagation de l'infection. Un test COVID peut vous aider à prendre une décision en aval de mise en quarantaine afin d'arrêter la propagation de l'infection ou une décision en amont d'être plus vigilant en portant un masque ou en limitant votre exposition à des environnements à haut risque. Je vais abandonner l'exemple COVID à ce stade par simple épuisement sur le sujet.

Mais continuons l’analogie avec la perte de poids – un sujet très populaire à l’approche des vacances. Les tests logiciels sont comme une balance, ils peuvent vous donner une évaluation de votre poids. La livraison de logiciels est comme la paire de pantalons que vous voulez porter pendant les vacances. Se peser est un assez bon indicateur de vos chances de rentrer dans la paire de pantalons à un moment donné.

L'utilisation de l'analogie du poids corporel est intéressante car une seule balance peut ne pas vous donner toutes les informations dont vous avez besoin et vous pourriez avoir la possibilité de porter un pantalon différent. Laissez-moi déballer ceci un peu.

L'échelle (s)
Nous ne pouvons pas nous fier à une seule mesure ni à une seule instance de cette mesure pour évaluer la qualité d'une application. En fait, il faut la confluence de nombreuses mesures à la fois quantitatives et qualitatives pour évaluer la qualité d'un logiciel à un moment donné dans le temps. À un niveau très élevé, il n'y a en réalité que trois types de défauts logiciels:

  • Mauvais code
    • Le code est mal écrit
    • Le code n'implémente pas la user story telle que définie
  • Mauvaise histoire d'utilisateur
    • La user story est erronée ou mal définie
  • Histoire d'utilisateur manquante
    • Il manque une fonctionnalité essentielle pour la version

En utilisant ce cadre de haut niveau, des approches de test radicalement différentes sont nécessaires. Si nous voulons évaluer un mauvais code, nous nous appuyons sur des techniques de test de développement comme l'analyse de code statique pour mesurer la qualité du code. Nous utiliserions les tests unitaires ou peut-être le développement piloté par les tests (TDD) comme mesure préliminaire pour comprendre si le code est aligné sur une fonction ou un composant critique de la user story. Si nous voulons évaluer une mauvaise user story, c'est ici que BDD, les tests manuels, les tests fonctionnels (UI et API) et les tests non fonctionnels prennent le relais pour évaluer si la user story est correctement livrée dans le code. Et enfin, si nous voulons comprendre s'il manque une user story, c'est généralement le résultat de tests exploratoires lorsque vous obtenez ce moment «A-ha» où il manque quelque chose de critique.

Le pantalon
Rafraîchissons rapidement l’analogie. La balance est comme un outil de test logiciel et nous voulons nous peser pour nous assurer de pouvoir rentrer dans notre pantalon, ce qui est notre objectif de sortie. Le concept essentiel ici est que tous les pantalons ne sont pas conçus pour s'adapter de la même manière et qu'il en va de même pour les versions de logiciels. Regardons les choses en face, notre logiciel n’a pas besoin d’être parfait et, pour être franc, la «perfection» a un coût qui dépasse largement les ressources d’une organisation à atteindre. Par conséquent, nous devons comprendre que certains pantalons sont serrés avec plus de restrictions et certains pantalons sont amples, ce qui vous donne plus de confort. Donc, vous pourriez avoir une sortie de jeans skinny ou une sortie de pantalons de survêtement.

Notre défi dans le secteur du développement et de la livraison de logiciels est que nous ne faisons pas la différence entre les jeans skinny et les pantalons de survêtement. Cela nous conduit à une approche de test-tout, qui est un fardeau distinct pour la vitesse et les coûts. L'alternative, qui est l'approche «tester ce que nous pouvons», est également sous-optimale.

Alors, quelle est la conclusion? Je pense que nous devons nous soucier de rentrer dans notre pantalon à un moment donné. Il existe actuellement suffisamment d'informations tout au long du cycle de vie du développement logiciel et de la production pour nous guider dans la création et l'exécution de l'ensemble optimal de tests. La prochaine évolution des tests logiciels ne sera pas uniquement l'intelligence artificielle. La prochaine évolution consistera à utiliser les données déjà existantes pour optimiser à la fois ce qu'il faut tester et comment le tester. Ou en d'autres termes, nous comprendrons les contraintes associées à chaque paire de pantalons et nous utiliserons notre échelle efficacement pour nous assurer que nous les adaptons à temps pour les vacances. de moins de 10 membres de la famille proche.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *