specification by example - bludotnet

Post on 23-Jun-2015

252 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra que ministrei no BluDotNet em 06/04/2013 sobre specification by example

TRANSCRIPT

Acceptance Test-Driven Development (ATDD)

Behavior-Driven Development (BDD)

Specification by Example (SBE)

@rmueller

Software sem bugs não é suficiente, é preciso escrever o software certo.

Fracasso Comercial Sucesso

Lixo Pesadelo

Produto Certo

Construir sem defeitos

ATDD“The first rule of any technology used in a business is that automation applied to an

efficient operation will magnify the efficiency. The second is that automation applied to an

inefficient operation will magnify the inefficiency.”

Bill Gates

ATDD• Transformar user stories em testes

• TDD em um nível mais alto

BDD“a second-generation, outside-in, pull-based,

multiple-stakeholder, multiple-scale, high-automation, agile methodology”

Dan North, 2009

BDD• Maior foco no cliente

• Preocupação maior com entrega de valor

• Descoberta de novas informações

SBE• Foca nos exemplos• Busca a colaboração • Busca a descoberta • Não tem a carga de má interpretações• Fornece uma documentação viva• Amigável para não técnicos

Derivar escopo dos objetivos

Especifique em colaboração

Ilustre utilizando exemplos

Refine a especificação

Refine a especificação

• Precisa e testável

• Especificação não é script

• Auto explicativa

• Escrita na linguagem do domínio

Automatize

Automatize• Trate código de teste com muito

cuidado

• Automatize em diferentes níveis

• Investimento inicial alto

• Feedback imediato, documentação viva e testes de regressão

• Automatize sem alterar as especificações

Automatize

Valide com frequência

Construa uma documentação

SpecFlow• Framework open source BDD/ATDD

• Utilizar Gherkin como DSL para as especificações

• Utiliza ferramentas padrões do .net, como o VisualStudio e nUnit, msTest ou xUnit

• Iniciou desenvolvimento em 2009

• Já foi utilizado em vários projetos

Gherkin• Uma DSL para escrita de especificações no

estilo de estórias. Dado / Ao / Então• Nasceu na comunidade ruby• Permite automatização e execução da

especificação• Utiliza vocabulário próprio• Dado, E, Então, Cenário, Mas...

Pickles

DEMO

SpecFlow

Integração

Negócio

“SBE”• Usar SpecFlow para automatização de teste• Cliente?! Que cliente??• Usar como ferramenta de testes de integração• Ligar o turbo!• Especificar tudo

http://www.jamesshore.com/Blog/Five-Ways-to-Misuse-Fit.html

SBE!• Colaboração

• Exemplos bem escritos

• Automatização

• Documentação

Obrigado!

@rmueller

rafael@inventti.com.br

top related