A primeira regra de qualquer tecnologia utilizada nos negócios é que a automação aplicada a uma operação eficiente aumentará a eficiência. A segunda é que a automação aplicada a uma operação ineficiente aumentará a ineficiência.
Bill Gates
O tempo é um insumo muito precioso que é necessário para desenvolver e manter qualquer produto. Ele em geral está entre as nossas considerações quando pedimos uma refeição para entregar em casa ou na aquisição de uma mercadoria qualquer em um e-commerce. Também é uma das variáveis da satisfação do cliente, e não seria diferente ao desenvolver e testar software. Eu nunca fui desenvolvedor, porém posso entender quem gastou horas do seu dia testando manualmente uma funcionalidade por inúmeras vezes e hoje busca automação desse processo para otimizar as entregas.
No entanto, ainda há muitos mitos e verdades em torno desse tema, que representa um mercado global bilionário, estimado em 14,5 bilhões de dólares em 2020 que, segundo o último relatório da Research and Markets, deverá alcançar 43,2 bilhões de dólares até 2027. A previsão de crescimento anual de quase 17% é uma consequência direta do impacto positivo da pandemia da covid-19 no setor de tecnologia.
O ponto aqui é, será que toda e qualquer empresa desenvolvedora de tecnologia precisa automatizar? Para tirar algumas dúvidas, resolvi resumir aqui respondendo essas questões:
Qualquer pessoa da equipe pode conduzir testes de automação.
Na verdade, há profissionais especializados em automação de testes para desenvolver essa tarefa crítica. Aqui mesmo na inmetrics tem cerca de 120 pessoas neste momento enquanto escrevo este artigo, o que significa que as empresas estão investindo muito em automação.
Aquisição de ferramentas de automação de testes pode se dar a qualquer momento.
Assim como antes de correr é preciso aprender a andar, a adoção de ferramentas de automação de testes requer um grau mínimo de maturidade no processo. O momento certo é quando já existe uma massa crítica, profissionais minimamente qualificados e/ou parceiros qualificados com os perfis adequados.
A utilização de ferramentas de comparação aproxima o resultado final ao desejado.
A automação segue uma série de regras e ter ferramentas que permitem gerar relatórios e configurar funções de controle para cada teste realizado possibilita que mais erros sejam mais facilmente detectados para serem corrigidos e alcançar o resultado esperado.
A automação de teste pode e deve ser aplicada para todas as aplicações.
É preferível manter manuais as validações consideradas mais subjetivas, complexas e com muitas interações entre sistemas. Os custos também devem ser considerados. Muitas vezes, a automação pode demorar mais que o tempo de desenvolvimento do projeto.
Por último, é preciso esclarecer que as ferramentas de automação não são perfeitas e estão sujeitas a defeitos e a automação de testes deve evoluir na mesma medida que os softwares testados evoluem. Por isso, é importante entender qual das ferramentas disponíveis no mercado oferece a melhor resposta para o momento atual e também para acompanhar a evolução tecnológica de acordo com a fase da empresa, com precisão, previsibilidade e estabilidade. Concluo assim salientando que nem tudo é necessário ou passível de automação e esta decisão é um ponto de partida importante para otimizar toda a estratégia de automatização.
Artigo publicado originalmente no linkedin.