Os bons testes são capazes de revelar se a implementação está cumprindo ou não o requisito do software, e por isto é necessário que o teste cubra complatamente o requisito que ele se propõe a testar, ou seja, aquela ao qual está rastreado. Além disso, quando executado ele deve atingir uma boa cobertura estrutural da parte de código que representa a implementação daquele requisito. Estas necessidades já foram comentadas em capítulos anteriores, mas aqui entraremos em detalhe sobre como realizá-lo na prática.
Todo teste necessita ter a sua descrição, também conhecido como caso de teste. Esta descrição deve ser suficiente para que se entenda quais aspectos dos requisitos estão sendo testados. O conjunto dos casos de teste deve ser capaz de atender à totalidade dos cenários descritos nos requisitos. Esta é a primeira característica importante dos testes, que é terem uma descrição que permita observar a cobertura dos requisitos.
Após a descrição estar elaborada, ou mesmo em paralelo à realização da descrição, o procedimento de teste deve ser criado, descrevendo os passos ou implementando scripts e vetores de teste que implementem a descrição do teste. Os procedimentos devem ser feitos de forma que, todas as vezes em que ele for executado, produza o mesmo resultado, e portanto ele necessita implementar corretamente as condições que levam ao cenário do teste, incluindo a inicialização do teste em uma condição conhecida para garantir o determinismo.
Se dividirmos o teste nestes dois níveis, caso de teste (descrição) e procedimento de teste (implemetação), observaremos as duas características se manifestarem, conforme a figura.
<<Requisito <--(cobre completamente)-- caso de teste <--(implementa corretamente)-- procedimento de teste>>
A revisão dos testes varia de empresa para empresa, mas indiferente aos detalhes particulares de cada uma, a revisão deve estar atenta ao cumprimento destas duas características essenciais.
Standards de teste podem ser criados para auxiliar na padronização dos testes no que tange o formato e também no que tange os critério de como os testes irão cobrir os requisitos. Estes standards têm sua importância aumentada em grupos de trabalho grandes ou cujos testadores não estão acostumados a trabalharem juntos. A verificação dos testes quanto ao standard pode ser avaliada durante o review dos testes. Esta padronização facilita a manutenção dos testes que estão sujeitos à necessidade de modificação.

Comentários
Postar um comentário