Teste de aplicativos: conheça a importância desta fase
Hoje iremos entrar em um tópico muito comentado na sociedade de desenvolvedores mas muitas vezes não aplicado na prática, quase uma relação de amor e ódio.
Vamos começar com uma introdução sobre testes. Atualmente existem vários tipos de testes como por exemplo: validação, estresse (stress), regressão e por aí vai, mas a ideia do post vai ser passar um conteúdo que dê para entender o que são testes e principalmente qual a sua importância. Os testes são agrupados em dois grandes tipos: testes manuais (um ser humano que aplica) e os testes automatizados (uma máquina que aplica).
Testes manuais
Os testes manuais são feitos por seres humanos, como mencionado acima, mas como eles são feitos? Bom, uma pessoa que se qualifica/estuda essa área, tende a encontrar falhas no sistema e reportar para que seja corrigido. O teste é aplicado em cima de um caso de uso/regra de negócio. Então se um sistema tem a função de somar números (regra de negócio), o “tester ou a equipe quality assurance (garantia de qualidade)” como chamamos, irá verificar se a regra de somar números realmente está sendo aplicada. Quando tudo está certo, nada precisa ser corrigido, porém quando a regra não está sendo aplicada um relatório ou tarefa é desenvolvido para falar qual regra não está sendo aplicada e relatar como foi feito o seguinte “bug” para poder ser corrigido.
Testes automatizados
Já os testes automatizados são feitos por um robô. Explicando melhor, o robô executa os testes que desenvolvemos, porém nós desenvolvedores ou a equipe de QA precisamos escrever o teste antes, pegando o exemplo de um sistema para somar números, temos a seguinte regra/função no sistema, somar números, então focando nessa regra o teste será escrito na seguinte etapa:
- Vamos usar os valores 1 e 4;
- Vamos colocar esses valores na nossa regra de negócio, que é somar dois números;
- E por fim, vamos verificar se a soma desses dois valores é 5.
Caso a soma seja 5 então o nosso teste passou e a regra de negócio está sendo aplicada, se não for aplicada, um aviso será emitido para revermos o que aconteceu e corrigirmos. Abaixo foi escrito como seria na prática:
Quando nós escrevemos um teste automatizado, ele tem a finalidade de testar um trecho do sistema e não como um todo (desenvolvemos testes para ir cobrindo pequenas partes do sistema até ter vários testes separados testando o sistema inteiro).
Conclusão
Com base no que foi comentado, podemos chegar a uma conclusão. Haver testes em uma empresa agrega e muito o produto oferecido para o cliente, pois gera segurança no produto já que sabemos que ele irá funcionar por meio de testes manuais e automatizado. Além de agilizar o desenvolvimento para os desenvolvedores e para a equipe QA, já que muitas vezes chega um momento em que a aplicação se torna algo muito grande sendo muito trabalhoso fazer testes manuais.