terça-feira, 30 de novembro de 2010

Como decidir se os testes devem ser automatizados?

Antes de sair utilizando qualquer ferramenta para automatizar seus testes, é necessário analisar vários fatores que irão definir o sucesso ou não dos seus testes. Algumas ferramentas podem não ser suficientes para representar todos os seus testes, neste caso não faz sentido utilizá-las.


Além disso, o software a ser testado pode estar em constante atualização, onde seus componentes são modificados, logo os casos de teste automáticos também terão que ser alterados, caso contrário não poderão ser re-executados.

A seguir serão apresentados alguns fatores [1] que podem ajudar a decidir se os testes devem ser automatizados ou não.

1. Frequência da execução: é importante levar em consideração a quantidade de vezes que se pretende executar os testes, se for apenas uma vez, então a execução manual pode ser suficiente.

2. Geração de código reusável: se o código de teste criado para um caso de teste poderá ser facilmente reutilizado em outro caso de teste, então este pode ser um bom motivo para usar alguma ferramenta de automação.

3. Relevância do teste: se uma funcionalidade será utilizada mais vezes do que outras, às vezes pode valer a pena criar casos de teste automáticos para ela, por exemplo, casos de teste para login na aplicação.

4. Esforço para automatizar: deve-se ter em mente se valerá a pena o esforço para automatizar um roteiro de teste considerando a quantidade de vezes que aquele roteiro poderá ser executado e se há casos de teste reusáveis.

5. Ferramentas de automação: para cada tipo de sistema a ser testado poderá ser utilizado diferentes ferramentas de automação dos testes. Isto deve ser cuidadosamente analisado antes de decidir qual ferramenta será utilizada.

6. Dificuldade de executar o teste manualmente: às vezes alguns casos de teste devem ser executados de forma exaustiva para um conjunto de diferentes usuários, neste caso é inviável realizar o mesmo teste para vários usuários. Logo, a automação será necessária.

Assim, estes
e outros fatores podem ser considerados no momento de decidir se os testes serão automáticos ou manuais. Mas é bom sempre lembrar que o principal objetivo de um caso de teste (automático ou não) é encontrar bugs no sistema.

[1] J. C., Oliveira, C. C., Gouveia, R. Q., Filho. A way of Improving Test Automation Cost-Effectiveness. Artigo publicado no CAST'06, Indianápolis, EUA, 2006.



DICA.: A revista Testing Experience deste mês disponível neste blog na seção de "Revistas Digitais Gratuitas" é sobre Ferramentas de Teste de Software, vale a pena dar uma olhada. :)

http://www.testingexperience.com/issues/testingexperience12_12_10.pdf


Testing Experience - 12ª Ed. Dez/2010

9 comentários:

Derlon disse...

Parabens pelo exelente trabalho.Todo o conteúdo esta muito bem explicado e esta me ajudando bastante nessa aréa de teste muito obrigado.

Anne Caroline disse...

Olá Derlon,

Comentários como o seu motivam bastante a escrever novos posts, muito obrigada!

Fico muito feliz que este blog esteja sendo útil para alguém. :D

willian disse...

Anne,

Realmente vc está de parabéns. Decision tree é um bom método a ser seguido.

Laurentina disse...

Parabens Anne, pelo blog
Sou Angolana e recen- Licenciada em, Informática de Gestão, mais estou a frequentar um estagio na aréa de Desenvolvimento de Software e fasso parte dos testadores, sinto que o papel dos testador sempre foi encarado de forma muito inferior em relação aos desenvolvedores mais desde que começei a visitar o teu blog tenho aprendido muito e estou cada vez mais querendo me expecializar quero ser uma boa testadora e gostaria de contar com a tua ajuda.

Anne Caroline disse...

Olá Laurentina,

Fico muito feliz que esteja gostando da área de testes de software e querendo se especializar. :) Eu também tive que enfrentar muito preconceito no meu trabalho, mas aos poucos fui mostrando a importância dos testes. :D

Qualquer dúvida basta perguntar.

Abraço!

Yuri Bispo disse...

Olá Anne, parabéns pelo blog, são informações realmente muito úteis!
estou começando agora a trabalhar com arquitetura e automação de testes, gostaria de algum contato, se possível, para trocarmos algumas informações.

abraço

ymabispo@gmail.com

Anne Caroline disse...

Olá Yuri,

Fico feliz que esteja começando na área de testes e que o blog esteja sendo útil pra você.
Qualquer dúvida pode perguntar (veja o e-mail). ;)

Abraços
Anne

Mônica Costa disse...

Excelente Post, tirou as minhas dúvidas e preocupações, pois agora mais do que nunca, eu vou ter que automatizar os testes na empresa em que eu trabalho.

Anne Caroline disse...

Oi Mônica, espero que vocês consigam implementar os testes automáticos. Eles são ótimos para realizar os testes de regressão.

Anne