O que é o Agile Testing? Metodologia, Processo & Ciclo da vida

Índice:

Anonim

O que é o Agile Testing?

AGILE TESTING é uma prática de teste que segue as regras e princípios do desenvolvimento ágil de software. Ao contrário do método em cascata, o Agile Testing pode começar no início do projeto com integração contínua entre o desenvolvimento e o teste. A metodologia do Agile Testing não é sequencial (no sentido em que é executada apenas após a fase de codificação), mas contínua.

Neste artigo, discutiremos

  • Plano de teste ágil.
  • Estratégias de teste ágil.
  • O quadrante de testes ágeis.
  • Desafios de controle de qualidade com desenvolvimento ágil de software.
  • Risco de automação em processos ágeis.

Plano de Teste Ágil

O plano de teste ágil inclui tipos de teste feitos nessa iteração, como requisitos de dados de teste, infraestrutura, ambientes de teste e resultados de teste. Ao contrário do modelo em cascata, em um modelo ágil, um plano de teste é escrito e atualizado para cada versão. Planos de teste típicos em agile incluem

  1. Escopo de Teste
  2. Novas funcionalidades que estão sendo testadas
  3. Nível ou tipos de teste com base na complexidade dos recursos
  4. Teste de carga e desempenho
  5. Consideração de infraestrutura
  6. Plano de Mitigação ou Riscos
  7. Recursos
  8. Entregáveis ​​e marcos

Estratégias de teste ágeis

O ciclo de vida do teste ágil se estende por quatro estágios

(a) Iteração 0

Durante o primeiro estágio ou iteração 0, você executa as tarefas de configuração inicial. Inclui a identificação de pessoas para teste, instalação de ferramentas de teste, agendamento de recursos (laboratório de teste de usabilidade), etc. As etapas a seguir são definidas para alcançar na Iteração 0

a) Estabelecer um caso de negócios para o projeto

b) Estabelecer as condições de contorno e o escopo do projeto

c) Descrever os principais requisitos e casos de uso que conduzirão as compensações de design

d) Delinear uma ou mais arquiteturas candidatas

e) Identificar o risco

f) Estimativa de custos e preparação de um projeto preliminar

(b) Iterações de construção

A segunda fase da metodologia de teste ágil é Iterações de construção, a maioria dos testes ocorre durante esta fase. Esta fase é observada como um conjunto de iterações para construir um incremento da solução. Para fazer isso, dentro de cada iteração, a equipe implementa um híbrido de práticas de XP, Scrum, modelagem Agile, dados ágeis e assim por diante.

Na iteração de construção, a equipe ágil segue a prática de requisitos priorizada: com cada iteração, eles pegam os requisitos mais essenciais restantes da pilha de itens de trabalho e os implementam.

A iteração de construção é classificada em duas, teste confirmatório e teste investigativo. O teste de confirmação concentra-se em verificar se o sistema atende à intenção das partes interessadas, conforme descrito para a equipe até o momento, e é realizado pela equipe. Enquanto o teste investigativo detecta o problema, a equipe de confirmação pulou ou ignorou. Nos testes investigativos, o testador determina os problemas potenciais na forma de histórias de defeitos. O teste investigativo lida com problemas comuns, como teste de integração, teste de carga / estresse e teste de segurança.

Mais uma vez, para os testes de confirmação, existem dois aspectos, o teste do desenvolvedor e o teste de aceitação ágil . Ambos são automatizados para permitir testes de regressão contínua ao longo do ciclo de vida. O teste de confirmação é o equivalente ágil do teste de acordo com a especificação.

O teste de aceitação ágil é uma combinação de teste funcional tradicional e teste de aceitação tradicional enquanto a equipe de desenvolvimento e as partes interessadas estão fazendo isso juntos. Enquanto o teste de desenvolvedor é uma mistura de teste de unidade tradicional e teste de integração de serviço tradicional. O teste do desenvolvedor verifica o código do aplicativo e o esquema do banco de dados.

(c) Lançamento do jogo final ou fase de transição

O objetivo de “Liberar, Finalizar o Jogo” é implantar o seu sistema com sucesso na produção. As atividades que incluem nesta fase são a formação de utilizadores finais, pessoal de apoio e pessoal operacional. Além disso, inclui o marketing do lançamento do produto, backup e restauração, finalização do sistema e documentação do usuário.

O estágio final de teste da metodologia ágil inclui teste completo do sistema e teste de aceitação. De forma a terminar a sua fase final de teste sem quaisquer obstáculos, deverá testar o produto com mais rigor durante as iterações de construção. Durante o jogo final, os testadores trabalharão em suas histórias de defeitos.

(d) Produção

Após a fase de lançamento, o produto passará para a fase de produção.

Os quadrantes de testes ágeis

Os quadrantes de teste ágil separam todo o processo em quatro quadrantes e ajudam a entender como o teste ágil é realizado.

a) Quadrante Ágil I - A qualidade do código interno é o foco principal neste quadrante, e consiste em casos de teste que são impulsionados pela tecnologia e são implementados para apoiar a equipe, inclui

1. Testes de Unidade

2. Testes de componentes

b) Quadrante Ágil II - Contém casos de teste direcionados aos negócios e implementados para dar suporte à equipe. Este quadrante enfoca os requisitos. O tipo de teste realizado nesta fase é

1. Teste de exemplos de possíveis cenários e fluxos de trabalho

2. Teste de experiência do usuário, como protótipos

3. Teste de pares

c) Quadrante III do Agile - Este quadrante fornece feedback para os quadrantes um e dois. Os casos de teste podem ser usados ​​como base para realizar testes de automação. Nesse quadrante, muitas rodadas de revisões de iteração são realizadas, o que aumenta a confiança no produto. O tipo de teste feito neste quadrante é

1. Teste de usabilidade

2. Teste Exploratório

3. Teste em pares com clientes

4. Teste colaborativo

5. Teste de aceitação do usuário

d) Quadrante Agile IV - Este quadrante concentra-se nos requisitos não funcionais como desempenho, segurança, estabilidade, etc. Com a ajuda deste quadrante, a aplicação é feita para entregar as qualidades não funcionais e o valor esperado.

1. Testes não funcionais, como teste de estresse e desempenho

2. Teste de segurança com relação à autenticação e hacking

3. Teste de infraestrutura

4. Teste de migração de dados

5. Teste de escalabilidade

6. Teste de carga

Desafios de controle de qualidade com desenvolvimento ágil de software

a) As chances de erro são mais ágeis, já que a documentação tem menos prioridade, eventualmente coloca mais pressão na equipe de QA

b) Novos recursos são introduzidos rapidamente, o que reduz o tempo disponível para as equipes de teste para identificar se os recursos mais recentes estão de acordo com o requisito e se realmente atendem aos requisitos de negócios

c) Os testadores muitas vezes são obrigados a desempenhar um papel de semi-desenvolvedor

d) Os ciclos de execução de teste são altamente comprimidos

e) Muito menos tempo para preparar o plano de teste

f) Para teste de regressão, eles terão tempo mínimo

g) Mudança em seu papel de guardião da qualidade para parceiro na qualidade

h) Mudanças e atualizações de requisitos são inerentes a um método ágil, tornando-se o maior desafio para o controle de qualidade

Risco de Automação em Processo Ágil

  • A IU automatizada fornece um alto nível de confiança, mas são lentos para executar, frágeis para manter e caros para construir. A automação pode não melhorar significativamente a produtividade do teste, a menos que os testadores saibam como testar
  • Testes não confiáveis ​​são uma grande preocupação em testes automatizados. Corrigir testes com falha e resolver problemas relacionados a testes frágeis deve ser uma prioridade para evitar falsos positivos
  • Se o teste automatizado for iniciado manualmente em vez de por meio de CI (Integração Contínua), existe o risco de que eles não estejam sendo executados regularmente e, portanto, podem causar falhas nos testes
  • Os testes automatizados não substituem um teste manual exploratório. Para obter a qualidade esperada do produto, uma mistura de tipos e níveis de teste é necessária
  • Muitas ferramentas de automação disponíveis comercialmente fornecem recursos simples, como automatizar a captura e reprodução de casos de teste manuais. Essa ferramenta incentiva o teste por meio da IU e resulta em testes inerentemente frágeis e difíceis de manter. Além disso, armazenar casos de teste fora do sistema de controle de versão cria complexidade desnecessária
  • A fim de economizar tempo, muitas vezes o plano de teste de automação é mal planejado ou não planejado, o que resulta na falha do teste
  • Os procedimentos de configuração e desmontagem de um teste geralmente são perdidos durante a automação do teste, enquanto a realização de testes manuais, um procedimento de configuração e desmontagem de teste parece perfeito
  • Métricas de produtividade, como uma série de casos de teste criados ou executados por dia, podem ser terrivelmente enganosos e podem levar a um grande investimento na execução de testes inúteis
  • Os membros da equipe de automação ágil devem ser consultores eficazes: acessíveis, cooperativos e engenhosos, ou este sistema irá falhar rapidamente
  • A automação pode propor e fornecer soluções de teste que exigem muita manutenção contínua em relação ao valor fornecido
  • Os testes automatizados podem carecer de experiência para conceber e fornecer soluções eficazes
  • Os testes automatizados podem ser tão bem-sucedidos que acabam com problemas importantes para resolver e, portanto, se voltam para problemas sem importância.

Conclusão

A metodologia ágil em teste de software envolve o teste o mais cedo possível no ciclo de vida de desenvolvimento de software. Exige alto envolvimento do cliente e código de teste assim que estiver disponível. O código deve ser estável o suficiente para levá-lo ao teste do sistema. Testes de regressão extensivos podem ser feitos para garantir que os bugs sejam corrigidos e testados. Principalmente, a comunicação entre as equipes torna o teste ágil de modelos um sucesso !!!