Cetriolo - Panoramica
Al fine di ottenere i migliori vantaggi dal test del software, le organizzazioni stanno attualmente facendo un passo avanti. Implementano importanti scenari di test di accettazione mentre lo sviluppo è in corso. Questo approccio è comunemente noto comeBehavior Driven Development (BDD).
Lo sviluppo guidato dal comportamento ci offre l'opportunità di creare script di test sia dal punto di vista dello sviluppatore che da quello del cliente. Quindi, all'inizio, gli sviluppatori, i project manager, i QA, i tester di accettazione degli utenti e il proprietario del prodotto (azionista), si riuniscono e fanno un brainstorming su quali scenari di test dovrebbero essere superati per definire questo software / applicazione di successo. In questo modo escogitano una serie di scenari di prova. Tutti questi script di test sono in semplice lingua inglese, quindi serve anche a scopo di documentazione.
Esempio
Se stiamo sviluppando una funzione di autenticazione utente, i seguenti possono essere alcuni scenari di test chiave, che devono essere superati per definirlo un successo.
L'utente dovrebbe essere in grado di accedere con il nome utente e la password corretti.
L'utente non dovrebbe essere in grado di accedere con un nome utente errato e una password corretta.
L'utente non dovrebbe essere in grado di accedere con il nome utente corretto e la password errata.
Come funziona
Quando il codice è pronto, anche gli script di test sono pronti. Il codice deve superare gli script di test definiti in BDD. In caso contrario, sarà necessario il refactoring del codice. Il codice viene bloccato solo dopo aver eseguito correttamente gli script di test definiti.
È una nozione molto semplice, ma ciò di cui abbiamo bisogno per implementare questo concetto. La risposta è: Behaviour Driven Development (BDD) Framework. Il cetriolo è uno di questi strumenti open source, che supporta lo sviluppo guidato dal comportamento. Per essere più precisi, Cucumber può essere definito come un framework di test, guidato da un semplice testo inglese. Serve come documentazione, test automatizzati e aiuto allo sviluppo, tutto in uno.
Allora cosa fa il cetriolo? Può essere descritto nei seguenti passaggi:
Cucumber legge il codice scritto in un semplice testo inglese (Language Gherkin - che verrà introdotto più avanti in questo tutorial) nel file delle caratteristiche (che verrà introdotto in seguito).
Trova la corrispondenza esatta di ogni passaggio nella definizione del passaggio (un file di codice - dettagli forniti più avanti nel tutorial).
Il pezzo di codice da eseguire può essere diversi framework software come Selenium, Ruby on Rails, ecc. Non tutti gli strumenti del framework BDD supportano tutti gli strumenti.
Questa è diventata la ragione della popolarità di Cucumber rispetto ad altri framework, come JBehave, JDave, Easyb, eccetera.
Cucumber supporta oltre una dozzina di piattaforme software diverse come:
- Ruby on Rails
- Selenium
- PicoContainer
- Quadro di primavera
- Watir
Vantaggi del cetriolo rispetto ad altri strumenti
Cucumber supporta diversi linguaggi come Java.net e Ruby.
Funge da ponte tra il linguaggio commerciale e il linguaggio tecnico. Possiamo farlo creando un test case in semplice testo inglese.
Permette di scrivere lo script di test senza la conoscenza di alcun codice, consente il coinvolgimento anche di non programmatori.
Serve allo scopo di framework di test end-to-end a differenza di altri strumenti.
Grazie alla semplice architettura dello script di test, Cucumber fornisce la riusabilità del codice.