PICKLES: a Natural Language Framework for Requirement Specification and Model-Based Testing
Ce papier présente PICKLES, un cadre en langage naturel qui fait le pont entre le développement piloté par les comportements et les tests basés sur les modèles en traduisant des scénarios lisibles par l'homme en modèles formels pour permettre une génération automatique de tests avec une couverture nettement supérieure à celle du BDD standard.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous essayez d'enseigner à un robot comment conduire une voiture. Vous avez deux façons principales de faire cela :
- La méthode « Ingénieur Strict » (Tests basés sur le modèle) : Vous rédigez un plan mathématique complexe décrivant chaque route possible, chaque condition météorologique et chaque feu de circulation. C'est incroyablement précis et couvre tous les scénarios, mais seul un mathématicien peut le lire. Si vous voulez montrer au patron ce que le robot fera, vous devez traduire les mathématiques en anglais, ce qui est difficile et sujet aux erreurs.
- La méthode « Conteur » (Développement piloté par le comportement) : Vous écrivez une histoire : « Étant donné que la voiture est sur la route, Lorsque le feu passe au rouge, Alors la voiture s'arrête. » Tout le monde comprend cela. C'est facile à écrire et à lire, mais c'est comme écrire une recette pour un jour spécifique seulement. Si vous voulez tester tous les synchronismes possibles des feux de circulation, vous devez écrire des milliers d'histoires séparées, ce qui devient un tas de papier désordonné et ingérable.
Le Problème :
Dans le monde réel, les entreprises souhaitent la précision de l'« Ingénieur Strict » mais la lisibilité du « Conteur ». Habituellement, elles doivent choisir l'un ou l'autre. Si elles choisissent l'histoire, elles manquent des bugs cachés. Si elles choisissent les mathématiques, personne ne comprend les tests.
La Solution : PICKLES
Les auteurs de cet article ont créé un nouveau cadre appelé PICKLES (Precise Input and Control-flow Keyword-based Language for tEst Scenarios). Considérez PICKLES comme un « Traducteur Universel » qui comble le fossé entre les histoires et les mathématiques.
Voici comment cela fonctionne, en utilisant une analogie simple :
1. La « Recette Intelligente » (Le Langage)
Au lieu d'écrire une histoire sur une voiture spécifique s'arrêtant à un feu rouge spécifique, PICKLES vous permet d'écrire une « Recette Intelligente ».
- Ancienne méthode : « La voiture s'arrête au feu rouge de la rue Principale. » (Trop spécifique).
- Méthode PICKLES : « La voiture s'arrête à n'importe quel feu rouge, à condition que le feu soit rouge et que la voiture soit en mouvement. »
- La Magie : Vous pouvez définir des règles comme « Le feu peut être de n'importe quelle couleur, du Rouge au Vert » ou « La voiture peut avoir n'importe quelle vitesse entre 0 et 100 ». Cela s'appelle la paramétrisation. Cela transforme une seule histoire en une règle couvrant des milliers de possibilités à la fois.
2. L'« Architecte Automatique » (La Traduction)
Une fois que vous avez écrit ces « Recettes Intelligentes » en anglais simple (en utilisant un format similaire au langage Gherkin populaire), l'outil PICKLES agit comme un Architecte Automatique.
- Il lit vos règles en anglais.
- Il construit instantanément un Modèle Formel (une carte mathématique complexe) en arrière-plan.
- Cette carte est si détaillée qu'elle connaît chaque chemin possible que le système pourrait emprunter, même les chemins que vous n'avez pas explicitement écrits.
3. La « Carte Maîtresse » (Combinaison des histoires)
Dans les tests traditionnels, vous testez l'Histoire A, puis l'Histoire B, puis l'Histoire C, séparément.
- Le Défaut : L'Histoire A peut fonctionner, et l'Histoire B peut fonctionner, mais si vous faites A puis B, le système peut planter. Les histoires traditionnelles manquent souvent de ces erreurs de « poignée de main ».
- La Correction PICKLES : L'outil prend toutes vos histoires séparées et les assemble en une seule « Carte Maîtresse » géante. Il détermine comment l'Histoire A se connecte à l'Histoire B, et comment l'Histoire B se connecte à l'Histoire C. Il crée une image complète du comportement du système dans le temps, et non pas seulement dans des moments isolés.
4. La « Retraduction » (Résultats lisibles)
C'est la partie la plus ingénieuse. L'outil utilise la Carte Maîtresse pour générer automatiquement des centaines de cas de test spécifiques.
- Habituellement, ces tests ressortiraient sous forme de code mathématique confus.
- PICKLES prend ces résultats mathématiques et les traduit à nouveau en histoires en anglais.
- Ainsi, le testeur reçoit un rapport indiquant : « Voici un test spécifique où la voiture roulait à 50 mph et le feu est passé au rouge à 2,5 secondes. La voiture s'est arrêtée correctement. »
- L'humain peut le lire, le comprendre et le vérifier, même si le travail lourd a été effectué par le moteur mathématique.
Le Test Réel (Le Système de Circulation)
Les auteurs ont testé cela sur un véritable système de gestion du trafic utilisé par une entreprise appelée Technolution.
- La Configuration : Ils ont pris des histoires existantes concernant des capteurs de trafic détectant des détecteurs défectueux.
- Le Résultat :
- En utilisant l'ancienne méthode du « Conteur » (exécutant les histoires une par une), ils n'ont testé qu'environ 30 % des comportements possibles du système.
- En utilisant PICKLES (en combinant les histoires et en utilisant le moteur mathématique), ils ont atteint 100 % de couverture de la logique du système.
- Ils ont fait cela sans écrire des centaines de nouvelles histoires. Ils ont simplement rendu les histoires originales « plus intelligentes » en ajoutant des variables (comme « n'importe quelle voie » ou « n'importe quelle position ») et ont laissé l'outil faire le reste.
Pourquoi Cela Importe
PICKLES permet aux personnes non techniques (comme les chefs de projet ou les analystes d'affaires) de rédiger des exigences en anglais simple qui sont non ambiguës et mathématiquement rigoureuses. Cela garantit que :
- Personne n'est confus : Les exigences sont claires pour tout le monde.
- Aucun bug n'est caché : Le moteur mathématique trouve des cas limites que les humains pourraient manquer.
- Moins de travail : Vous écrivez moins d'histoires pour tester plus de scénarios.
En bref, PICKLES revient à donner à un robot un livre d'histoires assez intelligent pour comprendre chaque variation possible de l'histoire, résoudre les problèmes mathématiques qui s'y trouvent, puis rédiger un rapport clair pour vous en anglais simple.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.