Download - Agile Testing e outros amendoins

Transcript
Page 1: Agile Testing e outros amendoins

Agile TestingAgile Testing

... e outros amendoins... e outros amendoins

Gabriel Moreira Gabriel Moreira

Roberto Pepato MelladoRoberto Pepato Mellado

São José dos Campos, Abr/2012São José dos Campos, Abr/2012

Page 2: Agile Testing e outros amendoins

ApresentaçãoApresentação

Roberto Pepato MelladoRoberto Pepato Mellado

[email protected]@rpepato@rpepato

+ 15 anos de experiência em desenvolvimento, + 15 anos de experiência em desenvolvimento, consultoria e gestão de projetos de sofware;consultoria e gestão de projetos de sofware;

Formação:Formação:

Graduado em Ciência da Computação - Universidade Graduado em Ciência da Computação - Universidade São Judas TadeuSão Judas Tadeu

Pós-Graduação em Tecnologia de Sistemas Pós-Graduação em Tecnologia de Sistemas Orientados à Objetos - Faculdade SenacOrientados à Objetos - Faculdade Senac

MBA em Gesão Estratégica e Econômica de Projetos MBA em Gesão Estratégica e Econômica de Projetos - Fundação Getúlio Vargas - FGVSP- Fundação Getúlio Vargas - FGVSP

Mestrado em Informática (em curso) - Instituto Mestrado em Informática (em curso) - Instituto Tecnológico de Aeronáutica - ITATecnológico de Aeronáutica - ITA

Gabriel de Souza P. MoreiraGabriel de Souza P. Moreira

[email protected]@gspmoreira@gspmoreira

+ 10 anos de experiência em arquitetura, análise e + 10 anos de experiência em arquitetura, análise e desenvolvimento de software;desenvolvimento de software;

Formação:Formação:

Graduado em Ciência da Computação - UNIVAPGraduado em Ciência da Computação - UNIVAP

Mestrado em Engenharia de Software - ITAMestrado em Engenharia de Software - ITA

Page 3: Agile Testing e outros amendoins

AgendaAgenda

Fazendo Ágil / Sendo ÁgilFazendo Ágil / Sendo Ágil

ValoresValores

TestesTestes

DemoDemo

QuestõesQuestões

Page 4: Agile Testing e outros amendoins

Sua empresa/equipe Sua empresa/equipe está fazendo ágil ?está fazendo ágil ?

Page 5: Agile Testing e outros amendoins

O que é fazer ágil pra O que é fazer ágil pra você ?você ?

Page 6: Agile Testing e outros amendoins

Por que você está Por que você está fazendo ágil ?fazendo ágil ?

Page 7: Agile Testing e outros amendoins

É porque todos estão É porque todos estão nessa ? Porque esse é o nessa ? Porque esse é o

novo hype ?novo hype ?

Page 8: Agile Testing e outros amendoins

E aí, agile está E aí, agile está funcionando para você ? funcionando para você ?

Qual sua dor ?Qual sua dor ?

Page 9: Agile Testing e outros amendoins

Você está fazendo ágil Você está fazendo ágil melhor do que quando melhor do que quando

começou ?começou ?

Page 10: Agile Testing e outros amendoins

Agile está Agile está resolvendoresolvendo seus problemas ? seus problemas ?

Ou você é um Ou você é um escravoescravo dele ?dele ?

Page 11: Agile Testing e outros amendoins

Qual é a receita de Qual é a receita de bolo ?bolo ?

Page 12: Agile Testing e outros amendoins

Scrum ? XP ? FDD ? Scrum ? XP ? FDD ? Crystal ?Crystal ?

Page 13: Agile Testing e outros amendoins

No Silver BulletNo Silver Bullet

Page 14: Agile Testing e outros amendoins

Scrum ? XP ? FDD ? Scrum ? XP ? FDD ? Crystal ?Crystal ?

Page 15: Agile Testing e outros amendoins

Já pensou em parar de Já pensou em parar de fazer ágil e começar a fazer ágil e começar a

ser ágil ?ser ágil ?

Page 16: Agile Testing e outros amendoins

Fazer ágil atinge um Fazer ágil atinge um muromuro

Page 17: Agile Testing e outros amendoins

Como suportar o Como suportar o crescimento com agile ?crescimento com agile ?

Page 18: Agile Testing e outros amendoins
Page 19: Agile Testing e outros amendoins

Não signfica que os Não signfica que os itens à direita são itens à direita são

dispensáveisdispensáveis

Page 20: Agile Testing e outros amendoins

Pensar Ágil + Fazer Ágil Pensar Ágil + Fazer Ágil = Ser Ágil= Ser Ágil

Page 21: Agile Testing e outros amendoins

Papéis ? Pra onde eu Papéis ? Pra onde eu vou ?vou ?

Page 22: Agile Testing e outros amendoins

Ênfase nos papéis ?Ênfase nos papéis ?

Desacople papéis de atividadesDesacople papéis de atividades

Cultura de herói ?Cultura de herói ?

Deixe as coisas fluíremDeixe as coisas fluírem

Todos sentam no mesmo lugar diariamente ?Todos sentam no mesmo lugar diariamente ?

Parêem juntos (todo o time)Parêem juntos (todo o time)

As informações não fluem ?As informações não fluem ?

Use as paredesUse as paredes

EquipeEquipe

Page 23: Agile Testing e outros amendoins

Em ResumoEm Resumo

-+

Page 24: Agile Testing e outros amendoins

User StoriesUser Stories

• IIndependentndependent

• NNegotiableegotiable

• VValuable to users or customersaluable to users or customers

• EEstimatablestimatable

• SSmallmall

• TTestableestable

Page 25: Agile Testing e outros amendoins

User Stories - Critérios User Stories - Critérios de Aceitaçãode Aceitação

Expressam detalhesExpressam detalhes

Documentam suposições e expectativasDocumentam suposições e expectativas

Determinam se a estória está prontaDeterminam se a estória está pronta

Deveriam ser escritas pelo clienteDeveriam ser escritas pelo cliente

São escritas antes do início da codificaçãoSão escritas antes do início da codificação

Não devem ser complexas ou em grande Não devem ser complexas ou em grande númeronúmero

Page 26: Agile Testing e outros amendoins

User Stories - Critérios User Stories - Critérios de Aceitaçãode Aceitação

Como descobrir os critérios ?Como descobrir os critérios ?

O que é importante para a implementação ?O que é importante para a implementação ?

Em que circustâncias a estória pode se Em que circustâncias a estória pode se comportar de forma diferente ?comportar de forma diferente ?

O que pode acontecer de errado na execução O que pode acontecer de errado na execução de uma estória ?de uma estória ?

Page 27: Agile Testing e outros amendoins

User Stories - ExemploUser Stories - Exemplo

““Como cliente, desejo pagar a conta com cartão de Como cliente, desejo pagar a conta com cartão de crédito”crédito”

Critérios:Critérios:

Deve aceitar Visa, Mastercard e American ExpressDeve aceitar Visa, Mastercard e American Express

Deve recusar Diner’s ClubDeve recusar Diner’s Club

Deve recusar cartões com número inválidoDeve recusar cartões com número inválido

Deve recusar cartões expiradosDeve recusar cartões expirados

Deve recusar se o limite do cartão foi excedidoDeve recusar se o limite do cartão foi excedido

Page 28: Agile Testing e outros amendoins

Tipos de TesteTipos de Teste

Teste de UsabilidadeTeste de Usabilidade

Teste de Interface de UsuárioTeste de Interface de Usuário

Teste de PerformanceTeste de Performance

Teste de StressTeste de Stress

Teste de IntegraçãoTeste de Integração

Teste UnitárioTeste Unitário

Page 29: Agile Testing e outros amendoins

““Legacy code is code without tests”Legacy code is code without tests”

““The main thing that distinguishes legacy code The main thing that distinguishes legacy code from non-legacy code is tests, or rather a lack from non-legacy code is tests, or rather a lack

of tests”of tests”

Page 30: Agile Testing e outros amendoins

““Em 2010, programar sem TDD chega a Em 2010, programar sem TDD chega a ser anti-ético” - QCon SP 2010ser anti-ético” - QCon SP 2010

““... para responder a questão do como ... para responder a questão do como começar no ágil, o primeiro passo é: começar no ágil, o primeiro passo é: TDD ...” - AgileVale - ITA - SJC, 2011TDD ...” - AgileVale - ITA - SJC, 2011

Klaus WuestefeldKlaus Wuestefeld

Page 31: Agile Testing e outros amendoins
Page 32: Agile Testing e outros amendoins

Demo !!

Page 33: Agile Testing e outros amendoins

Bowling GameBowling Game

• Scenario: Gutter GameScenario: Gutter Game• GivenGiven a new game a new game• WhenWhen I roll 20 balls into the gutter I roll 20 balls into the gutter• ThenThen the score should be 0 the score should be 0

• Scenario: Perfect GameScenario: Perfect Game• GivenGiven a new game a new game• WhenWhen I perform 12 strikes I perform 12 strikes• ThenThen the score should be 300 the score should be 300

Page 34: Agile Testing e outros amendoins

ReferênciasReferências

Page 35: Agile Testing e outros amendoins

ReferênciasReferências

Page 36: Agile Testing e outros amendoins

ReferênciasReferências

Page 37: Agile Testing e outros amendoins

ReferênciasReferências

Page 38: Agile Testing e outros amendoins

Ferramentas utilizadas na demoFerramentas utilizadas na demo

• Visual Studio 2010Visual Studio 2010

• Resharper - Resharper - http://www.jetbrains.com/resharper/Plug-in para Visual Studio que favorece produtividade e Plug-in para Visual Studio que favorece produtividade e permite execução de testes unitários dentro da IDEpermite execução de testes unitários dentro da IDE

• Nunit – Nunit – http://www.nunit.orgFramework Open-Source para Testes UnitáriosFramework Open-Source para Testes Unitários

• SpecFlow - SpecFlow - http://www.specflow.org/Framework Open-Source para utilização de BDDFramework Open-Source para utilização de BDD

Page 39: Agile Testing e outros amendoins

Dúvidas ?Dúvidas ?

Page 40: Agile Testing e outros amendoins

Obrigado ! Obrigado ! :):)