Sviluppo guidato dal comportamento - Strumenti

I team di sviluppo hanno spesso un'idea sbagliata che BDD sia un framework di strumenti. In realtà, BDD è un approccio di sviluppo piuttosto che un framework di strumenti. Tuttavia, come nel caso di altri approcci di sviluppo, esistono anche strumenti per BDD.

Diversi strumenti BDD sono in uso per diverse piattaforme e linguaggi di programmazione. Sono -

  • Cetriolo (quadro rubino)

  • SpecFlow (.NET framework)

  • Comportarsi (framework Python)

  • JBehave (framework Java)

  • JBehave Web (framework Java con integrazione Selenium)

  • Lettuce (framework Python)

  • Concordion (framework Java)

  • Behat (framework PHP)

  • Kahlan (framework PHP)

  • DaSpec (framework JavaScript)

  • Jasmine (framework JavaScript)

  • Cucumber-js (framework JavaScript)

  • Squish GUI Tester (BDD GUI Testing Tool per JavaScript, Python, Perl, Ruby e Tcl)

  • Spock (framework Groovy)

  • Yadda (supporto del linguaggio Gherkin per framework come Jasmine (framework JavaScript))

Cetriolo

Cucumber è uno strumento gratuito per le specifiche eseguibili utilizzate a livello globale. Cucumber consente ai team di sviluppo del software di descrivere come dovrebbe comportarsi il software in testo normale. Il testo è scritto in un linguaggio specifico del dominio leggibile per il business e funge da documentazione, test automatizzati e supporto allo sviluppo, il tutto riunito in un unico formato. Puoi usare oltre quaranta lingue parlate diverse (inglese, cinese, ecc.) Con Cucumber.

Cetriolo - Caratteristiche principali

Le caratteristiche principali del cetriolo sono le seguenti:

  • Il cetriolo può essere utilizzato per le specifiche eseguibili, l'automazione dei test e la documentazione vivente.

  • Cucumber funziona con Ruby, Java, NET, Flex o applicazioni web scritte in qualsiasi lingua.

  • Il cetriolo supporta test più succinti nelle tabelle, in modo simile a ciò che fa FIT.

  • Cucumber ha rivoluzionato il ciclo di vita dello sviluppo del software fondendo requisiti, test automatizzati e documentazione in uno coerente: specifiche eseguibili in testo semplice che convalidano il software.

SpecFlow

SpecFlow è uno strumento BDD per la piattaforma .NET. SpecFlow è un progetto open source. Il codice sorgente è ospitato su GitHub.

SpecFlow utilizza la sintassi Gherkin per le funzionalità. Il formato Gherkin è stato introdotto da Cucumber ed è utilizzato anche da altri strumenti. Il linguaggio Gherkin è mantenuto come progetto su GitHub -https://github.com/cucumber/gherkin

Comportarsi

Behave è usato per il framework Python.

  • Behave funziona con tre tipi di file memorizzati in una directory chiamata "caratteristiche":

    • file di funzionalità con i tuoi scenari di comportamento in esso.

    • Directory "steps" con implementazioni di passi Python per gli scenari.

    • Facoltativamente, alcuni controlli ambientali (codice da eseguire prima e dopo passaggi, scenari, funzionalità o l'intera partita di tiro).

  • Le caratteristiche di Behave sono scritte usando Gherkin (con alcune modifiche) e sono chiamate "name.feature".

  • I tag associati a una funzionalità e uno scenario sono disponibili nelle funzioni dell'ambiente tramite l'oggetto "funzionalità" o "scenario" passato a loro. Su quegli oggetti c'è un attributo chiamato "tag" che è un elenco dei nomi dei tag allegati, nell'ordine in cui si trovano nel file delle caratteristiche.

  • Modifiche allo standard Gherkin -

    • Behave può analizzare i file Gherkin standard ed estende Gherkin per consentire parole chiave con passaggi minuscoli perché a volte possono consentire specifiche di funzionalità più leggibili

Lattuga

La lattuga è uno strumento BDD molto semplice basato sul cetriolo. Può eseguire descrizioni funzionali in testo semplice come test automatizzati per progetti Python. La lattuga mira ai compiti più comuni su BDD.

Concordione

Concordion è uno strumento open source per l'automazione di Specification by Example per Java Framework.

Sebbene le funzionalità principali siano semplici, la potente API del framework di estensione consente di aggiungere funzionalità, come l'utilizzo di fogli di calcolo Excel come specifiche, l'aggiunta di schermate all'output, la visualizzazione delle informazioni di registrazione, ecc.

Concordion ti consente di scrivere le specifiche in un linguaggio normale utilizzando paragrafi, tabelle e punteggiatura corretta e il linguaggio strutturato utilizzando Dato / Quando / Allora non è necessario.

Concordion è stato portato in altre lingue, tra cui:

  • C # (Concordion.NET)

  • Python (PyConcordion)

  • Ruby (Ruby-Concordion)