Utilizziamo BDD e utilizzando SpecFlow per guidare il nostro sviluppo (ATDD).Utilizzo di SpecFlow per test di regressione end-to-end
Il nostro team di QA desidera definire i propri test di regressione end-to-end (in Gherkin/SpecFlow) e riutilizzare i passaggi che abbiamo già definito.
(Si prega di notare - So che questo non è un grande esempio, ma dovrebbe fornire dettagli sufficienti)
Un test può includere ..
- Login
- Ricerca di un prodotto
- Selezionare un prodotto per acquistare
- Creare un ordine
- Selezionare l'opzione di consegna.
- Invia l'ordine.
- Annulla l'ordine.
Questo sarebbe suggerisce uno scenario come ..
Dato Sono entrato
quando faccio una ricerca per un prodotto
E Selezionare un prodotto da acquistare
E creo un ordine
E I Selezionare l'opzione di consegna
E inviare l'ordine
E annullare l'ordine
Quindi ?? !!
Che è chiaramente errato in quanto non controlliamo l'output ad ogni passaggio.
Quindi questo può essere risolti come una sequenza di scenari:
Scenario 1:
Premesso Sono entrato
quando faccio una ricerca per un prodotto
poi vedo un elenco di prodotti
Scenario 2:
Quando seleziono un prodotto da acquistare
allora posso creare un ordine
Scenario 3:
Quando creo l'ordine
E I Selezionare l'opzione di consegna
Allora posso inviare l'ordine
etc etc
Il problema principale di questo è che ci sembra alcun modo per specificare l'ordine/sequenza in cui vengono eseguiti gli scenari (una caratteristica di nUnit?). Perché ci sono delle dipendenze tra gli scenari (non sono impostati su un punto di partenza noto) devono essere eseguiti in sequenza.
Le mie domande sono:
a) stiamo cercando di montare un piolo quadrato in un buco rotondo ?!
b) Qualcuno sa se esiste un modo per utilizzare SpecFlow/Gherkin in questo modo?
c) O qualcuno sa quali alternative ci sono?
Grazie mille!
Molte grazie per la tua risposta Marcus e gli articoli che della lista - molto utile! Sono un po 'più chiaro ora sulla questione del test. Cioè, abbiamo la capacità di concatenare insieme scenari già scritti per eseguire in sequenza l'esecuzione di test di sistema end-to-end? per esempio. accedi quindi sfoglia i prodotti quindi invia l'ordine quindi registra l'account quindi modifica l'account quindi cerca gli ordini quindi visualizza l'ordine, quindi annulla l'ordine, ecc. ecc. Sarebbe quindi utile essere in grado di concatenare scenari come When Then When Then When Then .. Purtroppo lì non sembra essere un modo per eseguire scenari in ordine specifico. Aggiornamento –
: se gli scenari sono denominati '001 Esegui questo', '002 Esegui' ecc., Vengono eseguiti in questo ordine. Si sente un po 'hacky ma per i nostri scopi questo funzionerà finché non si troverà una soluzione migliore. –
Vorrei raccomandare definitivamente contro la scrittura di scenari che dipendono dall'ordine. Sarà difficile mantenere ... –