Automação de testes consistem em automatizar todo o processo de QA da sua empresa, gerando muita assertividade na entrega de suas funcionalidades.
Mas você já sabe disso, né? Não é atoa que está lendo esse artigo, afinal você passa grande parte do seu tempo corrigindo bugs ou apagando incêndios que surgem a todo momento.
Calma, isso tem solução, nesse artigo vou te explicar alguns dos benefícios de adotar a automação de testes na sua empresa, e claro, como começar a implementá-la. Bora lá?
Benefícios da automação de testes
Redução de tempo e custo
O grande erro da maioria dos gestores é acreditar que o tempo tomada para escrita e automação de testes é um custo.
Na ansia por finalizar logo um produto, boa parte deles acaba nem considerando o desenvolvimento dos testes ou acabam cortando quando o prazo do projeto aperta.
Porém como a grande maioria sabe, eles estão redondamente enganados.
Escrever testes não só reduz o custo de implementação de uma funcionalidade como reduz todo o custo de desenvolvimento de software.
Vou exemplificar com uma ideia simples:
Exemplo A
Imagine que você escreve uma funcionalidade sem pensar nos testes e demora 20 horas. Porém, essa mesma funcionalidade retorna 3 bugs, que demoram, em média, 5 horas para serem resolvidos.
No final, você vai ter gasto um total de 35 horas no desenvolvimento dessa funcionalidade.
Exemplo B
Agora você vai desenvolver a mesma funcionalidade, porém, pensando nos testes e demora cerca de 50% a mais do que no exemplo anterior, ou seja, ainda assim, você vai gastar 30 horas, 5 a menos do que com todas aquelas idas e vindas do exemplo anterior.
Se colocarmos na balança só a questão de de tempo vale a pena, mas é importante colocarmos na balança questões como confiabilidade do código escrito, menor dor de cabeça pro desenvolvedor entre outros fatores.
Real implementação de metodologias ágeis
Já falamos aqui, muitas empresas tem a falsa sensação da utilização de metodologias ágeis, mas poucas delas aplicam de fato uma gestão ágil.
Muito por conta da não implementação de processos que realmente agilizam o desenvolvimento de software. E, um dos principais deles é a automação de testes.
Afinal, como você vai conseguir ter entregas contínuas, velocidade de testes e flexibilidade se não confia no código que está em produção. Ou precisa passar por uma porrada de pessoas antes de fazer qualquer release.
Por isso, com a automatização dos seus testes, vai dar um grande passo para de de fato, implementar uma metodologia realmente ágil.
Maior qualidade nas entregas
E por e mais óbvio de todos, um software de qualidade é feito na base da confiança, e para isso, é necessário ter uma automatização de testes. Como todos sabemos, pessoas erram, e confiar nelas é deixar o seu processo falho.
E quando digo qualidade não digo só de código, afinal, com esse peso fora das costas dos desenvolvedores, eles podem focar produzir em realmente um bom código, pensando em perfomance e no usuário.
Como começar com a automação de testes na sua empresa
Tá, tudo isso é muito lindo, mas como convencer a sua equipe a adotar a automatização de testes na sua empresa?
Primeiro passo, copia o link desse artigo e manda pra eles, com isso, eles vão entender os benefícios de se implementar uma cultura como essa. (Além de ajudar a divulgar o nosso trabalho ?)
Depois de entendido que é necessário a automação, o conselho que dou é não querer mudar tudo de uma vez.
Na ansiedade de melhorar tudo, acabamos piorando tudo de vez, pois se você tem um software suficientemente grande, vai ser impossível cobrir todo o código com testes (aliás, nem precisa), fazendo seu time desistir no meio do caminho.
Por isso escolha as funcionalidades principais, as que mais geram valor para o usuário, duas para começar, e comece a escrever algum tipo de teste.
O tipo de teste varia, pois dependendo da idade do código, é muito provável que ele seja altamente acoplado, dificuldade e muito a escrita de um teste unitário por exemplo.
Nesse caso, tente um teste de integração ou end-to-end.
Outra alternativa legal é começar a escrever os testes conforme voltam os bugs, assim você consegue ser progressivo e talvez nem precise de alguma aprovação da diretoria para começar.
Independente de qualquer abordagem, o mais importante é você entender que adotar uma cultura de testes não é uma tarefa trivial, o mais importante é a resiliência.