SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
FALANDO SOBRE BDD
COM CUMCUMBER-JVM
HÉZIO FERNANDES | QA AUTOMATION ENGINEER
fernandes.bcc@gmail.com
heziofernandes
https://br.linkedin.com/pub/hézio-fernandes
heziofernandes
Ciência da Computação, CSM
AGENDA
INTRODUÇÃO CURIOSIDADES FUNCIONALIDADES HANDS ON
DAN NORTHOriginador do BDD
Baseado no Test Driven Development
Focar no que a aplicação deve fazer, e não em como deve fazer
Aproximar os desenvolvedores, QAs, POs
Desenvolvimento “outside-in”
BDD
CURIOSIDADES
SELENIUM
FUNCIONALIDADES
ESTRUTURA
Título
Descrição
Quem?
O que?
Para que?
Critérios de aceite ou
cenários
Pré-condições
Ação (Gatilho)
Resultado(s) esperado(s)
Utilização de linguagem humana semi-formal
Um documento que possibilita compreensão pelos
membros
técnicos e não-técnicos da equipe
Palavras-chave:
Como, Para, Eu quero / Eu gostaria
As, In order to, I want to / I would like to
Dado que, Quando, Então, E
Given, When, Then, And
ESCRITA
EXEMPLO
Funcionalidade: Preencher formulário
Como administrador do sistema
Eu quero realizar um cadastro basico de um novo usuário
Contexto: Acessar o formulario de cadastro
Dado que o administrador do sistema esta logado
Cenário: Realiza cadastro de formulário
Quando informar o nome
Quando informar um login
Quando informar uma senha
Quando informar um email
E informar o endereço
E informar uma referência para o endereço
E Selecionar uma formação acadêmica
E Selecionar uma curso de interesse
E Salvar o formulário
Então o sistema informa para o usuário, que o cadastro foi realizado com
sucesso
Ferramenta para parsing das funcionalidades e automação dos testes de aceitação
Linguagem Gherkin para descrições de comportamento
Escrito originalmente na linguagem Ruby
Funciona com outras linguagens, inclusive Java
Suporta funcionalidades escritas em mais de 40 idiomas
Benefícios do BDD + “documentação viva” + testes automatizados
CUCUMBER
Plugin de Eclipse para criação das features
URL: http://cucumber.github.com/cucumber-
eclipse/update-site
Integração com JUnit
Execução de testes no Eclipse
Execução via Maven
CUCUMBER +
JAVA + ECLIPSE +
MAVEN
POM.XML
HANDS ON
PERGUNTAS?

Mais conteúdo relacionado

Semelhante a Falando sobre BDD com cucumber-jvm

Desenvolvimento orientado a Testes
Desenvolvimento orientado a TestesDesenvolvimento orientado a Testes
Desenvolvimento orientado a Testes
Denis Ferrari
 

Semelhante a Falando sobre BDD com cucumber-jvm (20)

Ux para software
Ux para softwareUx para software
Ux para software
 
Curso de Joomla! no Metro
Curso de Joomla! no MetroCurso de Joomla! no Metro
Curso de Joomla! no Metro
 
3 way's a base do DevOps no Azure DevOps
3 way's a base do DevOps no Azure DevOps3 way's a base do DevOps no Azure DevOps
3 way's a base do DevOps no Azure DevOps
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
SPA com CSharp
SPA com CSharpSPA com CSharp
SPA com CSharp
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
Carreira de dev
Carreira de devCarreira de dev
Carreira de dev
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Workshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholdersWorkshop: Ouvindo usuários e stakeholders
Workshop: Ouvindo usuários e stakeholders
 
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...Agile Brazil 2018   BDD - a chave para melhorar a comunicação entre stakehold...
Agile Brazil 2018 BDD - a chave para melhorar a comunicação entre stakehold...
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de software
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdf
 
C4 Model
C4 ModelC4 Model
C4 Model
 
Trabalhar com web design
Trabalhar com web designTrabalhar com web design
Trabalhar com web design
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Local Jobs
Local JobsLocal Jobs
Local Jobs
 
Desenvolvimento orientado a Testes
Desenvolvimento orientado a TestesDesenvolvimento orientado a Testes
Desenvolvimento orientado a Testes
 
Mensurando a Experiência do Usuário ( A Importância dos Dados Para UX ) - ...
Mensurando a Experiência do Usuário ( A Importância dos Dados Para UX ) - ...Mensurando a Experiência do Usuário ( A Importância dos Dados Para UX ) - ...
Mensurando a Experiência do Usuário ( A Importância dos Dados Para UX ) - ...
 
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day CuritibaUtilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
Utilizando BDD com Specflow e Selenium para testes Web MSP Tech Day Curitiba
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 

Último

Último (9)

ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Falando sobre BDD com cucumber-jvm

  • 1. FALANDO SOBRE BDD COM CUMCUMBER-JVM
  • 2. HÉZIO FERNANDES | QA AUTOMATION ENGINEER fernandes.bcc@gmail.com heziofernandes https://br.linkedin.com/pub/hézio-fernandes heziofernandes Ciência da Computação, CSM
  • 5. Baseado no Test Driven Development Focar no que a aplicação deve fazer, e não em como deve fazer Aproximar os desenvolvedores, QAs, POs Desenvolvimento “outside-in” BDD
  • 8. ESTRUTURA Título Descrição Quem? O que? Para que? Critérios de aceite ou cenários Pré-condições Ação (Gatilho) Resultado(s) esperado(s)
  • 9. Utilização de linguagem humana semi-formal Um documento que possibilita compreensão pelos membros técnicos e não-técnicos da equipe Palavras-chave: Como, Para, Eu quero / Eu gostaria As, In order to, I want to / I would like to Dado que, Quando, Então, E Given, When, Then, And ESCRITA
  • 10. EXEMPLO Funcionalidade: Preencher formulário Como administrador do sistema Eu quero realizar um cadastro basico de um novo usuário Contexto: Acessar o formulario de cadastro Dado que o administrador do sistema esta logado Cenário: Realiza cadastro de formulário Quando informar o nome Quando informar um login Quando informar uma senha Quando informar um email E informar o endereço E informar uma referência para o endereço E Selecionar uma formação acadêmica E Selecionar uma curso de interesse E Salvar o formulário Então o sistema informa para o usuário, que o cadastro foi realizado com sucesso
  • 11. Ferramenta para parsing das funcionalidades e automação dos testes de aceitação Linguagem Gherkin para descrições de comportamento Escrito originalmente na linguagem Ruby Funciona com outras linguagens, inclusive Java Suporta funcionalidades escritas em mais de 40 idiomas Benefícios do BDD + “documentação viva” + testes automatizados CUCUMBER
  • 12. Plugin de Eclipse para criação das features URL: http://cucumber.github.com/cucumber- eclipse/update-site Integração com JUnit Execução de testes no Eclipse Execução via Maven CUCUMBER + JAVA + ECLIPSE + MAVEN