Behaviour-Driven Development 
BDD 
Cristian Mathias 
Felipe Foliatti
Desenvolvido em 2003, por 
Dan North como uma resposta 
ao TDD.
Reduz a distância entre negócio e tecnologia. 
Utiliza um vocabulário comum. 
Foco na entrega de valor.
BDD é a “documentação viva”.
GHERKIN 
Garante um vocabulário simples e consistente para descrever 
cenários reais de funcionalidades. 
• Funcionalidade...
Funcionalidade (Feature) 
Descreve o grupo de testes de uma funcionalidade. 
É armazenada em arquivos com a extensão .feat...
Cenário (Scenario) 
Descreve um comportamento desejado para o sistema. 
Uma funcionalidade pode conter vários cenários. 
C...
Dado (Given), Quando (When) 
e Então (Then) 
Palavras chaves que definem o comportamento e validação de um 
cenário. 
Exem...
E (And) e Ou (Or) 
Complementam os passos Dado, Quando e Então e evitam 
sobrecarga. 
Exemplo: 
Cenário: Estoque indisponí...
Contexto (Background) 
Todos os cenários da funcionalidade executam os passos 
especificados no contexto. 
Exemplo: 
Conte...
Esquema do cenário 
Possibilita testar diferentes dados que estão estruturados de 
forma tabular. 
Esquema de cenário: Ari...
Specflow – Cucumber for .net 
• Framework open-source. 
• Primeira versão em 2009. 
• Permite escrever e executar especifi...
Selenium WebDriver 
Permite automatizar ações do navegador. 
• Navegar entre as páginas. 
• Submeter formulários. 
• Selec...
Selenium WebDriver 
Alguns métodos do Selenium WebDriver: 
// Encontra todos os elementos de uma tela HTML através de um 
...
Selenium WebDriver 
Alguns métodos do Selenium WebDriver: 
// Abstração que permite acessar o histórico e navegar para uma...
Hands-on 
BDD + Specflow + Selenium WebDriver 
https://github.com/cristianmathias/Demo-BDD-Specflow-WebDriver
Obrigado! 
Cristian Mathias 
cristianm@dbserver.com.br 
Felipe Foliatti 
felipef@dbserver.com.br
Referencias 
http://www.devmedia.com.br/introducao-aos-testes-funcionais-automatizados- 
com-junit-e-selenium-webdriver/28...
BDD com specflow e selenium webdriver
Próximos SlideShares
Carregando em…5
×

BDD com specflow e selenium webdriver

765 visualizações

Publicada em

Apresentação sobre BDD com specflow e selenium webdriver

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
765
No SlideShare
0
A partir de incorporações
0
Número de incorporações
9
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

BDD com specflow e selenium webdriver

  1. 1. Behaviour-Driven Development BDD Cristian Mathias Felipe Foliatti
  2. 2. Desenvolvido em 2003, por Dan North como uma resposta ao TDD.
  3. 3. Reduz a distância entre negócio e tecnologia. Utiliza um vocabulário comum. Foco na entrega de valor.
  4. 4. BDD é a “documentação viva”.
  5. 5. GHERKIN Garante um vocabulário simples e consistente para descrever cenários reais de funcionalidades. • Funcionalidade • Contexto • Cenário • Quando • Então • E • Ou • Esquema de Cenário • Exemplos
  6. 6. Funcionalidade (Feature) Descreve o grupo de testes de uma funcionalidade. É armazenada em arquivos com a extensão .feature Exemplo: Funcionalidade: REQ001Login Eu como funcionário da DBServer quero poder me autenticar no sistema XYZ para ter acesso ao meu ambiente de trabalho ...
  7. 7. Cenário (Scenario) Descreve um comportamento desejado para o sistema. Uma funcionalidade pode conter vários cenários. Como o sistema deve se comportar em uma determinada situação. Exemplo: Cenário: REQ001 Validar login do administrador ...
  8. 8. Dado (Given), Quando (When) e Então (Then) Palavras chaves que definem o comportamento e validação de um cenário. Exemplo: Cenário: Estoque indisponível Dado que o estoque da sandália galinha pintadinha é de 150 unidades Quando informo uma venda de 200 unidades Então a venda não é registrada
  9. 9. E (And) e Ou (Or) Complementam os passos Dado, Quando e Então e evitam sobrecarga. Exemplo: Cenário: Estoque indisponível Dado que o estoque da sandália galinha pintadinha é de 150 unidades Quando informo uma venda de 151 unidades OU informo uma venda de 200 unidades Então a venda não é registrada E é exibida a mensagem de “estoque insuficiente”
  10. 10. Contexto (Background) Todos os cenários da funcionalidade executam os passos especificados no contexto. Exemplo: Contexto: O usuário estar logado Dado que o usuário “cristian.mathias” esteja logado no sistema
  11. 11. Esquema do cenário Possibilita testar diferentes dados que estão estruturados de forma tabular. Esquema de cenário: Aritmética simples Quando calcular o <operando1> <operacao> <operando2> Então o resultado deve ser <resultadoEsperado> Exemplos: | operando1 | operacao |operando2 | resultadoEsperado | | 3 | + | 3 | 6 | | 2 | * | 2 | 4 |
  12. 12. Specflow – Cucumber for .net • Framework open-source. • Primeira versão em 2009. • Permite escrever e executar especificações dentro do Visual Studio. • Code completion e syntax highlighting para GHERKIN. • http://www.specflow.org/
  13. 13. Selenium WebDriver Permite automatizar ações do navegador. • Navegar entre as páginas. • Submeter formulários. • Selecionas menus. • Preencher campos texto. • Procurar elementos html.
  14. 14. Selenium WebDriver Alguns métodos do Selenium WebDriver: // Encontra todos os elementos de uma tela HTML através de um dado argumento. driver.findElements(By by); // Encontra o primeiro elemento de uma tela HTML através de um dado argumento. driver.findElement(By by); // Fecha a janela corrente. driver.close();
  15. 15. Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada URL. driver.navigate(); // Insere caracteres num determinado elemento da tela. elemento.sendKeys(); // Envia dados para o servidor se o elemento em questão for um formulário. elemento.submit();
  16. 16. Hands-on BDD + Specflow + Selenium WebDriver https://github.com/cristianmathias/Demo-BDD-Specflow-WebDriver
  17. 17. Obrigado! Cristian Mathias cristianm@dbserver.com.br Felipe Foliatti felipef@dbserver.com.br
  18. 18. Referencias http://www.devmedia.com.br/introducao-aos-testes-funcionais-automatizados- com-junit-e-selenium-webdriver/28037 http://elemarjr.net/2012/04/11/bdd-na-prtica-parte-1-conceitos-bsicos- e-algum-cdigo/ http://elemarjr.net/2012/04/12/bdd-na-prtica-parte-3-gherkin/

×