lumunizf / BDD

:dart: BDD for user stories

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BDD (Behavior Driven Development)

GitHub license GitHub top language GitHub issues GitHub closed issues GitHub last commit GitHub Workflow Status Twitter Follow Website


BDDCucumberSpecFlowGherkinTestes AutomatizadosConfiguraçõesLicença


BDD

♻️ BDD for user stories.

BDD

BDD (Behavior Driven Development) ou desenvolvimento orientado por comportamento é uma técnica de desenvolvimento Ágil que encoraja colaboração entre desenvolvedores, setores de qualidade e pessoas não-técnicas ou de negócios num projeto de software e se relaciona com o conceito de verificação e validação.

– Wikipedia –


Cucumber

Cucumber

É um framework para a prática do BDD. Através dele escrevemos as especificações das funcionalidades utilizando a linguagem Gherkin.

Neste projeto utilizei o Cucumber como framework para implementar o BDD.


SpecFlow

Cucumber

Também é um framework para a prática do BDD, normalmente utilizado em projetos e soluções .NET.

O SpecFlow suporta o Gherkin, mesma sintaxe utilizada com o Cucumber.


Gherkin

As user stories são descritas em linguagem natural possibilitando o entendimento tanto pela equipe técnica quanto pela área de negócios.

O comportamento da funcionalidade é descrito utilizando as palavras reservadas abaixo:

Dado ...
Quando ...
Então ...

Veja um exemplo do comportamento de uma funcionalidade descrito com Gherkin clicando aqui.

Testes

Automação de teste

Para automatizar os testes descritos nos arquivos .feature são necessários alguns pré-requisitos, descritos à seguir.

Pré-requisitos

  • Java development kit (JDK 8) - Release 10.0.2

Ferramentas

  • Eclipse IDE - Versão Photon - Release 4.8.0
  • Maven - Versão 4.0.0
  • Cucumber Eclipse Plugin
  • JUnit - Versão 4.12

Configuração

Procedimentos para a configuração do ambiente de testes.

1. Instalação do Eclipse IDE

Eclipse IDE
  • Download do Eclipse
  • Descompactar o arquivo e clicar sobre o executável para iniciar a instalação.

2. Instalação do Java JDK 8

Java JDK 8
  • Download do instalador do Java JDK
  • Aceitar a licença clicando em "Accept License Agreement".
  • Clicar no link para download referente ao seu sistema operacional (Windows x64).
  • Após o download, executar a instalação (next, next, finish).

3. Configuração das variáveis de ambiente

  • Adicionar JAVA_HOME nas variáveis de ambiente:

    • Meu Computador > Botão direito: Propriedades > Configurações avançadas do sistema;
    • Propriedades do sistema: Aba 'Avançado' > Botão "Variáveis do ambiente";
    • Na área "Variáveis do sistema", clicar no botão 'Novo...';
    • Na janela "Nova variável de sistema", preencher o campo 'Nome da variável' com JAVA_HOME e o campo 'Valor da variável' com o caminho do diretório onde o Java foi instalado.
  • Atualizar o PATH das variáveis de ambiente:

    • Ainda na área "Variáveis do sistema", selecionar a variável "Path" > botão Editar.
    • Acrescentar ao final das configurações > ;%JAVA_HOME%\bin > botão OK.

4. Validar a configuração das variáveis de ambiente

  • Acessar o prompt de comando e digitar:
java -version

O sistema deve apresentar a versão do Java instalada.

  • Ainda no prompt de comando, digitar:
javac -version

O sistema deve apresentar a versão do compilador Java instalada.


Versão da biblioteca JRE

ATENÇÃO!

Valide se a biblioteca do JRE está na mesma versão da biblioteca JRE baixada e, caso não esteja, siga os passos abaixo.

  • Clique com o botão direito no projeto > opção 'propriedades' > Java Build Path > Libraries > remover a biblioteca.
  • Na sequência clicar no botão 'Add library' > selecionar a versão atual da biblioteca > next > apply and close.

5. Instalação do Cucumber Eclipse Plugin

Cucumber

Para instalar o Cucumber Eclipse Plugin no Eclipse, siga os passos abaixo:

  • Acesse o Menu Help > Eclipse Marketplace > Search "Cucumber"

  • Em seguida clique no botão Install.


6. Configuração das dependências no Maven

Maven

  • Criar um projeto MAVEN através do Eclipse IDE em File > New > Other > Maven > Maven Project > opção "Create a simple project".

  • Informar o Group id (link da empresa), o Artfact id (nome do projeto) > botão Finish.


7. Atualizar o arquivo POM.xml

Para adicionar as bibliotecas do Cucumber Eclipse Plugin e suas dependências, digitar no arquivo "POM.xml":

<dependencies>
  	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-java</artifactId>
		<version>1.2.5</version>
	</dependency>
</dependencies>

Execução dos testes

Execução de testes com o Cucumber

Cucumber

Para executar os testes com o Cucumber, siga os passos abaixo:

  • Acesse no Eclipse o botão Run > Run As > "Cucumber Feature".

Execução de testes com o JUnit

JUnit

Para executar os testes com o JUnit, siga os passos abaixo:

  • Acesse o site MVN Repository e efetue uma busca por 'cucumber'
  • Clique na opção "Cucumber JVM: JUnit" > selecione a versão 1.2.5
  • Copie o trecho de código abaixo e cole no arquivo 'pom.xml' do projeto:
<dependencies>
  	<dependency>
		<groupId>info.cukes</groupId>
		<artifactId>cucumber-junit</artifactId>
		<version>1.2.5</version>
		<scope>test</scope>
	</dependency>
</dependencies>

Criação da classe Runner

Crie a classe Runner para configurar o comportamento dos resultados de teste a cada execução.

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.SnippetType;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(plugin = "pretty", monochrome = true, snippets = SnippetType.CAMELCASE, dryRun = false,
strict = false)
public class Runner {

}

Após importar o JUnit e criar a class 'Runner' no projeto, acesse o botão Run > Run As > JUnit Test.

BDD

License

⚖️ MIT License © Luciana Muniz Freire.

About

:dart: BDD for user stories

License:MIT License


Languages

Language:Gherkin 65.3%Language:Java 34.7%