TechTarget TechInDepth

Scenari di test: che cosa sono è perché sono così importanti

Scenari di test da non confondere con i test case. La selezione e lo sviluppo dei primi è una componente critica di qualsiasi strategia di validazione della programmazione. Con opzioni di automazione in base al ROI associato alla tipologia di test.

Pubblicato il 30 Giu 2022

Scenari di test

Scenari di test sbandierati spesso come strategici per una efficace programmazione del software. Ma cosa fanno esattamente? E in che modo i team possono garantire siano efficaci? In questo articolo, gli esperti approfondiscono tutti i dettagli tecnici di una programmazione agile.

Scenari di test: a cosa servono

Identificare e sviluppare scenari di test è una delle componenti più critiche di qualsiasi strategia di programmazione. In estrema sintesi, è necessario analizzare, mappare e descrivere quali componenti, funzioni, interfacce o altri componenti dell’applicazione che verranno testati dal team. Queste informazioni costituiscono poi le basi per la produzione di tutta la documentazione associata alle procedure di test.

Scenari di test e casi di prova: differenze e relazioni

Gli scenari di test e i test case vengono frequentemente discussi insieme ed entrambi accelerano i processi di Quality Assurance. L’importante è non confonderli: ciascuno di essi, infatti, svolge un ruolo diverso rispetto alle attività di test manuali e automatizzate.

  • Che cosa sono gli scenari di test: sviluppati in base ai requisiti aziendali e di sistema, gli scenari di test rappresentano la documentazione di alto livello relativa a ciò che i professionisti del controllo qualità andranno a testare, descrivendo sia la funzionalità che il modo in cui l’utente eseguirà la funzione.
  • Che cosa sono i test case: si tratta di specifiche tecniche che forniscono una documentazione dettagliata delle procedure di test dell’applicazione, includendo un elenco dei risultati previsti. I professionisti del controllo qualità possono eseguire i test case manualmente o svilupparli in script automatizzati.

Mentre i test case costituiscono la struttura di codifica che i team di controllo qualità utilizzeranno per creare script di test automatizzati, gli scenari di test aiutano gli stessi team a determinare quali test specifici automatizzare.

Come creare scenari di test efficaci

Generalmente i team mettono insieme scenari di test utilizzando una combinazione di storie degli utenti e criteri di accettazione degli utenti. Tuttavia, gli scenari di test possono anche derivare da una modellizzazione delle persone, che fungono da profilo generale dei comportamenti degli utenti previsti e delle esigenze previste. Ad esempio, persone ben sviluppate possono aiutare i team a creare scenari di test incentrati sulle funzionalità che ritengono più importanti per la stragrande maggioranza degli utenti.

Il ruolo di Gherkin nello sviluppo dei test automatizzati

La programmazione guidata dal comportamento (BDD – Behavior-Driven Development) può essere un altro approccio molto produttivo. Il BDD inserisce il lato aziendale nel processo di sviluppo, ma continua a concentrarsi sul comportamento previsto dell’utente. Nel caso di Cucumber (uno strumento software che supporta lo sviluppo basato sul comportamento Ndr), il parser del linguaggio ordinario, chiamato Gherkin, consente di specificare i comportamenti software previsti in modo estremamente intuitivo. La sintassi Gherkin, infatti, ha una struttura semplice e chiara che, utilizzando la formula Given-When-Then, può essere facilmente compresa sia dagli sviluppatori che dal personale aziendale. Grazie al supporto del framework di test Cucumber BDD, Gherkin semplifica lo sviluppo degli script a supporto dei test automatizzati.

Pianificazione di una strategia di test

Una volta che un team ha identificato i propri scenari di test, è il momento di creare una vera e propria strategia finalizzata a determinare gli scenari specifici che il team di controllo qualità testerà manualmente rispetto a quelli schedulati in automatico. Affinché le decisioni risultino efficaci, questo lavoro deve essere svolto all’inizio del processo di sviluppo. La pianificazione di una strategia di test presuppone l’identificazione del dominio di svolgimento. Ad esempio, alcuni requisiti normativi possono determinare tipi di scenari che il team seleziona ed esegue con livelli di dettaglio sia delle procedure di test che della documentazione corrispondente. Un altro fattore rilevante da considerare potrebbero essere le metodologie utilizzate e la loro relativa maturità.

Test automatizzati vs test manuali

Oggi l’automazione è diventata sempre più integrata nelle strategie di test. Ma non tutti gli scenari di test possono essere automatizzati. Anche quando si unisce un processo di test continuo automatizzato in una pipeline CI/CD, i team di controllo qualità devono comunque eseguire manualmente alcune procedure come, ad esempio, i test GUI incentrati sull’UX. E mentre i test case che si svolgono su lunghi periodi di tempo possono essere complessi da automatizzare, un investimento nella manodopera per lo sviluppo di scenari di test manuali accelererà notevolmente i processi di QA su tutta la linea.

Come sottolineano gli esperti, è fondamentale che i team scelgano attentamente gli scenari di test da risolvere manualmente. Di seguito, alcuni esempi di scenari di test appropriati per il test manuale:

  • test di convalida per l’UX
  • test di verifica per funzionalità a bassa priorità
  • test per casi di edge computing non di produzione
  • tutti i test che dipendono fortemente dal giudizio di un ingegnere di test

Quando conviene automatizzare gli scenari di test

Gli scenari di test possono essere automatizzati quando le funzionalità critiche richiedono test ripetitivi o sono semplicemente troppo difficili da gestire manualmente. Ad esempio, i test che coinvolgono grandi volumi di dati o complesse procedure di immissione dei dati spesso si adattano ad essere automatizzati.

La piramide dell’automazione dei test

Una tecnica estremamente utile per orientare i criteri di scelta è la piramide agile dell’automazione dei test.

Il modello impone che l’automazione venga applicata principalmente a livello di test delle unità e dei componenti che essendo generalmente meno complessi sono anche i più facili da automatizzare.

Per inciso, un elevato livello di copertura dei test unitari può aiutare i team a rilevare i difetti e a implementare soluzioni correttive nelle prime fasi del processo di sviluppo.

I test a livello di GUI, invece, risiedono in cima alla piramide dell’automazione dei test perché sono quelli più difficili da mantenere. Questo è il motivo per cui è meglio ridurre al minimo l’automazione dei test GUI, se non in presenza di componenti poco complessi.

Test di scenario: quali membri del team devono essere coinvolti

La scelta degli scenari di test per l’automazione dovrebbe essere un lavoro di squadra che include:

  • test lead
  • specialisti dell’automazione
  • SDET (Software Development Engineers in Test)
  • sviluppatori
  • proprietari di prodotti

I proprietari dei prodotti sono particolarmente importanti in quanto sono qualificati in modo univoco per evidenziare scenari di simulazione più accurati rispetto al flusso di lavoro dell’utente nel mondo reale. Anche gli sviluppatori giocando un ruolo importante nell’evidenziare gli scenari che richiedono test su raccolte di codice complesse.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 3