Tecniche per automatizzare casi di test: Approccio process-driven e Testing model-based

Tecniche per automatizzare casi di test: Approccio process-driven e Testing model-based

I casi di test devono essere tradotti in sequenze di azioni che sono eseguite sul SUT (System Under Test). Tali sequenze di azioni possono essere documentate in una procedura di test e possono essere implementate in script di test. Oltre alle azioni, i casi di test automatizzati devono anche definire i dati di test per l’interazione con il SUT e includono i passi di verifica per verificare che il risultato atteso sia stato ottenuto dal SUT.

Approcci consolidati per automatizzare i casi di test comprendono:

  1. Approccio cattura/riesecuzione;
  2. Approccio con scripting lineare e strutturato, approccio data-driven e approccio keyword-driven;
  3. Approccio process-driven e testing model-based.

Tecniche per automatizzare casi di test: Approccio process-driven e Testing model-based

Scripting Process-driven

L’approccio process-driven si basa sulla tecnica di scripting keyword-driven con la differenza che sono degli scenari – che rappresentano casi d’uso del SUT e loro varianti – a costituire gli script che sono parametrizzati con i dati di test o combinati in definizioni di test di più alto livello.
Tali definizioni di test sono più facili da trattare poiché può essere determinata la relazione logica fra le azioni, per esempio ‘verifica lo stato dell’ordine’ dopo ‘inserire un ordine’ in un test positivo o ‘verifica lo stato dell’ordine’ senza aver usato in precedenza ‘inserire un ordine’ in un test di robustezza.

L’uso di definizioni di casi di test basate su scenari e processi consente la definizione delle procedure di test dal punto di vista del flusso operativo (workflow). L’obiettivo dell’approccio process-driven è implementare tali flussi operativi di alto livello usando librerie di test che rappresentano i passi di test dettagliati (come per l’approccio keyword-driven).

Può non essere facile comprendere i processi di un SUT da parte di un Analista Tecnico del Test e così anche l’implementazione di script orientati ai processi, in particolare se nessuna logica dei processi di business è supportata dallo strumento di automazione.
Si deve fare attenzione anche di assicurarsi che siano implementati, per mezzo di keyword corrette, i processi corretti. Buoni processi saranno referenziati da altri processi e ciò risulterà in molti test rilevanti, mentre processi scadenti fatti non avranno un ritorno in termini di rilevanza, capacità di trovare gli errori, ecc.

Testing Model-based

Il testing model-based si riferisce alla generazione automatica dei casi di test con l’uso di cattura/riproduzione, scripting lineare, scripting strutturato, scripting data-driven, scripting keyword-driven o scripting process-driven. Il testing model-based usa modelli formali che astraggono dalle tecnologie di scripting della TAA. Diversi metodi di generazione dei test possono essere usati per derivare test per ognuno dei framework di scripting discussi finora.

Il testing model-based consente con l’astrazione di concentrarsi sull’essenza del testing (in termini di logica di business, dati, scenari, configurazioni, ecc. da testare). Questo approccio, consente anche di generare test per differenti sistemi target e tecnologie, cosicché i modelli usati per la generazione del test costituiscono una rappresentazione a prova di futuro del testware, che può essere riusato e manutenuto quando la tecnologia evolve.
In caso di cambiamenti nei requisiti, il modello di test deve essere solo adattato: viene generato automaticamente un insieme completo di casi di test. Le tecniche di progettazione dei casi di test sono incorporate nei generatori di casi di test.

Infine, per il Testing Model-based è richiesta conoscenza nella modellazione per applicare un approccio di testing model-based in modo efficace. L’attività di modellare per astrazione le interfacce, i dati e il comportamento di un SUT può essere difficile. In aggiunta, la modellazione e gli strumenti di testing model-based non sono ancora popolari, ma stanno maturando. Gli approcci al testing model-based richiedono adattamenti dei processi di test. Per esempio, deve essere stabilito il ruolo del progettista del test. Di qui consegue che i modelli usati per la generazione dei test costituiscono degli artefatti importanti per la quality assurance di un SUT, che devono essere verificati per la qualità e anche manutenuti.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *