Cos'è il test del flusso di lavoro nel test del software? con esempi
⚡ Riepilogo intelligente
I test del flusso di lavoro confermano che ogni sequenza di passaggi all'interno di un'applicazione rispecchia ancora il processo aziendale per cui è stata progettata, verificando ogni fase, passaggio di consegne e dipendenza dalla prima azione fino al risultato finale.

Cos'è il test del flusso di lavoro?
Test del flusso di lavoro Il test del flusso di lavoro è un tipo di test del software che verifica che ogni flusso di lavoro rifletta accuratamente il processo aziendale di riferimento. Un flusso di lavoro è una serie di attività che producono un risultato desiderato e solitamente comprende diverse fasi o passaggi. Per qualsiasi processo aziendale, il test di questi passaggi sequenziali è definito test del flusso di lavoro.
La distinzione che conta è la portata. Un singolo caso di prova chiede se una funzione restituisce la risposta corretta. Un test del flusso di lavoro chiede se dieci di queste funzioni, eseguite nell'ordine in cui un utente reale le segue, producono ancora il risultato che l'azienda si aspetta. Per questo motivo il test del flusso di lavoro appartiene alle voci orientate al processo nel tipi di test del software catalogo piuttosto che con le tecniche a livello di unità.
Esempio di test del flusso di lavoro
Ad esempio, verificare che il sistema possa essere installato sulla piattaforma dell'utente e che venga eseguito correttamente.
Un esempio più completo è quello di un ordine online. Il cliente aggiunge un articolo al carrello, applica un codice sconto, seleziona un'opzione di consegna, paga e riceve un'e-mail di conferma, mentre il magazzino riceve le istruzioni per il prelievo. Ciascuno di questi passaggi può essere eseguito singolarmente, ma fallire comunque se inserito nella catena: lo sconto potrebbe non essere applicato correttamente dopo il pagamento, oppure il messaggio destinato al magazzino potrebbe non essere mai elaborato.
Il test del flusso di lavoro viene eseguito in fasi. Ecco come si esegue il test del flusso di lavoro.
- Fase di inizioQuesta fase comprende la pianificazione iniziale dei test e la sperimentazione del prototipo.
- Fase di elaborazioneQuesta fase include la definizione della baseline dell'architettura di test.
- Fase di costruzioneQuesta fase prevede test approfonditi per ogni build.
- Fase di transizione: Questa fase include test di regressione e ritestare le correzioni.
Come eseguire il test del flusso di lavoro
Il modello a fasi sopra descritto illustra quando si svolge il lavoro. La sequenza seguente descrive cosa fa effettivamente un tester all'interno di ciascuna di queste fasi.
- Mappare il processo aziendale. Disegna il flusso di lavoro esattamente come viene eseguito dall'azienda, includendo ogni punto decisionale, approvazione e passaggio di consegne tra i reparti. Un analista aziendale è solitamente la via più rapida per ottenere una mappa accurata e analista di affari La documentazione è il riferimento rispetto al quale viene verificata la mappa.
- Definisci i criteri di ingresso e di uscita. Registra lo stato in cui il sistema deve trovarsi prima dell'avvio del flusso di lavoro e lo stato che ne dimostra il completamento. Senza entrambi, i tester non sono d'accordo sul successo o meno di un'esecuzione.
- Progettare i casi di test. Scrivi un caso per ogni percorso attraverso il flusso di lavoro, non uno per ogni schermata. Numera i passaggi, indica il risultato atteso per ciascuno e assegna a ogni caso un identificatore univoco in modo che i difetti possano essere trace tornò su un sentiero.
- Preparare dati di prova realistici. Riutilizzare dati di produzione anonimizzati anziché valori inventati. Codici sconto, regole fiscali e formati degli indirizzi sono i soliti ambiti in cui i dati sintetici nascondono difetti reali.
- Percorri prima il percorso principale. Prima di interrompere deliberatamente qualsiasi operazione, è fondamentale verificare che il flusso di lavoro venga completato dall'inizio alla fine. Un errore in questa fase invalida tutti i risultati negativi successivi.
- Interrompere la catena di proposito. Annullare a metà, inviare un valore non valido in un punto decisionale, far scadere una sessione e rifiutare un'approvazione. I difetti più interessanti risiedono in questi percorsi interrotti, non in quello principale.
- Segnala, correggi e riprova. Registra ogni difetto in corrispondenza della fase che lo ha generato, quindi esegui nuovamente l'intero flusso di lavoro dopo la correzione. Una fase riparata spesso sposta l'errore di una fase successiva nella catena.
I flussi di lavoro stabili che si ripetono a ogni rilascio sono i candidati ideali per l'automazione, perché gli stessi passaggi, eseguiti in sequenza, risultano identici ogni volta e lo script si ripaga da solo in pochi cicli.
Chi eseguirà il test del flusso di lavoro?
Il test del flusso di lavoro è un'attività condivisa, poiché nessun singolo ruolo ha una visione d'insieme dell'intera catena. Quattro ruoli si dividono il carico, ognuno con le proprie responsabilità.
- Ingegnere collaudatore
- Pianificare gli obiettivi e il programma del test
- Definire casi e procedure di test
- Valutare i risultati dei test
- Ingegnere dei componenti
- Sviluppo di componenti di prova
- Automatizzare alcune delle procedure di test
- Tester di integrazione
- Esecuzione test di integrazione e segnalare i difetti
- Tester di sistema
- Esecuzione test di sistema e segnalare i difetti
Cosa testare in un flusso di lavoro
I flussi di lavoro del software sono documentati nel Documento dei Requisiti Aziendali, che rappresenta la fonte di riferimento per la copertura dei test. I test dei flussi di lavoro includeranno anche parti dei test di sistema e di integrazione.
Un'analisi completa di un flusso di lavoro esamina molto più delle semplici schermate visualizzate dall'utente.
- Sequenza: Le fasi vengono eseguite nell'ordine documentato e non è possibile saltarle o ripeterle in modo errato.
- Trasferimento dei dati: I valori inseriti nelle prime fasi della catena rimangono intatti fino all'ultimo passaggio e in qualsiasi sistema a valle.
- Ruoli e autorizzazioni: Ciascun passaggio è disponibile solo per il ruolo autorizzato a eseguirlo.
- Percorsi interrotti: Annullamento, timeout, rifiuto e nuovo tentativo lasciano il flusso di lavoro in uno stato definito.
- Artefatti: Il modello di test del flusso di lavoro comprende casi di test, procedure di test, componenti di test e sottosistemi di test, in modo che ognuno di essi venga verificato a sua volta.
- Notifiche: Le email, gli avvisi e i messaggi in coda vengono inviati una sola volta, con il contenuto corretto, nella fase corretta.
Test del flusso di lavoro vs test end-to-end vs test di sistema
Queste tre tecniche si sovrappongono a sufficienza da poter generare confusione, eppure rispondono a domande diverse. La tabella ne definisce i confini.
| Aspetto | Test del flusso di lavoro | Test end-to-end | Test di sistema |
| Domanda con risposta | Il software è adeguato ai processi aziendali? | L'intero percorso funziona su tutti i sistemi connessi? | Il sistema assemblato soddisfa i requisiti? |
| Unità di copertura | Un processo aziendale, passo dopo passo | Un unico percorso utente, dal front-end al back-end. | La build completa dell'applicazione |
| Riferimento primario | Documento sui requisiti aziendali | Mappa del percorso dell'utente | Specifiche dei requisiti di sistema |
| Proprietario tipico | Ingegnere collaudatore con contributo di analista aziendale. | Ingegnere dell'automazione o del controllo qualità | Tester di sistema |
In pratica un test del flusso di lavoro è spesso la specifica di un test end-to-end è costruito da, mentre test di sistema fornisce la versione stabile su cui viene eseguito il flusso di lavoro.
Migliori pratiche e sfide comuni
I team che traggono vantaggio dai test sui flussi di lavoro tendono a seguire sempre le stesse abitudini.
- Dai priorità ai flussi di lavoro che comportano rischi in termini di ricavi o di conformità normativa, rispetto a quelli rari.
- Descrivi ogni passaggio e il risultato atteso in un linguaggio semplice e inequivocabile.
- Mantieni un set di dati di test riutilizzabile e realistico in modo che le esecuzioni rimangano comparabili tra i diversi ambienti.
- Testa ciascun flusso di lavoro con input validi e con input non validi in ogni punto decisionale.
- Aggiorna i casi di test non appena il processo aziendale sottostante subisce delle modifiche.
Gli ostacoli ricorrenti sono altrettanto prevedibili.
- Processi non documentati: Il flusso di lavoro risiede nella mente delle persone, quindi i tester lo convalidano rispetto a un'ipotesi.
- Tempi di esecuzione lunghi: Un flusso di lavoro che include approvazioni può richiedere ore, il che limita la frequenza con cui può essere eseguito manualmente.
- Deriva ambientale: I sistemi a valle della catena sono incompleti o obsoleti e i difetti emergono solo in fase di produzione.
- Automazione fragile: Gli script legati al layout dello schermo si interrompono ogni volta che l'interfaccia cambia, anche se il processo non subisce modifiche.
- Collisioni di dati: L'esecuzione in parallelo consuma gli stessi record, producendo errori che sembrano difetti del prodotto.
