#CPBr7

São Paulo, 30 de Janeiro de 2014
Elias Nogueira
Testador – Consultor - Professor

@eliasnogueira
eliasnogueira.com
#agiletesters

#dftestes

#tdc2014

#testday

#qualityApplied
O que iremos aprender?
Na prática:
– Trabalha com requisitos de forma tranquila
– Dicas para a criação de requisitos
– Automação
• Unitária (TDD)
• Integração (BDD)
• Aceitação
Como?
Explicação do cliente
Quero uma aplicação web para mostrar um
semáforo graficamente que apresenta as
cores
Refinamento
Perguntem o óbvio
• Não vai ter mais informações fora o semáforo
• Tempo do semáforo: padrão do DETRAN
• Tem um clique na tela antes de começar a “piscar” o
semáforo
• “Deseinho” do semáforo “redondo” com as três cores
• O semáforo vai ser para carro
• Não vai ter radar
• A aplicação vai rodar “infinitamente”
• Sem barulho
• Ordem das cores: vermelho -> verde -> amarelo -> vermelho
User Story

Funcionalidade: <descrição da funcionalidade>
Como um <usuário/ator>
Eu quero <meta a ser alcançada>
De modo que <a razão para alcançar a meta>
Vamos transpor...

Funcionalidade: transição entre cores do semáforo
Como um aluno do primario
Eu quero aprender a transição e funcionamento do semáforo
De modo eu não seja atropelado
Conseguiremos testar
somente com isso?
Cadê os testes?
Refinamento
Escrever os testes

• Quando a cor do semáforo estiver
vermelha, a próxima cor é verde
• Quando a cor do semáforo estiver verde, a
próxima cor é amarela
• Quando a cor do semáforo estiver amarela, a
próxima cor é vermelha
Critérios de aceitação

Cenário: <descrição do teste>
Dado <um estado conhecido>
Quando <um determinado evento
ocorre>
Então <isso deve ocorrer>
Vamos transpor...

Cenário: Transições de sinalização do vermelho para o verde
Dado que eu estou vendo a pagina com o semáforo
Quando a cor do semáforo estiver vermelha
Então a próxima cor é verde
Mãos a obra
Pirâmide de Automação de Teste
TDD – Test Driven Development
BDD – Behavior Driven Development
BDD pode ser visto como uma técnica
de desenvolvimento ágil que encoraja
colaboração entre os
desenvolvedores, analistas, QA e o
pessoal não técnico (stackeholders)
para o sucesso de um projeto
Éder Ignatowicz (@ederig)
dev

tester
Aceitação
Pode ser feito com qualquer técnica
Utilização de frameworks de automação web
Muito importante para garantir o que o cliente
“vê”
Perguntas?
:)

Nunca foi tao facil testar

  • 1.
    #CPBr7 São Paulo, 30de Janeiro de 2014
  • 2.
    Elias Nogueira Testador –Consultor - Professor @eliasnogueira eliasnogueira.com #agiletesters #dftestes #tdc2014 #testday #qualityApplied
  • 3.
    O que iremosaprender? Na prática: – Trabalha com requisitos de forma tranquila – Dicas para a criação de requisitos – Automação • Unitária (TDD) • Integração (BDD) • Aceitação
  • 4.
  • 5.
    Explicação do cliente Querouma aplicação web para mostrar um semáforo graficamente que apresenta as cores
  • 6.
    Refinamento Perguntem o óbvio •Não vai ter mais informações fora o semáforo • Tempo do semáforo: padrão do DETRAN • Tem um clique na tela antes de começar a “piscar” o semáforo • “Deseinho” do semáforo “redondo” com as três cores • O semáforo vai ser para carro • Não vai ter radar • A aplicação vai rodar “infinitamente” • Sem barulho • Ordem das cores: vermelho -> verde -> amarelo -> vermelho
  • 7.
    User Story Funcionalidade: <descriçãoda funcionalidade> Como um <usuário/ator> Eu quero <meta a ser alcançada> De modo que <a razão para alcançar a meta>
  • 8.
    Vamos transpor... Funcionalidade: transiçãoentre cores do semáforo Como um aluno do primario Eu quero aprender a transição e funcionamento do semáforo De modo eu não seja atropelado
  • 9.
    Conseguiremos testar somente comisso? Cadê os testes?
  • 10.
    Refinamento Escrever os testes •Quando a cor do semáforo estiver vermelha, a próxima cor é verde • Quando a cor do semáforo estiver verde, a próxima cor é amarela • Quando a cor do semáforo estiver amarela, a próxima cor é vermelha
  • 11.
    Critérios de aceitação Cenário:<descrição do teste> Dado <um estado conhecido> Quando <um determinado evento ocorre> Então <isso deve ocorrer>
  • 12.
    Vamos transpor... Cenário: Transiçõesde sinalização do vermelho para o verde Dado que eu estou vendo a pagina com o semáforo Quando a cor do semáforo estiver vermelha Então a próxima cor é verde
  • 13.
  • 14.
  • 15.
    TDD – TestDriven Development
  • 16.
    BDD – BehaviorDriven Development BDD pode ser visto como uma técnica de desenvolvimento ágil que encoraja colaboração entre os desenvolvedores, analistas, QA e o pessoal não técnico (stackeholders) para o sucesso de um projeto Éder Ignatowicz (@ederig)
  • 17.
  • 18.
    Aceitação Pode ser feitocom qualquer técnica Utilização de frameworks de automação web Muito importante para garantir o que o cliente “vê”
  • 19.