BDD (Behavior Driven Development) Framework Tutorial: Esplora caratteristiche e vantaggi del framework BDD con esempi di framework Cucumber
BDD framework cioè Behavior Driven Development è un approccio di sviluppo software che consente al tester / analista di business di creare casi di test in linguaggio di testo semplice (inglese).
Il semplice linguaggio utilizzato negli scenari aiuta anche i membri del team non tecnici a capire cosa sta succedendo nel progetto software., Ciò aiuta e migliora la comunicazione tra team tecnici e non, manager e stakeholder.
Che cos’è lo sviluppo guidato dal comportamento BDD?
BDD traspare dal TDD cioè Test Driven Development che consente agli utenti di lavorare con più dati di test con il minimo intervento nel codice del software e quindi aiuta ad aumentare la riusabilità del codice, che è un meccanismo di risparmio di tempo nello sviluppo del software/ test di automazione.
Ereditando TDD, BDD ha anche tutte quelle caratteristiche insieme ai suoi vantaggi.,
- Gli scenari di test sono scritti separatamente in un file diverso, denominato come file di funzionalità.
- 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 di definizioni dei passaggi, ad esempio Java, Python.
Suggerito Read = > Come sono i tester coinvolti nell’approccio TBB / BDD
Perché usare BDD Framework?
Prima del framework BDD, tutti usavano TDD., TDD funziona bene nello sviluppo del software, a condizione che le parti interessate abbiano familiarità con il framework utilizzato e che le loro conoscenze tecniche siano sufficienti. 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è in 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 devono 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 Cucumber – uno strumento software per BDD e impareremo a implementarlo praticamente usando il suo linguaggio, ad esempio Gherkin.
Cucumber – Uno strumento quadro BDD
Cucumber è un comportamento guidato strumento di sviluppo (BDD) quadro per scrivere casi di test.,
Given – When – Then Approach
Sample Feature File
Feature: BDD implementation using CucumberScenario: Login to G-mail using Cucumber pluginGiven User is navigating to G-mail Login PageWhen User need to enter username as "Username" and password as "Password"Then User is successfully navigated to the G-mail Mail Box
Sample Step Definition File
Cucumber è un plugin di test che aiuta nell’implementazione dell’approccio di sviluppo basato sul comportamento.
Recommended Reading =>I migliori strumenti BDD che dovresti conoscere
Vantaggi di BDD Framework
Di seguito sono elencati i vari vantaggi di BDD.
#1) La copertura delle storie degli utenti
Il framework ibrido 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 agli stakeholder 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 sui test.
File di funzionalità contenenti scenari sono:
- Storie utente definite dal business.
- Criteri per gli sviluppatori per determinare se le specifiche soddisfano i requisiti aziendali.
- Scenari di test per il team di test.,
- Copertura di shell per un tester di automazione che permette loro di scrivere separatamente il loro codice in file di definizione passo.
- Scenari di test spiegati per le parti interessate.
La classificazione delle definizioni dei passaggi aiuta il tester di automazione a mantenere intatto il suo codice, il che aiuta quindi nel mantenimento degli script.
#2) Chiarezza degli scenari
Il linguaggio Gherkin utilizza un semplice testo laico focalizzato sul risultato del prodotto che viene testato / sviluppato utilizzando BDD.,
Come file di funzionalità separare la descrizione tecnica in un file di definizioni di passo 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.
Leggibilità power of gherkin garantisce la chiarezza degli scenari a ciascuno dei suoi utenti 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 il giusto approccio., Facile linguaggio di scenari cetriolo li aiuta a capire la funzionalità in un modo migliore.
Cucumber è un plugin indipendente dal linguaggio in quanto è compatibile con molti linguaggi di programmazione, ad esempio Java, Python, ecc.
Leggi anche =>Test di automazione utilizzando lo strumento BDD
#4) Riutilizzo del codice nel Framework
Dato – Quando – Allora approccio dà la libertà ai tester di utilizzare gli stessi passaggi come molte volte che vogliamo nel file di funzionalità che aiuta gradualmente a risparmiare tempo per i tester di automazione.,:
Scenario: Scenario 1
Dato Utente viene esplorato Home Page di Google
Quando l’Utente cercato “Cetriolo” nel motore di ricerca
Quindi fare clic sul Pulsante di Ricerca
E l’Utente può visualizzare i risultati della ricerca per Cetriolo nel browser web
Scenario: Scenario 2
Dato Utente viene esplorato Home Page di Google
Quando l’Utente cercato “Selenio” nel motore di ricerca
Quindi fare clic sul Pulsante di Ricerca
E l’Utente può visualizzare i risultati della ricerca di Selenio nel browser web
In due scenari precedenti, possiamo concludere che il “Dato”, il “Quando” e il “Poi” passaggi sono riutilizzabili nel secondo scenario.,
#5) Parametrizzazione nel file di funzionalità
Un utente può parametrizzare i passaggi del cetriolino nel file di funzionalità per ottenere la riusabilità nel file.
Ad esempio, se un utente sta lavorando su un’applicazione bancaria in cui accede all’applicazione ancora e ancora. Questo tipo di passaggi potrebbe essere parametrizzato con un diverso set di dati e consente di risparmiare tempo per il tester.
Durante la scrittura degli scenari, l’utente deve definire i passaggi del file di funzionalità in modo tale che l’utente possa utilizzare facilmente la funzionalità comune.,
#6) Integrazione continua – Facile da integrare
Cetriolo supporta anche lavorare con Jenkins. È possibile eseguire l’esecuzione del test cucumber in Jenkins e implementare lo stesso nelle macchine slave Jenkins. Il plug-in di reporting cucumber fornisce inoltre agli utenti una vista estesa per monitorare gli scenari di test.
Vale la pena leggere =>Processo di integrazione continua
Conclusione
Lo sviluppo guidato dal comportamento è un approccio molto intelligente nella metodologia agile., Si consiglia sempre di avviare lo sviluppo o il test utilizzando BDD, poiché il suo utilizzo offre una piattaforma per lavorare in modo indipendente con diverse tecnologie.
Cucumber è uno dei migliori strumenti che aiuta a implementare l’approccio di sviluppo guidato dal comportamento nel progetto software. Questo ci consente di lavorare con molte tecnologie, ad esempio Java, Python, Jython, ecc.
Cucumber è ampiamente utilizzato da molte organizzazioni e liberi professionisti, ha anche molte comunità in cui gli utenti possono discutere i loro problemi e possono facilmente trovare soluzioni ai loro problemi.,
Cucumber language – Cetriolino che utilizza semplici parole in inglese – riduce il divario di comunicazione tra team tecnici e stakeholder e consente loro di lavorare insieme allo stesso livello.
Speriamo che questo articolo ti abbia aiutato a capire le basi del framework BDD!!