Caixa Mágica Team ·
A maioria das equipas que começa a usar testes com IA começa pelo mesmo sítio: pede à ferramenta que gere mais testes. A cobertura sobe depressa. Algumas semanas depois, a equipa percebe que tem o dobro dos scripts para manter.
Gerar testes é a tarefa que as demonstrações mostram melhor. Raramente é a que mais tempo poupa. Numa equipa de QA com uma suíte em produção, o tempo vai sobretudo para manter o que já existe, para separar falhas reais de falhas do próprio script e para explicar a quem decide o que foi testado.
Este artigo propõe uma ordem de adoção. Começa nas tarefas onde a IA reduz trabalho sem acrescentar risco e deixa para o fim as que dependem de critério humano.
Porque é que gerar testes não deve ser o primeiro passo?
Porque mais testes não significam mais defeitos encontrados. Os testes gerados a partir do código tendem a confirmar o que o código já faz, incluindo os seus erros. Os testes gerados a partir de requisitos são mais úteis, mas só se os requisitos estiverem escritos com rigor suficiente para isso.
Há ainda um custo que aparece mais tarde. Cada teste novo é um teste a manter. Uma suíte que duplica de tamanho sem mecanismo de manutenção fica mais lenta, falha mais vezes por razões que nada têm a ver com a aplicação e perde a confiança da equipa. Analisámos este problema em detalhe no nosso artigo sobre geração de casos de teste com IA.
Por onde começar com testes com IA?
Pela ordem em que o risco é menor e o ganho é mais fácil de medir.
-
1Regressão sobre requisitos estáveis. Escolha uma área da aplicação que muda pouco e tem requisitos claros no Jira, no ALM ou no Confluence. Gere os testes de regressão a partir desses requisitos e compare-os com os que a equipa já tem. O resultado é fácil de validar porque a equipa conhece bem o comportamento esperado.
-
2Manutenção dos scripts existentes. Quando um seletor muda ou um campo é renomeado, a ferramenta propõe a correção. A pessoa aprova ou rejeita. É aqui que se recupera a maior parte do tempo, porque é o trabalho mais repetitivo da semana.
-
3Triagem de falhas. Separar falhas da aplicação de falhas do script e agrupar as que têm a mesma causa. Uma execução noturna com quarenta falhas que se resumem a três problemas reais deixa de consumir a manhã inteira.
-
4Cobertura e lacunas. Com a suíte estável, a IA compara requisitos com testes e mostra o que não está coberto, o que está duplicado e o que já não corresponde a nenhum requisito.
-
5Novos cenários a partir de requisitos novos. Só agora a geração em escala faz sentido. A equipa já tem um processo de manutenção, já confia na triagem e sabe ler os resultados.
O que deve continuar nas mãos da equipa?
Nem tudo o que pode ser automatizado deve ser. Esta tabela resume onde estamos hoje, com base no trabalho com equipas de QA em setores regulados.
| Tarefa | Automatizar com IA | Porquê |
|---|---|---|
| Regressão | Sim, primeiro | Comportamento conhecido, resultado fácil de validar, ganho imediato em tempo. |
| Manutenção de scripts | Sim, com aprovação | Trabalho repetitivo. A aprovação humana evita que uma regressão real seja corrigida como se fosse um seletor partido. |
| Triagem de falhas | Sim | A classificação pode ser revista em segundos. O erro é barato e o ganho é diário. |
| Testes exploratórios | Não | Dependem de curiosidade e de conhecimento do negócio. São onde aparecem os defeitos que ninguém previu. |
| Estratégia de testes | Não | Decidir o que testar, com que profundidade e com que risco aceitável é uma decisão de gestão. |
| Aceitação com o negócio | Em parte | A IA prepara cenários e evidência. A validação final pertence a quem conhece o processo. |
Self-healing: o que corrige e o que esconde
O self-healing é a capacidade de um script se corrigir quando a interface muda. É útil e é também a funcionalidade que mais cuidado exige.
- Corrige bem as mudanças de forma. Um botão que mudou de identificador, um campo que passou para outro sítio da página, um texto alterado. São falhas do script e a correção automática poupa trabalho real.
- Pode esconder mudanças de comportamento. Se um botão desapareceu porque uma funcionalidade foi removida por engano, o script que procura um botão parecido e continua não está a corrigir nada. Está a esconder um defeito.
- Precisa de um limite claro. As correções de seletores podem ser propostas automaticamente. As que alteram o fluxo do teste ou o resultado esperado devem exigir revisão.
- Tem de ficar registado. Cada correção automática deve aparecer no histórico do teste. Uma suíte que se altera sozinha sem registo deixa de ser evidência de qualidade.
Como medir se está a funcionar?
Os números que os fornecedores mostram, como testes gerados ou cobertura alcançada, medem atividade. Para saber se a equipa ganhou tempo e qualidade, meça outra coisa.
Registe os quatro valores antes de começar. Sem linha de base, qualquer melhoria é uma opinião.
Explicámos o que muda na forma de trabalhar de uma equipa neste artigo sobre testes assistidos por IA. Para montar um piloto com um critério de sucesso claro, veja o nosso guia sobre como fazer um piloto de automação de QA em oito semanas.
Como preparar os requisitos para testes com IA?
A qualidade dos testes gerados depende da qualidade dos requisitos. Um requisito vago produz um teste vago, que passa sempre e não prova nada. Antes de ligar qualquer ferramenta, vale a pena rever a área escolhida para o primeiro passo.
- Cada requisito tem um identificador único. É o que permite ligar o requisito ao teste, à execução e ao resultado. Sem identificador, a rastreabilidade perde-se no primeiro ciclo.
- Os critérios de aceitação estão escritos. O que tem de acontecer para o requisito estar cumprido, em frases verificáveis. Por exemplo: o utilizador recebe uma mensagem de erro quando o IBAN tem menos de 25 caracteres.
- Há exemplos concretos. Valores de entrada e resultados esperados. Os exemplos ajudam a IA a gerar casos de fronteira em vez de repetir o caso mais óbvio.
- A linguagem é consistente. O mesmo conceito com o mesmo nome em todos os requisitos. Cliente, utilizador e titular não são sinónimos para uma máquina.
- Os requisitos obsoletos estão marcados. Um requisito que já não se aplica gera testes que falham por boas razões e consomem tempo de análise.
Esta revisão tem valor mesmo sem IA. Equipas que a fazem antes de um piloto descobrem muitas vezes lacunas que explicavam defeitos antigos.
Como encaixam os testes com IA no processo que a equipa já usa?
Uma ferramenta de testes com IA não deve obrigar a equipa a mudar de processo. Deve entrar no que já existe.
Se uma ferramenta exige um formato próprio de testes ou um ambiente de execução fechado, a equipa fica dependente dela. Escolha uma que produza código que a equipa consiga manter sozinha.
Que riscos têm os testes com IA e como se reduzem?
- Testes que confirmam o erro. Se a IA gera testes a partir do comportamento atual da aplicação, um defeito passa a ser o resultado esperado. Gere a partir dos requisitos, não do código.
- Asserções fracas. Um teste que só verifica que a página carregou não testa a regra de negócio. Reveja as asserções nos primeiros ciclos, até a equipa confiar no padrão.
- Dados sensíveis nos pedidos. Requisitos e dados de teste podem conter informação de clientes. Em setores regulados, a implementação on-premise ou em cloud privada evita que essa informação saia do perímetro.
- Confiança excessiva. Uma suíte que cresce sozinha dá uma falsa sensação de cobertura. A métrica que importa continua a ser os defeitos escapados.
Nenhum destes riscos é razão para evitar os testes com IA. Cada um é uma razão para manter uma pessoa no processo e medir a coisa certa desde o primeiro sprint.
O que dizer à equipa antes de começar?
A adoção de testes com IA corre melhor quando a equipa percebe desde o primeiro dia o que muda no seu trabalho. A dúvida mais comum não é técnica. É saber se a ferramenta vem substituir pessoas.
- O que a IA faz. Propõe testes, correções e classificações de falhas. Não aprova nada sozinha.
- O que a equipa decide. O que entra na suíte, o que se testa primeiro e quando um resultado é aceitável.
- Como se mede o sucesso. Com as quatro métricas acima, partilhadas com a equipa desde a linha de base.
- Para onde vai o tempo poupado. Para testes exploratórios, cenários complexos e estratégia, que são o trabalho que a equipa raramente tem tempo de fazer.
Dizer isto com clareza no início evita resistências mais tarde. As equipas que veem a ferramenta como um colega que trata do trabalho repetitivo usam a fila de revisão. As que a veem como uma ameaça ignoram-na.