segunda-feira, 1 de outubro de 2007

Principais tipos de Testes de Software

Os testes de software são uma maneira de garantir a qualidade de um software. Com isso existem diversas maneiras de se testar um sistema, ou seja, existem testes mais baixo nível e teste mais alto nível, que podemos classificar em testes de caixa-branca (white-box testing) e os testes de caixa-preta (black-box testing) respectivamente.

Os testes de caixa-branca são realizados diretamente no código e geralmente são feitos pelo implementador do sistema, um exemplo deste tipo de teste são os testes de unidade (unit testing). Por outro lado, os testes de caixa-preta são feitos de maneira funcional, onde o testador não tem contado direto com o código do sistema, entende-se o sistema como uma caixa onde ao inserir valores de entrada, retorna valores de saída, geralmente estes testes são realizados por uma equipe específica de teste, que utiliza a especificação dada pelo cliente para fazer o roteiro de casos de teste.

Os testes de caixa-preta mais comuns são o teste funcional e o teste de aceitação, que é semelhante ao teste funcional, a diferença é que esse teste é executado diretamente pelo cliente. Há também os testes mistos, que tanto são de caixa-branca quanto de caixa-preta, que são os testes de regressão, de integração e de cobertura.

Os testes de regressão devem ser realizados sempre que o sistema sofrer alterações consideráveis que podem gerar bugs, geralmente é necessário re-executar todo o roteiro de teste criado para o teste funcional, desde que o sistema não seja muito grande.

Há também um teste muito importante, que é o teste de cobertura, este teste tem a finalidade de verificar se o roteiro de teste executado, tanto nos testes de unidade quanto nos testes funcionais, estão abrangendo 100% do código implementado. Há ferramentas que auxiliam na execução destes testes, como por exemplo, um plugin para o Eclipse IDE, o Emma Coverage.

A partir do entendimento mais aprofundado sobre cada tipo de teste, é que pode-se obter uma forma mais prática e técnica de testar cada parte do sistema, a fim de garantir uma maior qualidade do software.

Referência:

WILLIAMS, M., SUCCI, G. e MARCHESI, L. Traditional and Agile Software Engineering. Ch 8 - Black Box Testing. Ed. Addison-Wesley, 2003

2 comentários:

Necrower disse...

Parabéns, acabei caindo de para-quedas num site como o seu, mas posso dizer que um ótimo trabalho está sendo feito.
Parabéns e continue nos ajudado.

Anônimo disse...

tem como disponibilizar manuais ou procedimentos de isntalação das ferramentas de teste opensource mais usasadas?