bdd framework
Tutorial sul framework BDD (Behaviour Driven Development): Esplora le caratteristiche ei vantaggi del framework BDD con esempi di framework Cucumber
Il framework BDD, ovvero Behaviour Driven Development, è un approccio di sviluppo software che consente al tester / analista aziendale di creare casi di test in un linguaggio di testo semplice (inglese).
Il semplice linguaggio utilizzato negli scenari aiuta anche i membri non tecnici del team a capire cosa sta succedendo nel progetto software. Ciò aiuta e migliora la comunicazione tra team tecnici e non, manager e stakeholder.
Cosa imparerai:
- Che cos'è lo sviluppo guidato dal comportamento BDD?
- Cetriolo: uno strumento per framework BDD
- Vantaggi di BDD Framework
- Conclusione
Che cos'è lo sviluppo guidato dal comportamento BDD?
BDD traspare dal TDD ovvero Test Driven Development che consente agli utenti di lavorare con più dati di test con un intervento minimo nel codice software e quindi aiuta ad aumentare la riusabilità del codice, che è un meccanismo che fa risparmiare tempo nello sviluppo del software / automazione del test .
Ereditando TDD, BDD ha anche tutte queste caratteristiche insieme ai suoi vantaggi.
quale non è un esempio di data mining?
- Gli scenari di test vengono scritti separatamente in un file diverso, denominato file Feature.
- I test sono scritti concentrando le storie degli utenti e il comportamento del sistema in un linguaggio laico.
- Il codice è soggetto a essere scritto in modo diverso nel file delle definizioni dei passaggi, ad esempio Java, Python.
Lettura suggerita => In che modo i tester sono coinvolti nell'approccio TBB / BDD
Perché utilizzare BDD Framework?
Prima del framework BDD, tutti usavano TDD. TDD funziona bene nello sviluppo di software, a condizione che le parti interessate abbiano familiarità con il framework utilizzato e la loro conoscenza tecnica sia sufficiente. Tuttavia, questo potrebbe non essere sempre il caso.
BDD fornisce un percorso che funge da ponte per superare il divario tra i team tecnici e quelli non tecnici perché i casi di test sono comunemente scritti in testo semplice, cioè inglese. Il vantaggio principale di BDD è il gergo basso e l'approccio più chiaro che è più facile da capire.
Come implementare l'approccio BDD?
Gli scenari di test dovrebbero essere scritti in un linguaggio semplice con una descrizione dettagliata del test, come testare l'applicazione e il comportamento dell'applicazione che può essere comprensibile da tutti.
In questo tutorial, ci concentreremo su Cetriolo - uno strumento software per BDD e imparerà a implementarlo praticamente utilizzando il suo linguaggio, ovvero Gherkin.
Cetriolo: uno strumento per framework BDD
Cucumber è uno strumento del framework Behaviour Driven Development (BDD) per scrivere casi di test.
Dato - Quando - Allora Approccio
- Dato: Qualche contesto dato (precondizioni).
- Quando: Viene eseguita una certa azione (azioni).
- Poi: Risultato / conseguenza particolare dopo il passaggio precedente (Risultati).
File di caratteristiche di esempio
Feature : BDD implementation using Cucumber Scenario : Login to G-mail using Cucumber plugin Given User is navigating to G-mail Login Page When User need to enter username as 'Username' and password as 'Password' Then User is successfully navigated to the G-mail Mail Box
File di definizione del passaggio di esempio
import cucumber.api.java.en.Given; import cucumber.api.java.en.Then; import cucumber.api.java.en.When; public class Sample { @Given('^User is navigating to G-mail Login Page$') public void user_is_navigating_to_G_mail_Login_Page() throws Throwable { // Write code here that turns the phrase above into concrete actions } @When('^User need to enter username as '((^')*)' and password as '((^')*)'$') public void user_need_to_enter_username_as_and_password_as(String arg1, String arg2) throws Throwable { // Write code here that turns the phrase above into concrete actions } @Then('^User is successfully navigated to the G-mail Mail Box$') public void user_is_successfully_navigated_to_the_G_mail_Mail_Box() throws Throwable { // Write code here that turns the phrase above into concrete actions } }
Cucumber è un plug-in di test che aiuta nell'implementazione dell'approccio di sviluppo basato sul comportamento.
Lettura consigliata => I migliori strumenti BDD che dovresti conoscere
Vantaggi di BDD Framework
Di seguito sono elencati i vari vantaggi di BDD.
# 1) Copertura delle storie degli utenti
Hybrid Framework con BDD è pensato per essere combinato con diverse funzionalità. Ogni risorsa nella fase di sviluppo del software può contribuire al framework BDD.
Grazie al suo semplice concetto di testo laico sotto forma di file di funzionalità consente alle parti interessate delle risorse tecniche di scrivere gli scenari in linguaggio Gherkin utilizzando le storie degli utenti. La compatibilità del testo normale aiuta a ottenere la massima copertura durante i test.
I file delle funzionalità contenenti scenari sono:
- User story definite dall'azienda.
- Criteri per gli sviluppatori per determinare se le specifiche soddisfano i requisiti aziendali.
- Scenari di test per il team di test.
- Copertura shell per un tester di automazione che consente loro di scrivere separatamente il proprio codice nei file di definizione dei passaggi.
- Scenari di test spiegati per gli stakeholder.
La classificazione delle definizioni dei passaggi aiuta il tester dell'automazione a mantenere intatto il suo codice, il che aiuta così nella manutenzione degli script.
# 2) Chiarezza degli scenari
Il linguaggio Gherkin utilizza un semplice testo laico incentrato sul risultato del prodotto che viene testato / sviluppato utilizzando BDD.
Poiché il file di funzionalità separa la descrizione tecnica in un file di definizioni di passaggio diverso per i tester di automazione, aiuta in modo intelligente una persona non tecnica a comprendere facilmente il test automatizzato. Eventuali aggiornamenti possono essere implementati in una piccola discussione.
Il potere di leggibilità del cetriolino garantisce la chiarezza degli scenari a ciascuno dei suoi utenti, il che a sua volta aiuta a costruire il prodotto giusto.
# 3) Automazione degli scenari di test
L'implementazione di Cucumber in un framework BDD consente a un tester di automazione di avviare facilmente lo scripting con l'approccio giusto. Il linguaggio semplice degli scenari di cetriolo li aiuta a comprendere la funzionalità in un modo migliore.
Cucumber è un plugin indipendente dalla lingua poiché è compatibile con molti linguaggi di programmazione Per esempio. Giava , Pitone , eccetera.
Leggi anche => Test di automazione utilizzando lo strumento BDD
# 4) Riutilizzo del codice in Framework
L'approccio dato - Quando - Allora dà la libertà ai tester di utilizzare gli stessi passaggi quante volte vogliamo nel file delle caratteristiche, il che aiuta gradualmente a risparmiare tempo per i tester di automazione.
Esempio:
Scenario: Scenario 1
Dato L'utente viene indirizzato alla home page di Google
quando L'utente ha cercato 'Cucumber' nel motore di ricerca
Poi Cliccato sul pulsante di ricerca
E L'utente può vedere i risultati della ricerca per Cucumber nel browser web
Scenario: Scenario 2
Dato L'utente viene indirizzato alla home page di Google
quando L'utente ha cercato 'Selenium' nel motore di ricerca
Poi Cliccato sul pulsante di ricerca
E L'utente può vedere i risultati della ricerca per Selenium nel browser web
Nei due scenari precedenti, possiamo concludere che ' Dato', ' quando ' e ' Poi 'I passaggi sono riutilizzabili nel secondo scenario.
# 5) Parametrizzazione nel file delle caratteristiche
Un utente può parametrizzare i passaggi del cetriolino nel file delle caratteristiche per ottenere la riusabilità nel file.
Per esempio, se un utente sta lavorando su un'applicazione bancaria dove accede all'applicazione ancora e ancora. Questo tipo di passaggi può essere parametrizzato con un diverso set di dati e fa risparmiare tempo al tester.
Durante la scrittura degli scenari, l'utente deve definire i passaggi del file delle caratteristiche in modo tale che l'utente possa utilizzare facilmente le funzionalità comuni.
# 6) Integrazione continua - Facile da integrare
Il cetriolo supporta anche il lavoro con Jenkins. È possibile eseguire l'esecuzione del test del cetriolo in Jenkins e implementare lo stesso anche nelle macchine slave Jenkins. Il plug-in di segnalazione del cetriolo fornisce inoltre agli utenti una vista espansa per monitorare gli scenari di test.
Vale la pena leggere => Processo di integrazione continua
Conclusione
Lo sviluppo guidato dal comportamento è un approccio molto intelligente in metodologia agile . Si consiglia sempre di iniziare lo sviluppo o il test utilizzando BDD, poiché il suo utilizzo offre una piattaforma per lavorare in modo indipendente con diverse tecnologie.
Il cetriolo è uno dei migliori strumenti che aiuta a implementare l'approccio di sviluppo guidato dal comportamento nel progetto software. Questo ci permette di lavorare con molte tecnologie Per esempio. Java, Python, Jython, ecc.
Il cetriolo è ampiamente utilizzato da molte organizzazioni e liberi professionisti, ha anche molte comunità in cui gli utenti possono discutere i loro problemi e trovare facilmente soluzioni ai loro problemi.
Il linguaggio del cetriolo - Gherkin che utilizza semplici parole inglesi semplici - riduce il divario di comunicazione tra i team tecnici e le parti interessate e consente loro di lavorare insieme allo stesso livello.
Ci auguriamo che questo articolo ti abbia aiutato a capire le basi del BDD Framework !!
Lettura consigliata
- Come i tester sono coinvolti nelle tecniche TDD, BDD e ATDD
- 8 migliori strumenti di sviluppo guidato dal comportamento (BDD) e framework di test
- Test di automazione utilizzando lo strumento Cucumber e il selenio - Tutorial sul selenio # 30
- Metodologia Agile: una guida per principianti al metodo Agile e Scrum
- Tutorial Specflow: la guida definitiva allo strumento BDD
- Processo di integrazione continua: come migliorare la qualità del software e ridurre i rischi
- Esercitazione sul selenio di cetriolo: integrazione con WebDriver di selenio Java di cetriolo
- 15 migliori strumenti di integrazione continua nel 2021 (a confronto)