A análise de resultados de testes automatizados é uma parte muito importante e desafiadora das atividades de teste. A qualquer momento, devemos ser capazes de informar o estado do nosso produto de acordo com os resultados dos testes automatizados, disse Maroš Kutschy no QA Challenge Accepted. Ele apresentou como a inteligência artificial os ajuda a economizar tempo gasto na análise, reduzir erros humanos e focar em novas falhas.
Kutschy mencionou que enfrentaram desafios com a análise dos resultados de testes automatizados e estavam procurando uma maneira de tornar a análise mais eficaz e menos propensa a erros humanos:
Se você tem cerca de 4000 cenários de teste rodando todas as noites e cerca de 5% deles estão falhando, você precisa analisar cerca de 200 falhas a cada dia.
Eles introduziram a ferramenta ReportPortal que usa inteligência artificial para analisar resultados de testes automatizados. Esta ferramenta pode ser instalada gratuitamente como uma solução local, como explicou Kutschy:
Eu sou o administrador, fiz a prova de conceito e a integração e resolvi quaisquer problemas. Colegas testadores que trabalham em equipes de recursos a utilizam diariamente.
Os testadores fazem login no ReportPortal, encontram os resultados do trabalho pelo qual são responsáveis e veem quantas falhas estão no status “Para Investigar”, disse Kutschy. As falhas que existiam no dia anterior (que foram analisadas anteriormente) já estão categorizadas pelo ReportPortal. Para as falhas no status “Para Investigar”, eles precisam fazer uma rodada padrão de análise, que significa depurar os testes e encontrar a causa raiz da falha:
O ReportPortal mostra a saída da análise; você pode ver quantos cenários falharam devido a bugs do produto, bugs de automação, problemas de ambiente e quantas falhas ainda estão no status “Para Investigar”.
Quando você começa a usar a ferramenta, ela não sabe nada sobre as falhas, disse Kutschy. Os testadores precisam decidir se a falha é um bug do produto, um bug de automação ou um problema ambiental. Na próxima vez que a mesma falha chegar ao sistema, o status correto será atribuído à falha de acordo com as decisões anteriores, usando inteligência artificial.
Kutschy mencionou que os painéis que representam os resultados da análise fornecem uma visão de alto nível dos testes e do estado da aplicação. A visibilidade do estado da análise é em tempo real, você vê quem está trabalhando em qual falha. Isso ajuda a decidir se é possível liberar a aplicação ou não.
Com a ferramenta, eles economizam tempo gasto na análise, pois olham apenas para novas falhas, não para todas as falhas, como explicou Kutschy:
A diferença é que se você tem 100 falhas hoje e apenas 2 delas são novas, você só precisa olhar para 2 falhas. Se você não estiver usando a ferramenta, precisará olhar para 100 falhas, mencionou Kutschy.
Há também menos erros humanos, pois a ferramenta faz a triagem de falhas antigas para você com base nas decisões anteriores feitas por você. Isso ajuda a focar a atenção em novas falhas, disse Kutschy.
A inteligência artificial tomará decisões erradas se os humanos a treinarem com dados incorretos, disse Kutschy. Se você for um mau professor, seu aluno (ReportPortal) terá um desempenho ruim:
Houve situações em que um dos colegas vinculou uma falha a um ticket Jira incorreto ou atribuiu um status incorreto à falha.
Você pode “desaprender” mudando a decisão manualmente, mencionou Kutschy.
Se você usar a inteligência artificial corretamente, ela pode economizar muito tempo e reduzir erros humanos, disse Kutschy. Uma vez que você verifique que está funcionando corretamente, pode confiar nela em vez de você e seus colegas terem que triagem as falhas.
InfoQ entrevistou Maroš Kutschy sobre o uso de inteligência artificial para a análise de testes automatizados.
InfoQ: Quais desafios você enfrentou ao longo do caminho e como lidou com eles?
Maroš Kutschy: Começamos fazendo uma prova de conceito que confirmou que poderíamos integrar a ferramenta em nosso framework de automação de testes.
O desafio então foi fazer com que os colegas seguissem o novo processo de análise de resultados de testes usando o ReportPortal. Inicialmente, eles precisavam categorizar todas as falhas existentes, o que significava atribuir a elas o status correto (problema de automação, bug do produto, problema ambiental) e ticket Jira.
Fizemos um período de teste para uso em equipes selecionadas e depois todas as equipes começaram a usá-lo. O feedback do período de teste foi positivo e os testadores se sentiram bem com isso, pois estava ajudando-os na investigação.
InfoQ: O que você aprendeu?
Kutschy: Você precisa verificar se pode confiar na inteligência artificial antes de começar a depender dela.
Precisávamos ter certeza de que o ReportPortal estava tomando as decisões corretas. A decisão dependia de como lidávamos com as pilhas de rastreamento em nosso framework de automação de testes e as configurações do ReportPortal. No caso em que não funcionou como esperado, tentamos ajustar as configurações do ReportPortal.
A maioria das discussões é sobre o uso de inteligência artificial para criar código de automação de testes, mas aprendemos que a análise de resultados de testes automatizados também é uma área muito adequada. Podemos usar inteligência artificial (incluindo inteligência artificial generativa) para muitos casos de uso em testes.