Artigo Engenharia de Software 4 - Verificação, Validação e Testes

Artigo da Revista Engenharia de Software edição 4.

Esse artigo faz parte da revista Engenharia de Software 4 edição especial. Clique aqui para ler todos os artigos desta edição

Verificação, Validação e Testes

Introdução à Automação de Testes

 

Segundo Cem Kaner, autor do livro "Lessons Learned in Software Testing", o propósito da automação de testes pode ser resumidamente descrito como a aplicação de estratégias e ferramentas tendo em vista a redução do envolvimento humano em atividades manuais repetitivas.

A automação possibilita a execução de testes regressivos com maior amplitude e profundidade. Teste regressivo ou teste de regressão é o termo utilizado para o ciclo de re-teste de uma ou mais funcionalidades, a fim de identificar defeitos introduzidos por novas funcionalidades ou correção de defeitos.

A cada novo ciclo de teste, o time de testes normalmente executa os testes das novas funcionalidades e os testes regressivos das demais funcionalidades. Dessa forma, é possível encontrar algum efeito colateral ou instabilidade introduzida pela nova funcionalidade. O grande problema ocorre quando em um estágio avançado do desenvolvimento, gasta-se mais tempo executando testes regressivos do que testando as novas funcionalidades.

Uma abordagem de testes baseada puramente em testes manuais, normalmente não consegue acompanhar as demandas e o volume de testes ao longo do ciclo de vida de desenvolvimento de software. Freqüentemente o produto é liberado sem que tenha sido completamente testado em virtude de restrições de tempo.

A automação de testes quando utilizada corretamente permite a execução ininterrupta de testes regressivos a qualquer hora do dia ou da noite. A execução de testes automatizados é sempre mais rápida do que os testes manuais e menos suscetível a erros.

A decisão de usar uma abordagem de testes baseada em testes automatizados está em franca expansão na atualidade. Uma pesquisa realizada em 2006 pelo Forrester Research Inc, revela que 9% das empresas entrevistadas (empresas do Estados Unidos e Europa) utilizam testes automatizados em todos os esforços de testes e 39% das empresas responderam que utilizam testes automatizados em alguns esforços de testes (Figura 1).

 

Figura 1. Avaliando Soluções de Testes Funcionais - The Forrester Wave™ Q2 2006.

 

Nas seções a seguir serão apresentados os principais paradigmas e tipos de testes automatizados, assim como, a comparação das vantagens e desvantagens de cada um deles.

Paradigmas de automação de testes

Existem várias abordagens para a automação de testes. No entanto, neste artigo serão apresentados apenas os paradigmas mais importantes da atualidade. Além disso, o foco deste artigo é automação de testes funcionais, dessa forma, não serão apresentados ou discutidos os testes unitários (Unit Tests) e automação de testes de desempenho (Performance Testing).

Os tipos de automação são normalmente agrupados de acordo com a forma como os testes automatizados interagem com a aplicação. Em geral, os tipos de automação são agrupados em dois paradigmas (mas não são limitados a esses):

 

Baseados na Interface Gráfica

Nesta abordagem os testes automatizados interagem diretamente com a interface gráfica da aplicação simulando um usuário. Normalmente as ações dos usuários são gravadas (Capture) por meio da ferramenta de testes automatizados. A ferramenta transforma as ações dos usuários em um script que pode ser reproduzido (Playback) posteriormente.

Vantagens: Não requer modificações na aplicação para criar os testes automatizados. Também não é necessário tornar a aplicação mais fácil de testar (testabilidade) porque os testes se baseiam na mesma interface utilizada pelos usuários.

Desvantagens: Existe uma forte dependência da estabilidade da interface gráfica. Se a interface gráfica mudar, os testes falham. Baixo desempenho para testes automatizados que exigem centenas de milhares de repetições, testes de funcionalidades que realizam cálculos complexos, integração entre sistemas diferentes e assim por diante." [...] continue lendo...

Artigos relacionados