Entregar softwares com qualidade e em menor tempo é o objetivo das empresas competitivas. Para maior qualidade, é necessário investimento em Quality Assurance, assim o produto tem um maior valor agregado, e consequentemente maior destaque no mercado.
Testes automatizados, garantem entregas mais rápidas e seguras. Assim, quanto maior a cobertura dos testes realizados, maior a garantia dos cenários validados, menor a quantidade de erros encontrados pelos usuários finais e maior a satisfação do cliente.
A automatização não é feita para substituir os testes manuais e ambos se complementam, pois enquanto testes documentados são executados automaticamente, o Analista de Testes ganha mais tempo para explorar e validar outros requisitos importantes para a qualidade do sistema.
Por que automatizar?
- Automatizar testes manuais reduz o trabalho repetitivo, eliminando a sensação de retrabalho.
- Casos de testes já validados em versões anteriores podem sofrer impacto com alguma alteração feita no sistema.
- Testes automáticos garantem a cobertura das funcionalidades previamente validadas.
- Testes automáticos são testes documentados e podem ser utilizados para conhecer regras do sistema ou mesmo para visualizar quais casos e cenários de teste já estão cobertos e que não precisam ser refeitos manualmente.
- Resultados dos testes podem ser utilizados em relatórios para o cliente final, garantindo a cobertura das funcionalidades testadas.
- Possibilita que um conjunto maior de cenários e casos de testes sejam executados em menor tempo, facilitando e agilizando a entrega de versões do sistema.
- Disponibiliza ao testador a possibilidade de rever os cenários documentados e verificar se testes importantes são esquecidos.
- Melhora a qualidade final do produto, pois a base de testes tende a crescer, tanto em relação a quantidade de cenários cobertos quanto a qualidade dos testes executados.
- Podem ser utilizados para validar o mesmo sistema em diferentes navegadores.

Dificuldades no processo de automatização
A implantação de testes automáticos não é uma tarefa tão simples. Automatizar requer paciência, principalmente na fase inicial em que os testadores estão conhecendo o sistema, regras e aprendendo a diversidade de cenários que um sistema pode ter.
Normalmente as dificuldades encontradas pelos testadores são:
- Padronização de boas práticas para desenvolvimento dos testes, visando a manutenção e melhoria dos cenários;
- Priorização de casos e cenários de testes, pois nem sempre é possível automatizar tudo;
- Resultados dos testes são imprecisos;
- Testes quebrando facilmente, quando ocorrem mudanças rotineiras no sistema, causando manutenção frequente.

O que se deve ou não automatizar?
O que automatizar?
- Testes de regressão;
- Tarefas repetitivas;
- Funcionalidades críticas.
O que não automatizar?
- Funcionalidades poucos usadas;
- Funcionalidades que exigem inspeção visual;
- Funcionalidades novas.
Principais ferramentas utilizadas
- Selenium WebDriver
- Selenium IDE
- Sikuli
- BadBoy