Como começar com automação?
Começar de forma simples e gradual é fundamental ao desenvolver qualquer software ou estrutura de desenvolvimento, especialmente para criar uma infraestrutura de automação de testes. Existe uma dúvida comum sobre onde a equipe de automação deve estar: com o time de Desenvolvimento ou com o de Gestão de Produto? Essa incerteza de identidade costuma ser a raiz de muitos problemas, criando uma “crise de identidade” sobre a real função da equipe.
Se o objetivo é garantir a qualidade do produto final, então o foco não deve ser onde a automação se encaixa, mas sim na velocidade e eficiência dos testes, acompanhando o ritmo do desenvolvimento e da gestão de produto. A automação precisa ser simples para permitir contribuições de qualquer pessoa, mas ao mesmo tempo flexível e robusta o suficiente para lidar com diferentes cenários.
Baby Steps
Enquanto cria seu primeiro script de teste ou o milésimo, sempre mantenha esses passos em mente: seu objetivo deve ser escrever um script que possa ser executado a qualquer momento, em qualquer lugar e em qualquer infraestrutura. Isso realmente ajuda a criar um script de teste robusto, que pode ser executado constantemente e garantir que a aplicação em teste (AUT) esteja funcionando bem.
Seu script de teste deve começar em um estado ou local conhecido, em um ponto que você sabe que não falhará, caso contrário, você acabará executando testes incorretos ou que demoram muito para serem executados. Se você sabe que o primeiro passo foi realizado, então seu ponto de teste deve ser um ponto muito específico, e cada etapa do teste deve realizar apenas uma ação de cada vez. Finalmente, é sempre uma boa prática fazer uma limpeza e terminar em um estado conhecido, onde você saiba que o teste deve parar, para que o próximo teste possa começar.
Por exemplo, se sua aplicação possui uma página de login ou de cadastro, quando seu caso de teste não está relacionado a testar o login ou o cadastro, sempre crie scripts de automação separados para esses passos, de forma que eles nunca falhem, como usando APIs da aplicação e/ou definindo cookies predefinidos, e sempre feche o navegador ou aplicativo móvel após cada execução; dessa forma, seus testes sempre serão executados de forma isolada e independente uns dos outros.
Use automação para ajudar com automação
Esses pequenos passos ajudaram a escalar de 0 testes automatizados para cerca de 200 para Web, mais de 1000 testes para Android e iOS cada, e cerca de 2000 testes para APIs em menos de um ano!