Ao falarmos de forma isolada sobre roteiros de teste, todo analista crê que possui conceitos claramente definidos e completamente embasados em experiências anteriores de mercado, solicitações específicas de determinado cliente ou a aprendizagem de disciplinas em seu curso universitário. No entanto, basta que o analista sente em sua cadeira para modelar os casos unitários, integrados e funcionais de um mesmo projeto para todas as suas dúvidas, que outrora não existiam, começarem a surgir.
Também não podemos esquecer que há um cenário pior ainda e muito comum.: Após a criação de todos os roteiros de teste, é perceptível que os mesmos possuem divergências, redundâncias e casos de teste desnecessários, mas o analista julga que está tudo correto e nem ao menos levanta dúvidas referente à modelagem dos casos de teste.
Tenho a certeza que você já passou por isso ou já viu ocorrer esta situação em seu local de trabalho. Portanto, iremos demonstrar as principais diferenças entre casos de teste para os roteiros de teste unitário, integrado e funcional, e para isto recorreremos aos principais autores, conceitos e técnicas disponíveis no mercado, bem como criaremos exemplos específicos que demonstrem na prática os diversos conceitos existentes. A intenção não é entrar especificamente na execução dos testes, mas sim demonstrar de forma simples as principais diferenças existentes e consolidar na sua mente todos os conceitos envolvidos. Existem diversas formas de construção para cada roteiro, e tentaremos abordar as melhores práticas para construção de cada um deles.
Utilizaremos um projeto (projetoCalculoSimples) contendo uma tela, 3 classes, 1 stored procedure e 1 acesso DB2 via programa cobol. Veja abaixo imagem detalhada do projeto contendo exemplos de teste unitário (em vermelho), teste integrado (em verde) e teste funcional (em azul).:
1°) Roteiros de Teste Unitário - "Pequenas partes que garantem a qualidade"
2°) Roteiros de Teste integrado - "Consolidando Relacionamentos"
3°) Roteiros de Teste Funcional - "Visualizando a funcionalidade na prática"
Testar é garantir a informação!