A flexibilidade e liberdade dos testes ágeis podem agregar grande valor às metodologias ágeis – mas sua incorporação nos sprints deve ser feita com certa cautela.
A compatibilidade entre testes exploratórios e metodologias ágeis não é especialmente óbvia, o que leva muitas pessoas a acreditar que ela não existe. “Esse tipo de teste não tem documentação, e nem dá pra medir direito o progresso, por isso não combina com o Ágil”, dizem. Será que é verdade?
Não, não é. E ao longo deste artigo você vai entender por que os testes exploratórios merecem, sim, espaço nos seus sprints ágeis.
Explorar é preciso
Os testes exploratórios são aqueles em que o aprendizado sobre o sistema acontece em conjunto com o design e a execução dos testes.
Diferentemente dos testes convencionais, eles não seguem roteiros detalhados, sendo mais guiados pela intuição e experiência dos testadores do que por um conjunto fechado de casos de teste.
Essa abordagem dá maior liberdade aos profissionais de testes, que podem mudar o foco da investigação de acordo com os resultados que encontram. Também podem se adaptar rapidamente a mudanças nos requisitos ou em funcionalidades do sistema – algo que não é tão fácil de se fazer em uma abordagem “fechada” como a dos testes estruturados.
Outro benefício dos testes exploratórios que merece destaque é a possibilidade de identificar problemas com maior antecedência, já que os testadores não precisam esperar até o final de um ciclo formal de testes para entrar em ação.
Aqui, cabe ressaltar que os testes exploratórios não substituem os roteirizados: eles os complementam.
Para ter a melhor cobertura possível, é preciso usar também uma abordagem mais estruturada e planejada, que compense os possíveis erros dos testes exploratórios (como gasto excessivo de tempo, foco em aspectos pouco relevantes ao usuário e documentação insuficiente).
Dito isso, fica a pergunta: onde entra o Ágil nessa história?
A exploração ágil
Existem várias semelhanças e compatibilidades entre os testes exploratórios e as metodologias ágeis. Seus fundamentos, inclusive, têm ressonância com o Manifesto Ágil:
- Indivíduos e interações estão acima de processos e ferramentas;
- Software em funcionamento está acima de documentação detalhada;
- Colaboração com o cliente está acima de negociação de contrato;
- Responder a mudanças está acima de seguir um plano.
A natureza flexível e adaptável dos testes exploratórios faz deles instrumentos valiosos em uma abordagem ágil. Vale destacar:
- Iteração contínua: Os testes exploratórios podem ser feitos a cada sprint, à medida que novas funcionalidades são implementadas, ou conforme ocorram mudanças de prioridades;
- Feedback rápido: Quanto mais cedo o software for avaliado, mais rápido os bugs podem ser detectados, reportados e corrigidos. Essa rapidez está alinhada com os valores das metodologias ágeis;
- Colaboração entre equipes: Com uma comunicação aberta e o devido alinhamento, os testes exploratórios podem se tornar uma atividade colaborativa, em que os testadores contam com o apoio de outros membros da equipe;
- Base em critérios de aceitação: Os testes exploratórios podem ser executados com base nos critérios de aceitação acordados para cada história de usuário, colocando como prioridade a entrega de valor ao cliente.
Essa incorporação, contudo, não pode ser feita de maneira descuidada, pois há riscos e desafios envolvidos:
- Falta de documentação: Dependendo da maneira como é feita, a documentação dos testes exploratórios pode ser considerada insuficiente até mesmo por equipes ágeis, em que a rastreabilidade dos resultados é prioritária. Assim, é importante encontrar um ponto de equilíbrio nessa questão;
- Foco excessivo em atividades ad hoc: Se a natureza flexível dos testes exploratórios não for mantida sob controle, pode levar a uma falta de consistência e a cobertura inadequada, agregando menos valor ao trabalho;
- Conflito com outras atividades do sprint: Em algumas equipes ágeis, os testes exploratórios podem acabar competindo com outras atividades dentro do sprint, como o desenvolvimento de novas funcionalidades ou a correção de defeitos. Mais uma vez, o equilíbrio entre as atividades é crucial.
É importante, também, que os testadores tenham habilidade e experiência suficientes para extrair o potencial dos testes exploratórios. Isso inclui não apenas a execução propriamente dita, mas também a compatibilização com o resto da equipe e suas atividades.
Extra: A Abordagem do Estatuto
É um engano comum acreditar que testes exploratórios dispensam qualquer documentação. Registrar as atividades, ainda que de maneira menos detalhada do que nos testes convencionais, é necessário.
Mas como não exagerar nos registros?
Você pode usar a Abordagem do Estatuto (ou “charter”, na expressão original) e orientar o registro apenas de pontos cruciais:
- Os objetivos dos testes;
- As táticas a serem usadas;
- A duração das sessões;
- A lista de bugs encontrados;
- As funcionalidades testadas.
O relatório orientado pelo estatuto, somado às anotações feitas individualmente por cada testador, deve gerar uma documentação ao mesmo tempo sucinta e eficiente para se aproveitar os resultados dos testes exploratórios.
Eleve a um novo patamar o nível da execução de testes de software na sua organização: clique aqui e agende uma conversa com um especialista Prime Control.