Teste Ágil - Quadrantes
Como no caso do Teste Tradicional, o Teste Ágil também precisa cobrir todos os Níveis de Teste.
- Teste de Unidade
- Teste de integração
- Teste de Sistema
- Testes de aceitação do usuário
Teste de Unidade
- Feito junto com a codificação, pelo desenvolvedor
- Suportado pelo Testador que escreve casos de teste garantindo 100% de cobertura de design
- Casos de teste de unidade e resultados de teste de unidade precisam ser revistos
- Os principais defeitos não resolvidos (de acordo com a prioridade e gravidade) não são deixados
- Todos os testes de unidade são automatizados
Teste de integração
- Feito junto com a Integração Contínua conforme o progresso dos Sprints
- Feito no final após todos os Sprints serem concluídos
- Todos os requisitos funcionais são testados
- Todas as interfaces entre as unidades são testadas
- Todos os defeitos são relatados
- Os testes são automatizados sempre que possível
Teste de Sistema
- Feito conforme o desenvolvimento avança
- Histórias de usuários, recursos e funções são testados
- Teste feito em ambiente de produção
- Os testes de qualidade são executados (desempenho, confiabilidade, etc.)
- Defeitos são relatados
- Os testes são automatizados sempre que possível
Testes de aceitação do usuário
Feito no final de cada Sprint e no final do projeto
Feito pelo cliente. O feedback é recebido pela equipe
O feedback será uma entrada para Sprints subsequentes
As histórias de usuário em um Sprint são pré-verificadas para serem testadas e estão com critérios de aceitação definidos
Tipos de teste
- Testes de componentes (testes de unidade)
- Testes funcionais (testes de histórias de usuários)
- Testes não funcionais (desempenho, carga, estresse, etc.)
- Testes de aptidão
Os testes podem ser totalmente manuais, totalmente automatizados, combinação de manual e automatizado ou manual com suporte de ferramentas.
Programação de suporte e testes de crítica de produto
Os testes podem ser para -
Supporting Development (Support Programming) - Testes de programação de suporte são usados pelos programadores.
Para decidir sobre qual código eles precisam escrever para realizar um determinado comportamento de um Sistema
Quais testes precisam ser executados após a codificação para garantir que o novo código não atrapalhe o restante dos comportamentos do sistema
Verification only (Critique Product) - Os testes de crítica do produto são usados para descobrir inadequações no produto acabado
Testes de enfrentamento de negócios e tecnologia
Para decidir quais testes devem ser realizados quando, você precisa determinar se um teste é -
- Enfrentando negócios, ou
- Enfrentando Tecnologia
Testes de enfrentamento de negócios
Um teste é um teste voltado para os negócios se responder às perguntas emolduradas com palavras do domínio dos negócios. Estes são compreendidos pelos especialistas de negócios e interessam a eles para que o comportamento do sistema possa ser explicado no cenário em tempo real.
Testes de enfrentamento de tecnologia
Um teste é um teste voltado para a tecnologia se responder às perguntas emolduradas com palavras do domínio da tecnologia. Os programadores entendem o que precisa ser implementado com base nos esclarecimentos sobre tecnologia.
Esses dois aspectos dos tipos de teste podem ser visualizados usando os Quadrantes de Teste Agile definidos por Brian Marick.
Quadrantes de testes ágeis
Combinando os dois aspectos dos Tipos de Teste, os seguintes Quadrantes de Teste Ágeis são derivados por Brian Marick -
Os Quadrantes de Testes Ágeis fornecem uma taxonomia útil para ajudar as equipes a identificar, planejar e executar os testes necessários.
Quadrant Q1- Nível da unidade, Tecnologia e suporte aos desenvolvedores. Os testes de unidade pertencem a este quadrante. Esses testes podem ser testes automatizados.
Quadrant Q2- Nível de sistema, contato comercial e comportamento de produto em conformidade. Os testes funcionais pertencem a este quadrante. Esses testes são manuais ou automatizados.
Quadrant Q3- Nível de aceitação do sistema ou do usuário, atendimento ao negócio e foco em cenários em tempo real. Os testes de aceitação do usuário pertencem a este quadrante. Esses testes são manuais.
Quadrant Q4- Sistema ou Nível de Aceitação Operacional, Tecnologia e Foco em Testes de Desempenho, Carga, Estresse, Manutenção, Escalabilidade. Ferramentas especiais podem ser usadas para esses testes junto com os testes de automação.
Combinando estes, os Quadrantes de Teste Ágil que refletem What-Testing-When pode ser visualizado da seguinte forma -