Ola!
Após um longo período sem posts espero retornar, de forma periódica, a publicar alguns materiais sobre testes de softwares e afins.
Interessante que, neste período ausente, recebi uma grande quantidade de solicitações de informações e a maioria era sobre ferramentas de testes. O que percebo é que existe um certo equivoco, principalmente dos iniciantes na área, sobre teste de software. A primeira coisa que se deve saber sobre ferramentas de testes é. “Qual o objetivo que se deseja alcançar?” Pois, a utilização de uma determinada ferramenta deve-se ao nível de teste associado a fase de teste e à técnica utilizada, afim de se detectar o maior numero possível de falhas na aplicação sob teste. Alem disso ainda temos ferramentas de apoio como: ferramentas de gestão de incidentes, ferramentas de gerenciamento dos testes, ferramentas de analise de código-fonte e etc.
Sendo assim, temos ferramentas para testes unitários, utilizados nas técnicas de caixa-branca e que tem o JUnit como a ferramenta mais conhecida. Esta é uma ferramenta, normalmente utilizada por desenvolvedores, para teste de unidades de código-fonte ao longo do desenvolvimento dos mesmos. Serve para garantir a corretude de determinados trechos de código.
Temos, também, ferramentas de testes funcionais utilizados nos testes de caixa-preta. Estas são as ferramentas que tem como objetivo simular a utilização da aplicação ou sistema pelo usuário ou outro sistema. Nesta família de ferramentas podemos citar: Selenium e BadBoy. Que são ferramentas para aplicações web que simula a navegação pelas páginas a procura de falhas nas funções existentes. Para testes funcionais em aplicações desktop, temos: SiKuLi. Uma ferramenta que faz uma analise das imagens contidas na tela para executar um script de teste previamente criado.
Para teste de performance temos: JMeter. Uma ferramenta que a principio foi desenvolvida para testes de performance, mas que foram acrecidas inúmeras outras funcionalidades. Com o JMeter é possível testar os limites de sua aplicação, evitando que um grande numero de usuários cause um crash no sistema, por exemplo.
Para gerenciamento dos casos de testes e controle da execução dos testes, temos o TestLink. Esta ferramenta cuida da parte gerencial do ciclo de vida do teste, desde a criação do plano e casos de teste até a produção do relatório final dos testes.
Por fim, temos os bug trackers no qual o Mantis é o mais conhecido, por sua praticidade, simplicidade e robustez. Um bug tracker é um gerenciador de incidentes, utilizado para manter um controle de quais incidentes está para correção, corrigido, em teste, etc.
Existem inúmeras outras ferramentas utilizadas nos testes de softwares, mas quis apenas exemplificar com as que mais utilizo no meu dia-a-dia. Uma lista mais detalhada de ferramentas pode ser encontrada aqui.
Bom, espero ter ajudado e até o próximo post!
Escrito por paulomarc 