SlideShare uma empresa Scribd logo
1 de 25
Como os testes irão se
modificar com o advento
das metodologias ágeis

  Eduardo Habib Bechelane Maia
       habib@dcc.ufmg.br
Testes ágeis

Sumário
– Introdução
– Testes em metodologias ágeis
   •   Estratégias de teste
   •   Aumento dos períodos de estresse
   •   Equipe de testes
   •   Comunicação
   •   Iterações curtas
   •   Automação
   •   Perfil dos testadores
   •   Volume de mudanças
   •   Testabilidade
– Conclusão
                                          2
Introdução



"Manifesto Para o Desenvolvimento Ágil de Software“
– reunião entre 17 gurus da comunidade de
  desenvolvimento em 2001
– Estação de esqui nas montanhas de
  Utah, Estados Unidos.
    • Alternativas para melhorar produtividade de
      desenvolvimento de software
    • Conjunto de princípios comuns em projetos de
      sucesso.



                                                      3
Introdução


Princípios básicos valorizados nas metodologias ágeis:
– Indivíduos e interações entre eles, ao invés
  de processos e ferramentas
– Software funcionando ao invés de
  documentação compreensiva e detalhada.
– Colaboração com os clientes ao invés de
  negociação de contratos.
– Adaptação às mudanças ao invés de seguir
  um plano inicial.



                                                         4
Introdução


Cada vez mais empresas declaram que utilizam
Processos ágeis:
– Existem poucas empresas que utilizam
  processos realmente ágeis.
– Termo tem sido utilizado para qualquer
  projeto com iterações curtas.
Empresas têm sido pressionadas para produzir melhor e
mais rápido
– Processos ágeis
– Bons relatos sobre processos ágeis
   • Poucos relatos de como deve ser reorganizada a
     equipe de testes.
                                                        5
Estratégias de testes em processos ágeis


Definição de algumas estratégias
Novos desafios: O processo tradicional não funciona.
– Desafios possuem duas origens:
   • Interpretações das pessoas.
   • Das próprias metodologias ágeis;
Rex Black recomenda as estratégias:
– Testes baseados em riscos.
– Testes de regressão automatizados
– Testes reativos (dinâmicos)


                                                       6
Equipes multifuncionais


Membros da equipe idealmente devem estar aptos a
realizar todas as tarefas.
– Acaba havendo algum grau de especialização.
– Maioria das equipes ágeis não consegue ser
  totalmente multifuncional.
Separação entre testes e desenvolvimento?
– Equilíbrio entre equipe independente e
  integrada.
   • Requisito deve ser preferencialmente testado na
     mesma iteração.
– Separar completamente não faz sentido.
   • Sprint para testes e desenvolvimento.
                                                       7
Equipes multifuncionais


Separação entre testes e desenvolvimento?
– Vantagens e desvantagens da atuação
  dentro da Sprint:
   • Vantagens:
       – Foco nas tarefas relacionadas ao Sprint;
       – Tempo utilizado com foco nos objetivos da Sprint.
   • Desvantagens:
       – Perda de liberdade;
       – Visão reduzida do sistema.




                                                             8
Aumento dos períodos de estresse


Aumento de pressão excessivo pode causar perda de
produtividade e maior rotatividade.
Períodos estressantes de teste normalmente são
próximos às entregas.
– Mais entregas, maior estresse.




– Testes baseados em riscos
– Algumas metodologias ágeis sugerem
  claramente evitar-se horas extras.
                                                    9
Relacionamento entre membros da equipe


Bom relacionamento é essencial.
Compartilhar planejamento e tomada de decisões
– Comprometimento com as metas




Pessoas trabalhando mais próximas
– Diminuição do número de defeitos reportados
   • Diminuição de conflitos.

                                                 10
Relacionamento entre membros da equipe


Pessoas trabalhando mais próximas
– Testadores conversam sobre testes de unidade
       – Testes realizados pelos testadores tendem a não se
         sobrepor
Função principal do testador:
– Feedback rápido.
    • É mais importante a execução dos testes do que a
      sua modelagem.




                                                              11
Realização de todos os testes em iterações curtas


Desenvolvimento ágil:
– Minimiza riscos desenvolvendo em iterações
  curtas
    • Desenvolvimento incremental
– E os testes que demoram muito tempo?
    • Segurança? Desempenho? Confiabilidade?
    • Fases de testes que começam em uma iteração e
      terminam em outra.




                                                           12
Automação dos testes em processos ágeis


É ainda mais necessário.
Nem tudo deve ser automatizado.
– Aplicação correta.
    • Retorno excepcional.
Por que muitos projetos de automação falharam?
– Ferramentas de testes não eram maduras.
– Automação irracional.
– Testes puramente gravados não funcionaram.
– Desconhecimento dos problemas.
– Despreparo da equipe.

                                                 13
Perfil dos testadores


Ao adotar processo ágil deve-se possuir política clara em
relação à equipe
– Experiência e estabilidade da equipe
– Evitar participação em múltiplos projetos
Analistas de teste têm papel diferenciado
– Maior interação com o cliente e desenvolvedor
– Maior participação de revisões
    • Inserção de informações necessárias aos testes.
    • Aperfeiçoamento dos requisitos.
– Envolvimento em fases iniciais

                                                            14
Lidando com o volume das mudanças


Processos ágeis encorajam mudanças e incentivam
comunicação face a face.
– É inevitável que algumas mudanças não
  sejam documentadas.
Desafios reais para a equipe e manutenção de
documentos como as especificação de testes.
– Testes baseados em riscos.
– Testes automatizados.
Aumento do número de erros inválidos.
– Monitoramento pelo gerente
   • Melhoria da comunicação (aprox. 5% de defeitos
     inválidos é normal).
                                                      15
Testes de unidade


Crescimento da importância em processos ágeis.
– Capacidade de detecção de defeitos é
  limitada
    • 25% dos defeitos (Caper Jones)
    • Equipe de testes independente chega a encontrar
      85% dos defeitos
Pressão por entregas
– Testes de unidade precários
    • Testes baseados em riscos.




                                                        16
Documentação em processos ágeis


Documentação ruim:
– Resposta natural: Testes exploratórios
   • Entretanto, documentação ruim deveria ser rara.
– Um dos principais mal entendidos.
– Equilíbrio entre documentação e reuniões.
Fato: Documentação é menor.
– Participação efetiva do usuário.
Basear testes na documentação é praticamente
impossível.



                                                       17
Recrutamento de testadores


Boa comunicação:
– Assume maior importância
– É mais fácil suprir deficiências técnicas do
  que ensinar um “nerd” a se comunicar.
Testadores interessados em desenvolver novas
habilidades.




                                                 18
Testabilidade


Testabilidade é a medida de do quão bem e eficiente
uma aplicação pode ser testada.
– Mais fácil de testar -> Mais testes no mesmo
  tempo
– Áreas de maior risco costumam ser mais
  difíceis de testar.
– Não é questão de escolha, é necessidade.




                                                      19
Localização da equipe


Idealmente:
– Membros da equipe devem sentar próximos
   • Facilidade de comunicação.
Como tratar os casos em que equipes atuam
geograficamente separados?
– Skype
– MSN
– Videoconferência




                                            20
Conclusão


Testes de software estão se alinhando mais às
necessidades dos negócios.
Testes por uma equipe independente são melhores para
encontrar defeitos.
Maior flexibilidade dos membros da equipe.
Habilidades necessárias aos testadores estão mudando.
É importante uma automação melhor e mais eficiente.
Expectativas muito altas para as metodologias ágeis
– Risco grande
– Benefícios a longo prazo.


                                                        21
Conclusão


Nem todo mundo precisa ser ágil.
É preciso tomar cuidado para não espremer os testes
Testes baseados em riscos.
Se as prédios e casas quebrassem tão freqüentemente,
não existiriam empresas de construção civil.
Testadores querem atingir o mesmo objetivo de toda
a equipe.




                                                       22
Referências


Testing Experience: The Magazine for Professional
Testers, Agile Testing, Setembro de 2009.

WATKINS, John. Agile Testing: How to Succeed in
an Extreme Testing Environment. Cambridge
university Press, 2009

CRISPIN, Lisa. Testing Extreme Programming.
Addison-Wesley. 2002

PERRY, E., William. Effective Methods for Software
Testing. Wiley Press, Inc.. New York 1995.

                                                     23
Referências


Farrell-Vinay, Peter, Manage Software Testing.
Auerbach Publications., 2008

COHN, Mike. Agile Estimating and Planning. Prentice
Hall. 2005

PRESSMAN, R. S., “Software Engineering: A
Practitioner’s Approach”, McGraw-Hill, 6th edição,
Nova York, NY, 2005.

GILB, Tom. Agile Specification Quality Control, em
Testing Experience Magazine. Março de 2009.

                                                      24
Referências


BLACK, Rex. Managing the Testing Process,
Microsoft Press, Junho de 1999.




                                            25

Mais conteúdo relacionado

Mais procurados

Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de softwareAlan Carlos
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Danilo Sousa
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesFelipe Freire
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraTaís Dall'Oca
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...Welington Monteiro
 
Normas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareNormas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareDanilo Sousa
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processocrc1404
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Teste de usabilidade
Teste de usabilidadeTeste de usabilidade
Teste de usabilidadeDanilo Sousa
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosCristiano Caetano
 
X-Zone: Fabrica de Testes
X-Zone: Fabrica de TestesX-Zone: Fabrica de Testes
X-Zone: Fabrica de TestesAlexandreBartie
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testeselliando dias
 
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDayQuando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDayBase2 Tecnologia
 

Mais procurados (20)

Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de software
 
Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2
 
Qualidade e Teste de Software
Qualidade e Teste de SoftwareQualidade e Teste de Software
Qualidade e Teste de Software
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?Teste Tradicional e Teste Ágil: de que lado você esta?
Teste Tradicional e Teste Ágil: de que lado você esta?
 
IBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em TestesIBM Rational Piores Práticas em Testes
IBM Rational Piores Práticas em Testes
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
 
Normas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de SoftwareNormas e Padrões para a Qualidade de Software
Normas e Padrões para a Qualidade de Software
 
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De ProcessoUma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
Uma Metodologia Para Teste De Software No Contexto Da Melhoria De Processo
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Teste de usabilidade
Teste de usabilidadeTeste de usabilidade
Teste de usabilidade
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Revisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticosRevisao inspecao artefatos testes estaticos
Revisao inspecao artefatos testes estaticos
 
X-Zone: Fabrica de Testes
X-Zone: Fabrica de TestesX-Zone: Fabrica de Testes
X-Zone: Fabrica de Testes
 
Planejamento de Testes
Planejamento de TestesPlanejamento de Testes
Planejamento de Testes
 
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDayQuando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
Quando utilizar Crowdsourcing em Testes | Crowdtest no DevDay
 

Destaque

"Как создать бренд, ценность и репутацию бизнеса в сфере услуг"
"Как создать бренд, ценность и репутацию бизнеса в сфере услуг""Как создать бренд, ценность и репутацию бизнеса в сфере услуг"
"Как создать бренд, ценность и репутацию бизнеса в сфере услуг"KA_Personal
 
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitBits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitB1 Systems GmbH
 
Book Talks 8th Grade
Book Talks 8th GradeBook Talks 8th Grade
Book Talks 8th Gradecatheller
 
Sierra Nevada Corporation - Letter of Recommendation 2016
Sierra Nevada Corporation - Letter of Recommendation 2016Sierra Nevada Corporation - Letter of Recommendation 2016
Sierra Nevada Corporation - Letter of Recommendation 2016ccstrain
 
Завтра уже наступило: какие профессии нас ждут в будущем
Завтра уже наступило: какие профессии нас ждут в будущемЗавтра уже наступило: какие профессии нас ждут в будущем
Завтра уже наступило: какие профессии нас ждут в будущемKA_Personal
 
Keys to Communication
Keys to CommunicationKeys to Communication
Keys to CommunicationJohn Rodgers
 
Downey Brand - Letter of Recommendation 2016-03
Downey Brand - Letter of Recommendation 2016-03Downey Brand - Letter of Recommendation 2016-03
Downey Brand - Letter of Recommendation 2016-03ccstrain
 
Narrative Terminology
Narrative TerminologyNarrative Terminology
Narrative TerminologyMonty Sansom
 
Design research
Design researchDesign research
Design researchkatambwa
 
Evolución e Historia del Notariado
Evolución e Historia del NotariadoEvolución e Historia del Notariado
Evolución e Historia del NotariadoVictor André
 
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївни
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани ЮріївниПортфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївни
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївниyuraravlinko
 
SaaS - Como precificar?
SaaS - Como precificar?SaaS - Como precificar?
SaaS - Como precificar?CentralServer
 
Location Release Form
Location Release FormLocation Release Form
Location Release FormMonty Sansom
 
Sistema Hexadecimal de numeração
Sistema Hexadecimal de numeraçãoSistema Hexadecimal de numeração
Sistema Hexadecimal de numeraçãoFábio dos Reis
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linuxFábio dos Reis
 

Destaque (20)

"Как создать бренд, ценность и репутацию бизнеса в сфере услуг"
"Как создать бренд, ценность и репутацию бизнеса в сфере услуг""Как создать бренд, ценность и репутацию бизнеса в сфере услуг"
"Как создать бренд, ценность и репутацию бизнеса в сфере услуг"
 
Gerenciamento de projetos usando corrente crítica
Gerenciamento de projetos usando corrente críticaGerenciamento de projetos usando corrente crítica
Gerenciamento de projetos usando corrente crítica
 
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitBits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
 
Recommendation letter- Gemmologia
Recommendation letter- GemmologiaRecommendation letter- Gemmologia
Recommendation letter- Gemmologia
 
Book Talks 8th Grade
Book Talks 8th GradeBook Talks 8th Grade
Book Talks 8th Grade
 
Desenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWTDesenvolvendo aplicações web com GWT
Desenvolvendo aplicações web com GWT
 
Sierra Nevada Corporation - Letter of Recommendation 2016
Sierra Nevada Corporation - Letter of Recommendation 2016Sierra Nevada Corporation - Letter of Recommendation 2016
Sierra Nevada Corporation - Letter of Recommendation 2016
 
Завтра уже наступило: какие профессии нас ждут в будущем
Завтра уже наступило: какие профессии нас ждут в будущемЗавтра уже наступило: какие профессии нас ждут в будущем
Завтра уже наступило: какие профессии нас ждут в будущем
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
Keys to Communication
Keys to CommunicationKeys to Communication
Keys to Communication
 
Downey Brand - Letter of Recommendation 2016-03
Downey Brand - Letter of Recommendation 2016-03Downey Brand - Letter of Recommendation 2016-03
Downey Brand - Letter of Recommendation 2016-03
 
Por que contratar projetos ágeis?
Por que contratar projetos ágeis?Por que contratar projetos ágeis?
Por que contratar projetos ágeis?
 
Narrative Terminology
Narrative TerminologyNarrative Terminology
Narrative Terminology
 
Design research
Design researchDesign research
Design research
 
Evolución e Historia del Notariado
Evolución e Historia del NotariadoEvolución e Historia del Notariado
Evolución e Historia del Notariado
 
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївни
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани ЮріївниПортфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївни
Портфоліо вчителя математики, спеціаліста вищої категорії Білик Оксани Юріївни
 
SaaS - Como precificar?
SaaS - Como precificar?SaaS - Como precificar?
SaaS - Como precificar?
 
Location Release Form
Location Release FormLocation Release Form
Location Release Form
 
Sistema Hexadecimal de numeração
Sistema Hexadecimal de numeraçãoSistema Hexadecimal de numeração
Sistema Hexadecimal de numeração
 
Redirecionamento, pipes e processos linux
Redirecionamento, pipes e processos   linuxRedirecionamento, pipes e processos   linux
Redirecionamento, pipes e processos linux
 

Semelhante a Como os testes irão se modificar com o advento das metodologias ágeis

Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de softwareAlan Carlos
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012Alejandro Olchik
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina BorimThoughtworks
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Alain Ageev, SFPC
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeisQualister
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POAAline Zanin
 
Aula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAlexandreLisboadaSil
 
Aula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxAula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxALEXANDRELISBADASILV
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágilFelipe Oliveira
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareFrancke Peixoto
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptHurgelNeto
 

Semelhante a Como os testes irão se modificar com o advento das metodologias ágeis (20)

Teste de software gestao e kaizen
Teste de software gestao e kaizenTeste de software gestao e kaizen
Teste de software gestao e kaizen
 
Escolas de testes de software
Escolas de testes de softwareEscolas de testes de software
Escolas de testes de software
 
Testes ágeis: saindo da zona de conforto
Testes ágeis: saindo da zona de confortoTestes ágeis: saindo da zona de conforto
Testes ágeis: saindo da zona de conforto
 
Teste Ágeis para todo o time
Teste Ágeis para todo o timeTeste Ágeis para todo o time
Teste Ágeis para todo o time
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
Sofware Kaizen - Aceleradora Ágil - Apresentacao agile brazil 2012
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Lean agile testing
Lean agile testingLean agile testing
Lean agile testing
 
Agile Testing, por Carolina Borim
Agile Testing, por Carolina BorimAgile Testing, por Carolina Borim
Agile Testing, por Carolina Borim
 
Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3Introdução aos fundamentos de teste de software 3
Introdução aos fundamentos de teste de software 3
 
Testes em métodos ágeis
Testes em métodos ágeisTestes em métodos ágeis
Testes em métodos ágeis
 
Palestra Fundamentos de Testes - Tche linux POA
Palestra Fundamentos de Testes  - Tche linux POAPalestra Fundamentos de Testes  - Tche linux POA
Palestra Fundamentos de Testes - Tche linux POA
 
Estimativa de Teste sem medo - parte 2
Estimativa de Teste sem medo - parte 2Estimativa de Teste sem medo - parte 2
Estimativa de Teste sem medo - parte 2
 
Aula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptx
 
Aula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptxAula 3 - Introdução ao Teste.pptx
Aula 3 - Introdução ao Teste.pptx
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 
Desenvolvimento Ágil de Software
Desenvolvimento Ágil de SoftwareDesenvolvimento Ágil de Software
Desenvolvimento Ágil de Software
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.pptTexto de Apoio2_Síntese de Metodologias Ageis.ppt
Texto de Apoio2_Síntese de Metodologias Ageis.ppt
 

Mais de Synergia - Engenharia de Software e Sistemas (9)

Teste de Aceitação: problemas, desafios e abordagens
Teste de Aceitação: problemas, desafios e abordagensTeste de Aceitação: problemas, desafios e abordagens
Teste de Aceitação: problemas, desafios e abordagens
 
Estimativas em projetos de software
Estimativas em projetos de softwareEstimativas em projetos de software
Estimativas em projetos de software
 
Inspeções em desenvolvimento de software
Inspeções em desenvolvimento de softwareInspeções em desenvolvimento de software
Inspeções em desenvolvimento de software
 
Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)Gestão de Processos de Negócio (BPM)
Gestão de Processos de Negócio (BPM)
 
Controle estatístico de processos
Controle estatístico de processosControle estatístico de processos
Controle estatístico de processos
 
O retorno do investimento no projeto adequado de interfaces de usuário
O retorno do investimento no projeto adequado de interfaces de usuárioO retorno do investimento no projeto adequado de interfaces de usuário
O retorno do investimento no projeto adequado de interfaces de usuário
 
Aplicações Web Ricas e Acessíveis
Aplicações Web Ricas e AcessíveisAplicações Web Ricas e Acessíveis
Aplicações Web Ricas e Acessíveis
 
Testes de segurança em aplicações web
Testes de segurança em aplicações webTestes de segurança em aplicações web
Testes de segurança em aplicações web
 
Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®Introdução a gerenciamento de projetos e PMBoK®
Introdução a gerenciamento de projetos e PMBoK®
 

Como os testes irão se modificar com o advento das metodologias ágeis

  • 1. Como os testes irão se modificar com o advento das metodologias ágeis Eduardo Habib Bechelane Maia habib@dcc.ufmg.br
  • 2. Testes ágeis Sumário – Introdução – Testes em metodologias ágeis • Estratégias de teste • Aumento dos períodos de estresse • Equipe de testes • Comunicação • Iterações curtas • Automação • Perfil dos testadores • Volume de mudanças • Testabilidade – Conclusão 2
  • 3. Introdução "Manifesto Para o Desenvolvimento Ágil de Software“ – reunião entre 17 gurus da comunidade de desenvolvimento em 2001 – Estação de esqui nas montanhas de Utah, Estados Unidos. • Alternativas para melhorar produtividade de desenvolvimento de software • Conjunto de princípios comuns em projetos de sucesso. 3
  • 4. Introdução Princípios básicos valorizados nas metodologias ágeis: – Indivíduos e interações entre eles, ao invés de processos e ferramentas – Software funcionando ao invés de documentação compreensiva e detalhada. – Colaboração com os clientes ao invés de negociação de contratos. – Adaptação às mudanças ao invés de seguir um plano inicial. 4
  • 5. Introdução Cada vez mais empresas declaram que utilizam Processos ágeis: – Existem poucas empresas que utilizam processos realmente ágeis. – Termo tem sido utilizado para qualquer projeto com iterações curtas. Empresas têm sido pressionadas para produzir melhor e mais rápido – Processos ágeis – Bons relatos sobre processos ágeis • Poucos relatos de como deve ser reorganizada a equipe de testes. 5
  • 6. Estratégias de testes em processos ágeis Definição de algumas estratégias Novos desafios: O processo tradicional não funciona. – Desafios possuem duas origens: • Interpretações das pessoas. • Das próprias metodologias ágeis; Rex Black recomenda as estratégias: – Testes baseados em riscos. – Testes de regressão automatizados – Testes reativos (dinâmicos) 6
  • 7. Equipes multifuncionais Membros da equipe idealmente devem estar aptos a realizar todas as tarefas. – Acaba havendo algum grau de especialização. – Maioria das equipes ágeis não consegue ser totalmente multifuncional. Separação entre testes e desenvolvimento? – Equilíbrio entre equipe independente e integrada. • Requisito deve ser preferencialmente testado na mesma iteração. – Separar completamente não faz sentido. • Sprint para testes e desenvolvimento. 7
  • 8. Equipes multifuncionais Separação entre testes e desenvolvimento? – Vantagens e desvantagens da atuação dentro da Sprint: • Vantagens: – Foco nas tarefas relacionadas ao Sprint; – Tempo utilizado com foco nos objetivos da Sprint. • Desvantagens: – Perda de liberdade; – Visão reduzida do sistema. 8
  • 9. Aumento dos períodos de estresse Aumento de pressão excessivo pode causar perda de produtividade e maior rotatividade. Períodos estressantes de teste normalmente são próximos às entregas. – Mais entregas, maior estresse. – Testes baseados em riscos – Algumas metodologias ágeis sugerem claramente evitar-se horas extras. 9
  • 10. Relacionamento entre membros da equipe Bom relacionamento é essencial. Compartilhar planejamento e tomada de decisões – Comprometimento com as metas Pessoas trabalhando mais próximas – Diminuição do número de defeitos reportados • Diminuição de conflitos. 10
  • 11. Relacionamento entre membros da equipe Pessoas trabalhando mais próximas – Testadores conversam sobre testes de unidade – Testes realizados pelos testadores tendem a não se sobrepor Função principal do testador: – Feedback rápido. • É mais importante a execução dos testes do que a sua modelagem. 11
  • 12. Realização de todos os testes em iterações curtas Desenvolvimento ágil: – Minimiza riscos desenvolvendo em iterações curtas • Desenvolvimento incremental – E os testes que demoram muito tempo? • Segurança? Desempenho? Confiabilidade? • Fases de testes que começam em uma iteração e terminam em outra. 12
  • 13. Automação dos testes em processos ágeis É ainda mais necessário. Nem tudo deve ser automatizado. – Aplicação correta. • Retorno excepcional. Por que muitos projetos de automação falharam? – Ferramentas de testes não eram maduras. – Automação irracional. – Testes puramente gravados não funcionaram. – Desconhecimento dos problemas. – Despreparo da equipe. 13
  • 14. Perfil dos testadores Ao adotar processo ágil deve-se possuir política clara em relação à equipe – Experiência e estabilidade da equipe – Evitar participação em múltiplos projetos Analistas de teste têm papel diferenciado – Maior interação com o cliente e desenvolvedor – Maior participação de revisões • Inserção de informações necessárias aos testes. • Aperfeiçoamento dos requisitos. – Envolvimento em fases iniciais 14
  • 15. Lidando com o volume das mudanças Processos ágeis encorajam mudanças e incentivam comunicação face a face. – É inevitável que algumas mudanças não sejam documentadas. Desafios reais para a equipe e manutenção de documentos como as especificação de testes. – Testes baseados em riscos. – Testes automatizados. Aumento do número de erros inválidos. – Monitoramento pelo gerente • Melhoria da comunicação (aprox. 5% de defeitos inválidos é normal). 15
  • 16. Testes de unidade Crescimento da importância em processos ágeis. – Capacidade de detecção de defeitos é limitada • 25% dos defeitos (Caper Jones) • Equipe de testes independente chega a encontrar 85% dos defeitos Pressão por entregas – Testes de unidade precários • Testes baseados em riscos. 16
  • 17. Documentação em processos ágeis Documentação ruim: – Resposta natural: Testes exploratórios • Entretanto, documentação ruim deveria ser rara. – Um dos principais mal entendidos. – Equilíbrio entre documentação e reuniões. Fato: Documentação é menor. – Participação efetiva do usuário. Basear testes na documentação é praticamente impossível. 17
  • 18. Recrutamento de testadores Boa comunicação: – Assume maior importância – É mais fácil suprir deficiências técnicas do que ensinar um “nerd” a se comunicar. Testadores interessados em desenvolver novas habilidades. 18
  • 19. Testabilidade Testabilidade é a medida de do quão bem e eficiente uma aplicação pode ser testada. – Mais fácil de testar -> Mais testes no mesmo tempo – Áreas de maior risco costumam ser mais difíceis de testar. – Não é questão de escolha, é necessidade. 19
  • 20. Localização da equipe Idealmente: – Membros da equipe devem sentar próximos • Facilidade de comunicação. Como tratar os casos em que equipes atuam geograficamente separados? – Skype – MSN – Videoconferência 20
  • 21. Conclusão Testes de software estão se alinhando mais às necessidades dos negócios. Testes por uma equipe independente são melhores para encontrar defeitos. Maior flexibilidade dos membros da equipe. Habilidades necessárias aos testadores estão mudando. É importante uma automação melhor e mais eficiente. Expectativas muito altas para as metodologias ágeis – Risco grande – Benefícios a longo prazo. 21
  • 22. Conclusão Nem todo mundo precisa ser ágil. É preciso tomar cuidado para não espremer os testes Testes baseados em riscos. Se as prédios e casas quebrassem tão freqüentemente, não existiriam empresas de construção civil. Testadores querem atingir o mesmo objetivo de toda a equipe. 22
  • 23. Referências Testing Experience: The Magazine for Professional Testers, Agile Testing, Setembro de 2009. WATKINS, John. Agile Testing: How to Succeed in an Extreme Testing Environment. Cambridge university Press, 2009 CRISPIN, Lisa. Testing Extreme Programming. Addison-Wesley. 2002 PERRY, E., William. Effective Methods for Software Testing. Wiley Press, Inc.. New York 1995. 23
  • 24. Referências Farrell-Vinay, Peter, Manage Software Testing. Auerbach Publications., 2008 COHN, Mike. Agile Estimating and Planning. Prentice Hall. 2005 PRESSMAN, R. S., “Software Engineering: A Practitioner’s Approach”, McGraw-Hill, 6th edição, Nova York, NY, 2005. GILB, Tom. Agile Specification Quality Control, em Testing Experience Magazine. Março de 2009. 24
  • 25. Referências BLACK, Rex. Managing the Testing Process, Microsoft Press, Junho de 1999. 25