BDD com
Marcelo Toledo - QA - IaaS
Agenda
- O que é BDD e Cucumber?
- Motivação
- Case
- Considerações
O que é BDD?
Behavior Driven Development é uma técnica
que evoluiu a partir do TDD
É uma descrição do comportamento do
sistema e a partir disso, se desenvolve o
sistema
Colaboração entre Dev + QA + P.O. + UX
O que é Cucumber
É um framework, que surgiu da evolução de:
Jbehave -> Rbehave -> RSpec -> Cucumber
Características
Especificação do comportamento escrita em linguagem natural.
A especificação se torna teste e critério de aceitação, descrevendo
exemplos de comportamento do software antes da implementação
(feedback cedo).
Como qualquer teste automatizado, esses testes são usados na
regressão durante a evolução do software.
É uma especificação baseada no valor do negócio através de
exemplos de uso e de fácil compreensão.
QA x QC ?
Motivação
Motivação
- QC - Utilizado no processo de desenvolvimento
de software tradicional (RUP, Waterfall, etc)
- QA - Processo Ágil
- Precisamos alterar o processo de teste na
Locaweb, deixar de ser QC e realmente
começar a ser QA.
Motivação
O que estamos deixando para trás:
nossa “pirâmide” atual:
Motivação
Para onde estamos
caminhando:
CASE
- POC em IaaS
Há uma série de "combos" para se usar o BDD com a
linguagem Ruby:
- RSpec + Selenium Webdriver (PhantonJS??)
-> Cucumber + RSpec + Capybara + PhantonJS (ou Selenium)
CASE
Lições aprendidas:
- Escrever features declarativas
- Inserir narrativa nas features
- Evitar steps conjuntivos (mais de uma ação no
mesmo step)
- Reusar step definitions (utilizar variáveis nos steps)
- Não abusar do uso de backgrounds
CASE
Iniciamos com apenas uma feature: BACKUP
Temos por enquanto:
19 scenarios
147 steps
3m32.067s
CASE
Exemplo no Jenkins e estrutura do projeto
Obstáculos
- Identificação de um padrão inicial
- Indefinição quanto ao local do projeto
- Aprendizado do time
- Quebra de paradigma - resistência
(aprendizado, já faço teste, tempo de feedback)
Obstáculos
- Demora na implementação e entrega
(como qualquer teste realizado, ganha-se na frente)
- Elaboração de cenários errada pode levar a adoção ao
fracasso (nem todos os testes devem ser automatizados)
- Nem todo teste é automatizável (?????)
Vantagens
- Cucumber facilita outside-in, mas não força você a usá-
la desta forma
- Fornece testes legíveis e atrativos para todas as partes
do time inclusive as não técnicas, o que possibilita a
inclusão de todos neste processo (QA, PO, UX)
- Aumento de comunicação, amenizando ambiguidade
- Regressão = garantia
Vantagens
Ajuda o time a:
- Compreender melhor os requisitos através
de exemplos.
- Ter uma documentação viva (executável) e
de fácil leitura.
- Mais uma forma de testes de regressão.
Considerações finais
- Testes não garantem ausência de defeitos.
- TDD contribui para qualidade interna e reduz custo e
tempo de manutenção do produto, portanto, pode ser
aplicado também.
- BDD contribui para qualidade externa e reduz custo e
tempo de revalidação das funcionalidades do produto.
- Eliminar gargalo em QA.
- Caminhar para Continuous Delivery/Deployment.
Testes utilizando cucumber + PhantomJs
Testes utilizando cucumber + PhantomJs

Mais conteúdo relacionado

PDF
RealDay: Introduction to TDD
PDF
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
PPTX
Todas as abordagens de testes dentro do ágil
PDF
Desenvolvimento Guiado por Testes
PDF
Facilitando o desenvolvimento orientado a testes em aplicações PHP
PPTX
Teste automatizados e tdd
PDF
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
PPTX
TDD Desenvolvimento orientado ao teste
RealDay: Introduction to TDD
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
Todas as abordagens de testes dentro do ágil
Desenvolvimento Guiado por Testes
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Teste automatizados e tdd
TDC2018SP | Trilha Testes - Testes de Acessibilidade - Qualidade para Todos
TDD Desenvolvimento orientado ao teste

Mais procurados (19)

PDF
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
PPTX
1 2 3 - Testando - Automatizando os testes de software
PPTX
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
PPTX
O papel do qa (testador) em um time ágil
PPTX
WTM - Entrega Contínua
PDF
MTC - Automatizando Visual Regression Testing
PPTX
Meetup SP - O QA & a Especificação Por Exemplo
PPTX
Testes Automatizados
PDF
WTM - Workshop Agile Testing
PDF
Test-Driven Develpment - TDD
PDF
ATC BSB - Agile Testing
PDF
Introdução ao TDD
PPTX
Visual Regression Tests - Dando um Upload nos seus testes de UI!
PPTX
Testes unitários e Mocks
PDF
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
PPT
TDD - Test Driven Development com JAVA
PPTX
Papel do tester em projeto scrum
PPTX
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
PDF
BDD em Ação
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
1 2 3 - Testando - Automatizando os testes de software
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
O papel do qa (testador) em um time ágil
WTM - Entrega Contínua
MTC - Automatizando Visual Regression Testing
Meetup SP - O QA & a Especificação Por Exemplo
Testes Automatizados
WTM - Workshop Agile Testing
Test-Driven Develpment - TDD
ATC BSB - Agile Testing
Introdução ao TDD
Visual Regression Tests - Dando um Upload nos seus testes de UI!
Testes unitários e Mocks
TDC2018SP | Trilha Testes - Guia de sobrevivência do QA em DevOps
TDD - Test Driven Development com JAVA
Papel do tester em projeto scrum
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
BDD em Ação
Anúncio

Destaque (6)

PDF
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
PDF
TDDing com Javascript
PDF
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
PPTX
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
PDF
JavaScript + Jenkins = Winning!
PDF
Test your Javascript! v1.1
Automatização de testes funcionais em dispositivos móveis utilizando a técnic...
TDDing com Javascript
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
JavaScript + Jenkins = Winning!
Test your Javascript! v1.1
Anúncio

Semelhante a Testes utilizando cucumber + PhantomJs (20)

PPTX
Bdd com cucumber + java + selenium
PPTX
Behaviour Driven Development
PDF
BDD em Testes de Serviço
PPTX
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
PDF
Cucumber - Um breve Review
PPTX
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
PDF
BDD não é Automação de Testes
KEY
Cucumber com java
PPT
BDD: Cucumber + Selenium + Java
PDF
BDD com Cucumber
PDF
BDD com Cucumber
PPTX
Apresentação de BDD com SpecFlow e Selenium
PPTX
Cucumber-QA_Night
PDF
A experiência da AGCO ao adotar o BDD em seus projetos: uma experiência excit...
PPTX
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
PPTX
Behavior-Driven Development (BDD) - Abril/2017
PDF
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...
Bdd com cucumber + java + selenium
Behaviour Driven Development
BDD em Testes de Serviço
InterCon 2017 - Indo além dos testes de classes com BDD (Behavior-Driven Deve...
Indo além dos testes de classes com BDD (Behavior-Driven Development) - Inter...
Cucumber - Um breve Review
Indo além dos testes de classes com BDD (Behavior-Driven Development) - DevOp...
BDD não é Automação de Testes
Cucumber com java
BDD: Cucumber + Selenium + Java
BDD com Cucumber
BDD com Cucumber
Apresentação de BDD com SpecFlow e Selenium
Cucumber-QA_Night
A experiência da AGCO ao adotar o BDD em seus projetos: uma experiência excit...
BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizado...
Behavior-Driven Development (BDD) - Abril/2017
Introdução à Metodologias de Desenvolvimento Orientadas à Testes com Exemplos...

Mais de Locaweb (16)

PDF
Random testing
PDF
Princípios de Concorrência em Ruby e Além
PDF
AngularJS
PDF
Celery for SysAdmins
PDF
Isolamento e mvcc
PDF
Overview Sobre Varnish
PDF
Freenas
PDF
Tech talkrubocop
PDF
Ambient Light Events- Wylkon Queiroz
PDF
Lua tech talk
PDF
Uso de estatísticas pelo postgre sql
PDF
Linux cgroups and namespaces
PDF
Sistemas Distribuidos
PPT
Soluções para sua empresa vender na Internet
PPT
Comercio eletronico - Dicas práticas
PPT
API Do Email Marketing Locaweb
Random testing
Princípios de Concorrência em Ruby e Além
AngularJS
Celery for SysAdmins
Isolamento e mvcc
Overview Sobre Varnish
Freenas
Tech talkrubocop
Ambient Light Events- Wylkon Queiroz
Lua tech talk
Uso de estatísticas pelo postgre sql
Linux cgroups and namespaces
Sistemas Distribuidos
Soluções para sua empresa vender na Internet
Comercio eletronico - Dicas práticas
API Do Email Marketing Locaweb

Último (20)

PDF
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
PPTX
CONHECENDO O SISTEMA FEDORA - MANUAL DE USO
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
PDF
Capacitação em Logística – Instituto Federal
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPTX
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PDF
resumo de instalação de placa arduino em jardim vertical para fertirrigação
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PPTX
Modelo para Qualificação de Mestrado - Tecnologia da Informação
PPT
Redes de Computadores - apresenta~~ç]ao para estudos
PDF
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PDF
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
PPT
01 - Arquitetura de Computadores 1 TEC [Salvo automaticamente].ppt
PPTX
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PDF
instalacoes eletricas para industria apressentacao basicas
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
T-pico 1.pdfnsjabdkaksbbsuendnijsbshajanzk
CONHECENDO O SISTEMA FEDORA - MANUAL DE USO
Processamento da remessa no SAP ERP, SCM610 Col15
Formação aaaaaaaaadsdsfg er rsgrsgesf efsfsefsf e LEEI.pptx
Capacitação em Logística – Instituto Federal
Processos no SAP Extended Warehouse Management, EWM100 Col26
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
Padrões de Beleza I - Estética Corporal e Saúde
resumo de instalação de placa arduino em jardim vertical para fertirrigação
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
Modelo para Qualificação de Mestrado - Tecnologia da Informação
Redes de Computadores - apresenta~~ç]ao para estudos
Integração da produção com o SAP Extended Warehouse Management, EWM130 Col26
SEMINÁRIO DE IHC - A interface Homem-Máquina
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
01 - Arquitetura de Computadores 1 TEC [Salvo automaticamente].ppt
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
instalacoes eletricas para industria apressentacao basicas
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx

Testes utilizando cucumber + PhantomJs

  • 2. Agenda - O que é BDD e Cucumber? - Motivação - Case - Considerações
  • 3. O que é BDD? Behavior Driven Development é uma técnica que evoluiu a partir do TDD É uma descrição do comportamento do sistema e a partir disso, se desenvolve o sistema Colaboração entre Dev + QA + P.O. + UX
  • 4. O que é Cucumber É um framework, que surgiu da evolução de: Jbehave -> Rbehave -> RSpec -> Cucumber
  • 5. Características Especificação do comportamento escrita em linguagem natural. A especificação se torna teste e critério de aceitação, descrevendo exemplos de comportamento do software antes da implementação (feedback cedo). Como qualquer teste automatizado, esses testes são usados na regressão durante a evolução do software. É uma especificação baseada no valor do negócio através de exemplos de uso e de fácil compreensão.
  • 6. QA x QC ? Motivação
  • 7. Motivação - QC - Utilizado no processo de desenvolvimento de software tradicional (RUP, Waterfall, etc) - QA - Processo Ágil - Precisamos alterar o processo de teste na Locaweb, deixar de ser QC e realmente começar a ser QA.
  • 8. Motivação O que estamos deixando para trás: nossa “pirâmide” atual:
  • 10. CASE - POC em IaaS Há uma série de "combos" para se usar o BDD com a linguagem Ruby: - RSpec + Selenium Webdriver (PhantonJS??) -> Cucumber + RSpec + Capybara + PhantonJS (ou Selenium)
  • 11. CASE Lições aprendidas: - Escrever features declarativas - Inserir narrativa nas features - Evitar steps conjuntivos (mais de uma ação no mesmo step) - Reusar step definitions (utilizar variáveis nos steps) - Não abusar do uso de backgrounds
  • 12. CASE Iniciamos com apenas uma feature: BACKUP Temos por enquanto: 19 scenarios 147 steps 3m32.067s
  • 13. CASE Exemplo no Jenkins e estrutura do projeto
  • 14. Obstáculos - Identificação de um padrão inicial - Indefinição quanto ao local do projeto - Aprendizado do time - Quebra de paradigma - resistência (aprendizado, já faço teste, tempo de feedback)
  • 15. Obstáculos - Demora na implementação e entrega (como qualquer teste realizado, ganha-se na frente) - Elaboração de cenários errada pode levar a adoção ao fracasso (nem todos os testes devem ser automatizados) - Nem todo teste é automatizável (?????)
  • 16. Vantagens - Cucumber facilita outside-in, mas não força você a usá- la desta forma - Fornece testes legíveis e atrativos para todas as partes do time inclusive as não técnicas, o que possibilita a inclusão de todos neste processo (QA, PO, UX) - Aumento de comunicação, amenizando ambiguidade - Regressão = garantia
  • 17. Vantagens Ajuda o time a: - Compreender melhor os requisitos através de exemplos. - Ter uma documentação viva (executável) e de fácil leitura. - Mais uma forma de testes de regressão.
  • 18. Considerações finais - Testes não garantem ausência de defeitos. - TDD contribui para qualidade interna e reduz custo e tempo de manutenção do produto, portanto, pode ser aplicado também. - BDD contribui para qualidade externa e reduz custo e tempo de revalidação das funcionalidades do produto. - Eliminar gargalo em QA. - Caminhar para Continuous Delivery/Deployment.