Upload
ayrton-araujo
View
274
Download
6
Embed Size (px)
DESCRIPTION
Checando qualidade de requisitos
Citation preview
Gherkin:Checando qualidade de requisitos
FPF Techhttp://ayr-ton.net/@
G+: http://ayr-ton.net/+Twitter: http://ayr-ton.net/@E-mail: [email protected] at irc.freenode.net#cucumberayr-ton at GitHub
CSM, CSD, CSPO, LPIC-2
Dev at FPF TechUbuntu Brazilian Community Council.
$whoami
TDD e o BDDDesmistificando
I know that feel bro
The Cucumber Book
Aslak Hellesøy
Tea-Driven Development
Matt Wynne
“Já fez o TDD?”Referindo-se a testes de unidade
“Qual o sentido de testar o que
ainda não foi desenvolvido?”
Sobre escrever os testes primeiro
“Você só pode usar BDD para testes de tela”
Sobre o BDD
“TDD ou BDD? Qual é o melhor?”
Referindo-se a testes automatizados
Escrever um teste falho
Fazer o teste passar
Refatorar
Escrever um teste falho
Fazer o teste passar
Refatorar
Escrever um teste falho
Fazer o teste passar
Refatorar
Escrever um teste falho
Fazer o teste passar
Refatorar
Escrever um novo teste falho
Fazer o teste passar
Refatorar
Defina “testes”Por que temos que falhar os
“testes”?
Testes de unidadeOutros tipos de testes
automatizados?
Defina “comportamento”
Dan North: “cenários”, “exemplos”
Defina “passos”Agora sim, automação.
BDDTDD, agora vai!
Trabalhar de fora para dentro
Iniciando a partir de uma meta de negócios
Use exemplosPara clarear requisitos
Desenvolver numa linguagem obíqua
Para garantir compreensão global
Gherkin
Sintax line-oriented
Python/YAML like
Feature: Serve coffee Coffee should not be served until paid for Coffee should not be served until the button has been pressed If there is no coffee left then money should be refunded
# language: ptFuncionalidade: Adição Para evitar erros bobos Como um péssimo matemático Eu quero saber como somar dois números
Given-When-ThenPassos
Scenario: Buy last coffee Given there are 1 coffees left in the machine And I have deposited 1$ When I press the coffee button Then I should be served a coffee
Cenário: Adicionar dois números Dado que eu digitei 50 na calculadora E que eu digitei 70 na calculadora Quando eu aperto o botão de soma Então o resultado na calculadora deve ser 120
feature coffe.featuretest steps unit coffeTest.mylang integration
$ ls
feature coffe.featuretest steps unit coffeTest.mylang integration
$ ls
feature coffe.featurespec steps unit coffeSpec.mylang integration
$ ls
Refatore!
G+: http://ayr-ton.net/+Twitter: http://ayr-ton.net/@E-mail: [email protected] at irc.freenode.net#cucumberayr-ton at GitHub
CSM, CSD, CSPO, LPIC-2
Perguntas?$whoami