Agile Testing e outros amendoins

Preview:

DESCRIPTION

Palestra realizada para profissionais da Prefeitura Municipal de São José dos Campos, SP, a respeito de como avançar na agilidade, critérios de aceite e agile testing.

Citation preview

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

ApresentaçãoApresentação

Roberto Pepato MelladoRoberto Pepato Mellado

rpepato@gmail.com@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

gspmoreira@gmail.com@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

AgendaAgenda

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

ValoresValores

TestesTestes

DemoDemo

QuestõesQuestões

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

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

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

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

novo hype ?novo hype ?

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

Qual sua dor ?Qual sua dor ?

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

começou ?começou ?

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

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

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

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

No Silver BulletNo Silver Bullet

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

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 ?

Fazer ágil atinge um Fazer ágil atinge um muromuro

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

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

dispensáveisdispensáveis

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

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

Ê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

Em ResumoEm Resumo

-+

User StoriesUser Stories

• IIndependentndependent

• NNegotiableegotiable

• VValuable to users or customersaluable to users or customers

• EEstimatablestimatable

• SSmallmall

• TTestableestable

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

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 ?

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

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

““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”

““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

Demo !!

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

ReferênciasReferências

ReferênciasReferências

ReferênciasReferências

ReferênciasReferências

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

Dúvidas ?Dúvidas ?

Obrigado ! Obrigado ! :):)

Recommended