Já parou para pensar na importância de fazer testes automatizados nos seus projetos?
Ter a prática de fazer testes pode ser extremamente útil, desde a validação de possibilidades, prever problemas para a experiência do cliente e até mesmo influenciar na tomada de decisões importantes.
A Resolvvi uniu direito e tecnologia para desburocratizar a maneira que você busca
Quer saber sobre a importância dos testes na entrega de valor para a Resolvvi? É só acompanhar a leitura.
Não é de hoje que sabemos que, ao construir algo para alguém, estamos buscando entregar valor e ajudar a facilitar algum processo.
Por exemplo, como é negativo entregar uma solução e ela não funciona para quem vai usufruir dela.
Sem dúvidas, isso pode gerar prejuízos, tanto para quem construiu a solução e para quem usufrui dela. E é nesse ponto que os testes entram em ação!
Imagine o que aconteceria se não houvessem vários testes em um avião antes de ele estar pronto para uso comercial? Na verdade, são feitos testes de flexibilidade das asas, pássaros acertando turbinas, infiltração de água, temperatura, altitude, etc.
Já tentou trocar o pneu de uma moto em movimento? No mínimo radical, né?
Mas não é toda solução que aceita ser assim, radical! Principalmente quando estamos tratando dados sensíveis e casos que envolvem acontecimentos importantes na vida de outras pessoas.
Com isso em mente, precisamos ter testes confiáveis e que possam ser executados rapidamente, evitando custos extras.
No final das contas, é isso que os testes automatizados tentam proporcionar: testes rápidos, confiáveis e reutilizáveis.
Claro que testes automatizados não são a bala de prata, ou seja, a solução mais simples, quando ainda estamos desenvolvendo uma pequena parte da solução com intuito de validá-la e nos adaptar.
Podemos sim fazer alguns testes manualmente, pois possíveis alterações são simples e rápidas de lidar.
Um exemplo disso, nesse vídeo, Bill Gross, fundador da Idealab, elencou 5 fatores que definem o sucesso de mais de 200 companhias.
E o tempo é esse principal fator.
Testar quando a gente começa um projeto é bem demorado e caro, então, buscando ganhar tempo, podemos ir tranquilamente sem fazer testes automatizados.
Sim, você puder começar já com o hábito de testes, pois você tem bastante tempo pra aplicar, será excelente.
O problema real nasce quando você permanece sem testar mesmo após isso, pois vai se tornando uma bola de neve e só piorando ao longo do tempo.
No gráfico acima, podemos exemplificar isso.
Normalmente, no início, nossos testes manuais são muito bons, pois são rápidos e baratos de fazer.
No entanto, com o passar do tempo, manter testes manuais pode custar caro.
Isso acontece porque, em muitos, alterações são necessárias, podendo afetar todo o teste.
Já com os testes automatizados, você pode fazer uma alteração e, depois, executar automaticamente os testes para garantir que nada que foi produzido antes acabou sendo perdido.
Quando desenvolvemos soluções sem testes, nós temos um crescimento de custos de desenvolvimento aumentado em uma escala exponencial.
Quanto mais funcionalidades, mais difícil é de manter e melhorar a solução, demandando mais pessoas e mais tempo para cada pequena alteração ser concluída.
As preocupações passam a ser somente com resolução de pequenos problemas e melhorias em algumas partes da aplicação.
Mesmo com o aumento do investimento, com novos membros no projeto, a quantidade de funcionalidade começa a se estagnar, evidenciando que está ocorrendo um gasto grande para poucas novas entregas.
E existe ainda um fator crucial: a queda constante de produtividade dos membros. A partir disso, teremos total noção que o projeto está indo por água abaixo.
Com todas essas informações em mente, você pode estar se perguntando: o que posso testar?
Testes n entregar valor: o que testar?
Uma coisa que muitas vezes impede a rotina de testes começar é a dúvida: o que testar?
Bom, isso depende muito da situação em que você está.
Cabe a cada time de desenvolvimento analisar a situação do projeto e definir os tipos de testes que devem ser foco inicial.
Se você não sabe, existem sim tipos de testes com características específicas. Quer saber quais? Acompanhe.
- Testes unitários: esse é o mais simples e mais barato de fazer, pois você faz o teste somente um pequeno trecho de código da forma mais isolada que der. São inúmeros pequenos testes que juntos garantem a funcionalidade total;
- Testes integrados: esse é um tipo de teste que exige mais esforço, porém considera diversos módulos da aplicação e como eles funcionam em conjunto;
- Testes de UI: esse é um bem mais específico e envolve testar as interações visuais do usuário com a aplicação;
- End-to-end: Esses são os testes mais custosos, pois tentam o fluxo inteiro da aplicação, como forma de simular o usuário interagindo com toda a aplicação, cobrindo até mesmo conexões com aplicações externas.
É muito importante estar sempre atento ao desenvolvimento e fortificação da cultura de testes, principalmente os automatizados, dentro da empresa, pois traz inúmeras vantagens a longo e curto prazo.
Isso também está muito ligado ao nível de qualidade de uma solução, é sempre bom estar ciente e confiar que aquilo que você entrega para os interessados em sua solução esteja funcionando como esperado.
Bruno é o fundador e CEO da Resolvvi, uma empresa inovadora no setor de resolução de conflitos. Com uma visão empreendedora e paixão por encontrar soluções eficazes, tem experiência e conhecimento em direito e tecnologia.