← Ultimi articoli
💻 computer science

PICKLES: a Natural Language Framework for Requirement Specification and Model-Based Testing

Questo documento introduce PICKLES, un framework in linguaggio naturale che colma il divario tra Behaviour-Driven Development e Model-Based Testing traducendo scenari leggibili dall'uomo in modelli formali per abilitare la generazione automatica di test con una copertura significativamente superiore rispetto al BDD standard.

Autori originali: María Belén Rodríguez, Petra van den Bos

Pubblicato 2026-04-30
📖 5 min di lettura🧠 Approfondimento

Autori originali: María Belén Rodríguez, Petra van den Bos

Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo

Immagina di dover insegnare a un robot come guidare un'auto. Hai due modi principali per farlo:

  1. Il metodo "Ingegnere Rigido" (Test basati su modelli): Scrivi una complessa bozza matematica di ogni possibile strada, condizione meteorologica e semaforo. È incredibilmente preciso e copre ogni scenario, ma solo un matematico può leggerlo. Se vuoi mostrare al capo cosa farà il robot, devi tradurre la matematica nuovamente in inglese, il che è difficile e soggetto a errori.
  2. Il metodo "Raccontastorie" (Sviluppo guidato dal comportamento): Scrivi una storia: "Dato che l'auto è sulla strada, Quando il semaforo diventa rosso, Allora l'auto si ferma." Tutti lo capiscono. È facile da scrivere e leggere, ma è come scrivere una ricetta per un solo giorno specifico. Se vuoi testare ogni possibile tempistica del semaforo, devi scrivere migliaia di storie separate, che diventano un mucchio disordinato e ingestibile di carta.

Il Problema:
Nel mondo reale, le aziende vogliono la precisione dell'"Ingegnere Rigido" ma la leggibilità del "Raccontastorie". Di solito, devono scegliere l'uno o l'altro. Se scelgono la storia, perdono i bug nascosti. Se scelgono la matematica, nessuno capisce i test.

La Soluzione: PICKLES
Gli autori di questo documento hanno creato un nuovo framework chiamato PICKLES (Precise Input and Control-flow Keyword-based Language for tEst Scenarios). Pensa a PICKLES come a un "Traduttore Universale" che colma il divario tra storie e matematica.

Ecco come funziona, usando una semplice analogia:

1. La "Ricetta Intelligente" (Il Linguaggio)

Invece di scrivere una storia su un'auto specifica che si ferma a un semaforo rosso specifico, PICKLES ti permette di scrivere una "Ricetta Intelligente".

  • Vecchio metodo: "L'auto si ferma al semaforo rosso su Main Street." (Troppo specifico).
  • Metodo PICKLES: "L'auto si ferma a qualsiasi semaforo rosso, purché il semaforo sia rosso e l'auto sia in movimento."
  • La Magia: Puoi definire regole come "Il semaforo può essere di qualsiasi colore dal Rosso al Verde" o "L'auto può avere qualsiasi velocità tra 0 e 100". Questo si chiama parametrizzazione. Trasforma una singola storia in una regola che copre migliaia di possibilità contemporaneamente.

2. L'"Architetto Automatico" (La Traduzione)

Una volta scritte queste "Ricette Intelligenti" in inglese semplice (usando un formato simile al popolare linguaggio Gherkin), lo strumento PICKLES agisce come un Architetto Automatico.

  • Legge le tue regole in inglese.
  • Costruisce istantaneamente un Modello Formale (una complessa mappa matematica) dietro le quinte.
  • Questa mappa è così dettagliata da conoscere ogni possibile percorso che il sistema potrebbe intraprendere, anche percorsi che non hai esplicitamente scritto.

3. La "Mappa Maestra" (Combinazione delle Storie)

Nei test tradizionali, testi la Storia A, poi la Storia B, poi la Storia C, separatamente.

  • Il Difetto: La Storia A potrebbe funzionare e la Storia B potrebbe funzionare, ma se fai A poi B, il sistema potrebbe bloccarsi. Le storie tradizionali spesso mancano di questi errori di "stretta di mano".
  • La Correzione PICKLES: Lo strumento prende tutte le tue storie separate e le cuce insieme in un'unica gigantesca "Mappa Maestra". Capisce come la Storia A si collega alla Storia B e come la Storia B si collega alla Storia C. Crea un quadro completo di come il sistema si comporta nel tempo, non solo in momenti isolati.

4. La "Ritraduzione" (Risultati Leggibili)

Questa è la parte più intelligente. Lo strumento utilizza la Mappa Maestra per generare automaticamente centinaia di casi di test specifici.

  • Di solito, questi test uscirebbero come codice matematico confuso.
  • PICKLES prende quei risultati matematici e li traduce nuovamente in storie in inglese.
  • Quindi, il tester riceve un rapporto che dice: "Ecco un test specifico in cui l'auto viaggiava a 50 mph e il semaforo è diventato rosso a 2,5 secondi. L'auto si è fermata correttamente."
  • L'umano può leggerlo, capirlo e verificarlo, anche se il lavoro pesante è stato svolto dal motore matematico.

Il Test Reale (Il Sistema di Traffico)

Gli autori hanno testato questo su un vero sistema di gestione del traffico utilizzato da un'azienda chiamata Technolution.

  • La Configurazione: Hanno preso storie esistenti sui sensori di traffico che rilevano rivelatori guasti.
  • Il Risultato:
    • Usando il vecchio metodo "Raccontastorie" (eseguendo le storie una per una), hanno testato solo circa il 30% dei possibili comportamenti del sistema.
    • Usando PICKLES (combinando le storie e utilizzando il motore matematico), hanno raggiunto il 100% di copertura della logica del sistema.
    • Lo hanno fatto senza scrivere centinaia di nuove storie. Hanno semplicemente reso le storie originali "più intelligenti" aggiungendo variabili (come "qualsiasi corsia" o "qualsiasi posizione") e lasciando che lo strumento facesse il resto.

Perché Questo È Importante

PICKLES permette a persone non tecniche (come project manager o analisti aziendali) di scrivere requisiti in inglese semplice che sono non ambigui e matematicamente rigorosi. Garantisce che:

  1. Nessuno sia confuso: I requisiti sono chiari per tutti.
  2. Nessun bug sia nascosto: Il motore matematico trova casi limite che gli umani potrebbero perdere.
  3. Meno lavoro: Scrivi meno storie per testare più scenari.

In breve, PICKLES è come dare a un robot un libro di storie abbastanza intelligente da comprendere ogni possibile variazione della storia, risolvere i problemi matematici al suo interno e poi scrivere un rapporto chiaro per te in inglese semplice.

Sommerso dagli articoli nel tuo campo?

Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.

Prova Digest →