Refinar o Escopo e Identificar os Testes
Finalidade:
|
Identificar o Componente sob Teste e definir um conjunto de testes que sejam mais proveitosos na iteração
atual
|
Em um ambiente formal, os componentes e os testes que precisam ser desenvolvidos são especificados no artefato Design
de Testes, o que torna esta etapa opcional. Há outras ocasiões nas quais os testes do desenvolvedor são conduzidos por
Controles de Mudanças, correções de erro, decisões de implementação que precisam ser validados e testes do subsistema
com apenas o Modelo de Design como entrada. Para cada caso:
-
defina a meta: validação da interface do subsistema/componente, validação da implementação, reprodução de um
defeito
-
defina o escopo: subsistema, componente, grupo de componentes
-
defina o tipo de teste e detalhes: caixa preta, caixa branca, condições prévias, condições posteriores,
invariáveis, condições de execução e entrada/saída, pontos de controle/observação, ações de limpeza
-
decida qual o tempo de duração do teste; por exemplo, um teste criado especialmente para corrigir um defeito pode
ser descartável, mas um que testará as interfaces externas terá o mesmo ciclo de vida do componente que está sendo
testado
|
Selecionar a Técnica de Implementação Adequada
Finalidade:
|
Determinar a técnica apropriada para implementar o teste
|
Há várias técnicas disponíveis para implementar um teste, mas elas podem ser consideradas em termos de duas categorias
gerais: teste manual e automatizado. A maioria dos testes de desenvolvedor é implementada com o uso das técnicas de
teste automatizado:
-
testes programados, utilizando as mesmas técnicas de programação de software e o mesmo ambiente do componente que
está sendo testado ou ferramentas e linguagens de programação menos complexas (por exemplo, linguagens de script:
tcl, baseada em shell, etc.)
-
testes gravados ou capturados, criados com o uso de ferramentas de automação de testes, as quais capturam as
interações entre o componente que está sendo testado e o restante do sistema e geram os testes básicos
-
testes gerados: alguns aspectos do teste, sejam procedurais ou referentes os dados do teste, poderiam ser gerados
automaticamente com o uso de ferramentas mais complexas de automação de teste
Embora a abordagem mais comum seja a do "teste programado", em alguns casos, testes relacionados à GUI, por exemplo, a
maneira mais eficaz de conduzir um teste é manualmente, seguindo a seqüência das instruções capturadas em forma de
descrição textual. |
Implementar o Teste
Finalidade:
|
Implementar os testes identificados na etapa ou tarefa de definição
|
Implemente todos os elementos definidos na primeira etapa. Detalhe e especifique claramente as condições prévias do
ambiente de teste e quais serão as etapas responsáveis por colocar o componente sob teste no estado em que os testes
poderão ser conduzidos. Identifique as etapas de limpeza a serem seguidas a fim de restaurar o ambiente ao estado
original. Dê atenção especial à implementação dos pontos de controle/observação, visto que tais aspectos poderão exigir
que suporte especial seja implementado no componente que está sendo testado.
|
Estabelecer Conjuntos de Dados Externos
Finalidade:
|
Criar e manter dados, armazenados externamente para o teste, os quais serão utilizados durante a execução
|
Em quase todos os casos, a separação dos Dados do Teste do Teste conduz a uma solução mais sustentável. Se o tempo de
duração do teste for muito curto, utilizar o código permanente dos dados do teste talvez seja mais eficaz, mas se
muitos ciclos de execução do teste forem necessários, utilizando conjuntos de dados diferentes, a maneira mais simples
é armazená-los externamente. Haverá outras desvantagens se os dados do teste forem separados do teste:
-
mais de um teste poderia utilizar o mesmo conjunto de dados
-
facilidade para modificar e/ou multiplicar
-
poderia ser utilizado para controlar a lógica de ramificação condicional do teste
|
Verificar a Implementação de Testes
Finalidade:
|
Verificar o funcionamento correto do teste
|
Teste o Teste. Verifique as instruções de configuração e limpeza do ambiente. Execute o Teste, observe seu
comportamento e corrija os defeitos. Se o teste tiver duração longa, peça a uma pessoa com menos conhecimento interno
que o execute e verifique se há informações de suporte suficientes. Reveja-o com outras pessoas da equipe de
desenvolvimento e outras partes interessadas.
|
Manter Relacionamentos de Rastreabilidade
Finalidade:
|
Permitir a análise de impacto e a geração de relatórios de avaliação dos itens rastreados
|
Dependendo do nível de formalidade, você poderá ou não precisar manter relações de rastreabilidade. Se for esse o caso,
utilize os requisitos de rastreabilidade delineados no Plano de Teste para atualizar as relações de rastreabilidade
conforme necessário.
|
|