Automatizar tudo? Não podemos priorizar?

Rodrigo Barreto
Revista DTAR
Published in
4 min readNov 3, 2020
Automation image designed by Freepik.

Atualmente alguns QA´s e Dev’s são pressionados e indagados — Por que não conseguem automatizar 100% das funcionalidades com os testes automatizados durante uma Sprint? Mas será que isso é de fato realmente necessário?

Gasta-se muito tempo e recursos para obter-se tal quantidade de testes automatizados. Além disso, podemos nos dar ao luxo de atrasarmos uma Sprint? Será que não existe uma maneira adequada de priorizar os testes a serem automatizados?

Para automação de testes, por exemplo de API’s, possuímos uma variedade imensa de testes que podemos realizar: são testes de contrato, funcionais, de parâmetros, de content-type, destrutivos, de operações, status code, performance, segurança e por aí vai…

Porém, mesmo que fosse factível atingir essa quantidade de cobertura de testes, podemos acabar tendo que lidar com um possível e elevado tempo nas execuções, por mais rápido que sejam. Esse tempo maior pode influenciar também no planejamento da Sprint do time e impactar recursos da empresa em tempo de execução, e é claro, na manutenibilidade dos scripts automatizados.

Alguns QA’s se baseiam no ditado que diz: “É melhor errar para mais do que para menos”, mas será que não está faltando uma análise mais aprofundada em relação aos testes? Ou uma priorização com com base no negócio da empresa? Afinal, por que essa necessidade tão grande de cobertura máxima? Devemos mesmo automatizar tudo?

São muitos questionamentos que em determinado momento pode até soar como uma desconfiança do trabalho do QA, mas não é.

Priority image designed by Freepik.

Será necessário realmente automatizar tudo em uma Sprint?

Na verdade, é necessário sempre termos a maior cobertura possível de testes automatizados durante a Sprint. Entretanto, dependendo do tamanho da entrega da Sprint esses testes devem ser priorizados, pois podemos correr o risco de termos pouco tempo para automatizarmos todos os cenários identificados, podendo impactar na entrega do time.

Normalmente, antes de automatizar os cenários, inevitavelmente temos de realizar o teste manual, para poder entender como criar o script automatizado e ver como o sistema se comporta, e deste modo já poderíamos “passar” os testes se eles estiverem “ok”.

Em determinadas empresas devido ao risco, impacto no negócio e o receio de se gerar um prejuízo grande, stakeholder’s e PO’s salientam essa grande preocupação, e acabam se fiando em uma diretriz de que os QA’s devem de fato automatizar “TUDO”.

All image designed by Freepik.

Será que não temos como priorizar esses testes?

Se tivermos uma priorização podemos ser mais assertivos com relação aos problemas que podem impactar financeiramente a empresa. Ela proporciona uma melhor transparência, foco e comprometimento do time e do solicitante da demanda.

A priorização acaba direcionando o time para focar no que realmente importa para a entrega. Esse processo de priorização mostra para o time e para os stakeholder’s o que cada pessoa, como indíviduo, tem da visão do negócio, compartilhando com todos quais as suas reais preocupações.

Uma das técnicas que pode ser utilizada para essa priorização é a técnica de Testes Baseados em Riscos. Segundo Gabs Santos , que explica no post “Testes Baseados em Riscos”, esta é uma abordagem importante para prever e mitigar inconsistências na aplicação, ajudando a priorizar os esforços em partes críticas do sistema.

Na empresa onde trabalho, costumamos aplicar essa técnica durante o refinamento do plano de homologação para os testes manuais. Essa priorização, mesmo aplicada no processo de testes tradicional, trouxe um feedback muito positivo das áreas técnicas e de negócio. Isso possibilitou que a equipe se mantivesse focada no que deve ter esforço mais aplicado.

Através dos fatores de riscos dados aos cenários conseguimos passar um status mais transparente para empresa com relação aos testes.

All image designed by Functionize.

Conclusão

Antes de sair construindo scripts e robôs “a la vontê” é melhor estudar a melhor forma de organizar os seus testes, compartilhando e descobrindo junto dos demais envolvidos no projeto o que deve ser priorizado.

Você pode aplicar outras técnicas para essa priorização, mas você deve analisar antes o comportamento, forma de trabalho do seu time e de sua empresa. Pois através de um bom planejamento você terá certamente ótimos resultados no final.

Este Post escrevi em conjunto com meu amigo, colega de profissão e inteligentíssimo Adriano Saádeh. Uma parceria que está rendendo grandes frutos, gratidão meu amigo.

--

--

Rodrigo Barreto
Revista DTAR

QA, coach em IE, Practitioner em PNL sistêmico, apaixonado por livros