Estágio II Aula 04 Testes Ágeis Prof. MSc. Fred Viana
Agenda Manifesto dos Testes Ágeis Testes Ágeis x Testes Tradicionais Sinais de que os Testes Não São Ágeis Testador Ágil Testador Ágil em Equipe Independente Funções do Testador Ágil Estratégia de Teste Ágil
Manifesto dos Testes Ágeis
Manifesto dos Testes Ágeis Valorizamos: Testar ao longo de todo o ciclo de desenvolvimento mais que testar somente no final Prevenir bugs mais que encontrar bugs Testar o entendimento mais que simplesmente checar funcionalidades Construir o melhor sistema mais que quebrar o sistema Time sendo o responsável pela qualidade mais que apenas o testador sendo o responsável
Testes Ágeis x Testes Tradicionais Os objetivos são os mesmos: Confirmar se o software faz o que ele deve fazer; Confirmar se o software não faz o que ele não deveria fazer; Aferir o atendimento a um atributo de qualidade (implícito e explícito); Encontrar defeitos; A diferença é a abordagem: Mais leve, mais rápida, mais cedo!
Sinais de que os Testes não são Ágeis Os testadores não têm muito o que fazer no início da sprint...
Sinais de que os Testes não são Ágeis mas estão sobrecarregados ao final da sprint
Sinais de que os Testes não são Ágeis Há uma fase de regressão de teste manual antes de liberar o release Há uma iteração de fechamento de defeitos
Sinais de que os Testes não são Ágeis Programadores escrevem código antes de uma discussão sobre os casos de testes
Sinais de que os Testes não são Ágeis Existem bugs que não são corrigidos dentro da sprint
Testador Ágil Dentro de um projeto ágil o analista de teste tem um papel que vai além de somente executar o teste, ele participa ativamente de toda a etapa de desenvolvimento, desde a concepção até a entrega
Testador Ágil O papel do testador é expandido e ele passa a atuar de forma mais ativa na descoberta dos requisitos e na maximização de valor agregado ao negócio. Ele é uma ponte efetiva entre o cliente e o time de desenvolvimento, pois o seu posicionamento, como analista de desenvolvimento com foco na validação do produto, provê um entendimento tanto dos aspectos de negócio, importantes para o cliente, como dos aspectos técnicos com os quais o time lida ao desenvolver o produto.
Testador Ágil Mudança de Comportamento
Testador Ágil Mudança de Paradigma Qual é o papel e as responsabilidades? Como é possível atuar mais próximo do desenvolvedor? Manual ou Automático? Como é possível testar em ciclos curtos de desenvolvimento? Como é possível testar em um ambiente onde a mudança é constante? Como posso testar sem requisitos detalhados?
Testador Ágil em Equipe Independente Ver o testador independente efetivamente como parte do time visa minimizar desperdícios e maximizar desempenho Um mesmo analista de testes fica alocado do começo ao fim do projeto e continua sendo membro da equipe independente A visão especializada/independente continua a ser conciliada resguardando-se os seus benefícios
Funções do Testador Ágil Planejamento/Descoberta do Projeto: Prover visão voltada para a validação do software Definir estratégias de testes: Quais tipos e níveis de testes serão priorizados? Quais ferramentas serão utilizadas? Quais métricas de qualidade serão acompanhadas?
Funções do Testador Ágil Planejamento da Sprint: Apoiar no levantamento das estórias Participar na elaboração dos critérios de aceitação Planejar o escopo do que vai ser testado Prover estimativas para as tarefas de testes Participar na definição do conceito de Pronto
Funções do Testador Ágil Bugtracking: Defeito encontrado é corrigido dentro da própria iteração Defeitos não corrigidos = Débito técnico Defeitos tratados como tarefas do desenvolvimento
Funções do Testador Ágil Reunião diária: Prover feedback sobre os níveis de qualidade e status das tarefas de testes Revisão do Sprint: Apoiar na demonstração do produto Retrospectiva do Sprint: Fornecer indicadores básicos de qualidade Propor estratégias para o aumento da qualidade nas próximas iterações
Estratégia de Teste Ágil Teste é responsabilidade de todo o time e o testador ágil amplia a sua atuação fomentando a inserção dos vários níveis de testes necessários ao projeto
Estratégia de Teste Ágil Quadrantes do Teste Ágil
Estratégia de Teste Ágil - Q1 Q1 - Testes de Unidade e de Componentes
Estratégia de Teste Ágil - Q1 Testes que focam na arquitetura e guiam a implementação São os testes de unidade e de componentes O primeiro quadrante de testes trata da qualidade interna, que é definida pelo próprio time!
Estratégia de Teste Ágil - Q1 São realizados e de responsabilidade dos próprios desenvolvedores O papel do analista de testes nesse quadrante é o de apoiar, suportar e fazer mentoria aos desenvolvedores sempre que necessário De preferência isso é feito fazendo par com o desenvolvedor no momento de elaborar os testes unitários automatizados
Estratégia de Teste Ágil - Q2 Q2 - Testes Funcionais
Estratégia de Teste Ágil - Q2 Testes que focam no negócio e suportam o time Utilizam, por exemplo, técnicas de BDD e ATDD São testes e cenários de exemplo realizados pelos testadores em conjunto com os clientes, usuários e analistas de negócio. Esses exemplos e cenários criam melhores condições de desenvolver e entender os requisitos.
Estratégia de Teste Ágil - Q2 O foco desses testes não é encontrar o maior número de defeitos e sim ajudar clientes e desenvolvedores a se entenderem melhor Estes testes são voltados ao negócio, definem a qualidade externa e características que o cliente quer.
Estratégia de Teste Ágil - Q3 Q3 - Testes de Aceitação, de Usabilidade e Exploratórios
Estratégia de Teste Ágil - Q3 Testes que focam no negócio e criticam o produto Testes de aceitação, de usabilidade e exploratórios São testes feitos com o objetivo de encontrar defeitos
Estratégia de Teste Ágil - Q4 Q4 - Testes de Performance, Carga e de Segurança
Estratégia de Teste Ágil - Q4 Testes que focam na arquitetura e criticam o produto São os testes de performance, de carga e de segurança Esses são de responsabilidade dos analistas de testes