Veremos abaixo algumas definições de teste por alguns especialistas
Guia do artigo:
- É um processo sistemático que tem por objetivo encontrar defeitos (Myers, 1979);
- É verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer (Rios e Moreira, 2003);
- É o processo de executar um programa com o objetivo único de encontrar defeitos - Glenn J Meyers “Art of Software Testing”
Teste é o processo de operar um sistema ou componente do sistema sob condições específicas, observando e registrando o resultado e fazendo uma avaliação de alguns aspectos do sistema ou componente - IEEE Standard Glossary
Mas ao pensar em testes temos sempre algumas dúvidas como:
-
Porque testar?
- Porque precisamos provar que ele não vai funcionar ou mostrar que desenvolvedores não são capazes de fazer software sem defeitos. Primeiro devemos ter em mente que quanto mais cedo achar um defeito mais barato ele vai custar, e outra, o desenvolvimento de software é feito por pessoas sendo, desenvolvedores, analistas, gerentes, arquitetos. E essas pessoas podem cometer erros, elas não são perfeitas, por isso devemos testar e verificar se o software esta funcionando de maneira esperada.
-
O que devo testar?
- Testar exaustivamente tudo ou quase tudo, mas testar tudo é impraticável, então o que realmente devo testar? Sempre devemos testar todos os casos de usos ou as funcionalidades mais críticas.
-
Quando parar os testes?
- Quando atingir uma confiança nos requisitos, quando os critérios de encerramento forem atingidos ou quando o custo para identificação dos defeitos não compensam mais.
A cultura de se testar o software pode ou tem algumas barreiras como:
- Tempo Insuficiente;
- Orçamento curto;
- Falta de capacitação para identificar risco;
- Falta de capacitação dos desenvolvedores para executar ao menos um teste unitário;
Os defeitos de um sistema são inseridos na transformação de informações obtidas pelo usuário que são tratadas em todo desenvolvimento de software, como na criação dos requisitos, casos de usos, arquitetura entre outros, por esses e outros motivos os testes deverão ser realizados em todo ciclo de desenvolvimento do software classificados em Técnicas, Níveis, categorias e processos de testes.