A questão é que algumas pessoas não entendem que a automação não é "fácil" nem "rápida".
Não concordo com a sua premissa aqui.
Sou um grande defensor dos testes automatizados, não importa se são testes de unidade, testes de integração ou testes de interface do usuário. Existem muitas ótimas ferramentas disponíveis para implementar testes automatizados.
Vamos comparar testes automatizados e manuais com base no seguinte exemplo:
Em um aplicativo Web, teste a funcionalidade "Alterar senha" de um usuário existente usando um navegador.
Teste manual :
- Inicie o aplicativo da web
- Abra o navegador
- Porra, há um erro. Por quê? Ah, esqueci de iniciar o banco de dados!
- Ok, desligue o aplicativo da web
- Iniciar o banco de dados
- Inicie o aplicativo da web
- Atualize o navegador
- Hmm, qual era a senha do nosso usuário de teste novamente?
- Analisando o banco de dados
- Oh, a tabela de usuários está vazia! Eu tenho que criar um novo usuário.
- Registre um novo usuário no aplicativo da web: Introduzindo nome de usuário, senha, endereço de email
- Por que não consigo fazer login com meu novo usuário? Ah, preciso clicar no link de confirmação no email!
- Bem, enviei ao usuário um email como "test@example.com". Vamos para o banco de dados e defina a coluna "ativa" como "Sim".
- Conecte-se. Desta vez, funciona!
- Hmm, o que eu queria testar de novo ...?
Fácil? Na verdade não. Existem muitas armadilhas possíveis no processo.
Rápido? Não . O trabalho manual leva tempo.
Agora, vamos tentar escrever um teste automatizado :
- Precisamos encontrar ferramentas para nossa linguagem de programação para iniciar automaticamente o banco de dados e o servidor da web. Pesquisa e implementação leva tempo.
- O banco de dados precisa estar em um estado limpo quando o teste é iniciado. A criação dos scripts leva tempo.
- Precisamos escrever o teste. Como precisamos de um usuário, também precisamos registrar um novo para o nosso teste. Leva tempo.
- Finalmente, podemos escrever o que queremos testar: Alterando a senha do usuário. Com a nossa ferramenta de teste do navegador, isso é feito rapidamente, em comparação com as tarefas anteriores.
Fácil? Não! Precisávamos pesquisar as ferramentas, implementá-las, corrigir alguns erros em nossos testes.
Rápido? Não! Demora ainda mais do que fazer um teste manual.
Mas há uma grande diferença aqui: para testes futuros, você só precisa escrever o teste em si , o último item da lista - que foi feito comparável rapidamente. Todas as pesquisas e scripts de inicialização não precisam ser feitos para testes adicionais.
E depois de escrever o teste, você pode começar com facilidade. Em alguns segundos (ou talvez minutos, se o início do banco de dados e do aplicativo da web demorar muito), você verá se a rotina "Alterar senha" funciona ou não. Se houver um erro, corrija-o e execute o teste novamente - você verá imediatamente se o erro foi corrigido. Rápido e fácil .
Escrever testes automatizados não é fácil nem rápido, mas a execução é.
E este é o ponto em que o tempo investido volta.