Translate

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 caixa-branca (white-box testing) e os testes caixa-preta (black-box testing) respectivamente.

Os testes caixa-branca são realizados diretamente no código e geralmente são feitos pelo desenvolvedor do sistema, um exemplo deste tipo de teste são os testes de unidade (unit testing). Por outro lado, os testes caixa-preta são feitos pelo testador, o qual não tem contado direto com o código fonte 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 caixa-preta mais comuns são o teste de sistema e o teste de aceitação, que são testes funcionais, a diferença é que este 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.

Tabela associando Níveis e Tipos de Teste


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. Neste caso, é um tipo de teste que geralmente é automatizado, para ter melhores resultados e torná-lo viável. Uma ferramenta que pode ser usada é o Selenium WebDriver.

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 estruturais quanto nos testes funcionais, estão abrangendo 100% do código implementado. Há ferramentas que auxiliam na execução destes testes, como por exemplo, SonarQube, OpenCloverIntelliJ IDEA, EclEmma, entre outras. Para este tipo de teste, geralmente é definido um critério aceitável de cobertura, por exemplo, testes que cobrem 95% do código.

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

Referência:

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

Última Atualização: 13/05/2019

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?