Modos de teste
O TAEF fornece vários modos de teste que modificam o comportamento de execução de teste de várias maneiras. Verifique se você está familiarizado com a execução básica do TAEF, consulte Criando testes e executando testes antes de prosseguir com esta seção.
Nota: Os modos de teste não são compatíveis uns com os outros; somente um modo de teste pode ser habilitado durante uma determinada execução de teste.
Os seguintes modos de teste são fornecidos atualmente pelo TAEF:
Modo de teste de loop
O "Modo de Teste de Loop" fornece funcionalidade simples para iterar testes individuais ou execuções de teste inteiras. O Modo de Teste de Loop é ótimo para verificar a robustez da automação de teste ou obter estresse fácil ou automação de longo curso.
O Modo de Teste de Loop é habilitado especificando a opção de comando /testmode:loop. Há dois outros parâmetros opcionais que controlam o comportamento específico:
/Loop:<loopNum>
Controla quantas vezes a execução inteira é executada (padrão:1).
/LoopTest:<loopTestNum>
Controla quantas vezes cada teste na execução é executado (padrão:10).
O diagrama abaixo mostra como o TAEF representa uma execução de teste composta por um único arquivo de teste, contendo uma única classe de teste, que contém dois métodos de teste:
As setas no diagrama mostram o fluxo de execução em TAEF; mostrando como o TAEF executa os acessórios de instalação, os próprios testes e os acessórios de limpeza apropriados são executados após a conclusão dos testes. O valor 'looptest' faz com que o TAEF itere em torno dos próprios métodos de teste – o menor escopo possível. Observe que a instalação e a limpeza do teste não são executadas. O mesmo comportamento também ocorre para testes controlados por dados: o valor 'looptest' controla o looping no nível 'Método de Teste'.
Há ocasiões em que não é possível executar um loop em torno apenas do Método de Teste e é aí que o parâmetro 'loop' pode ser usado. O diagrama abaixo mostra como o TAEF representa uma execução de teste composta por dois arquivos de teste, cada arquivo contendo uma única classe de teste e cada classe de teste que contém um único método de teste:
O parâmetro 'loop' controla o loop no maior escopo possível; toda a execução. Se você especificar um único arquivo de teste para Te.exe ou se você tiver vários arquivos de teste, toda a execução será executada em loop o número especificado de vezes.
Modo de Teste de Estresse
O Modo de Teste de 'Estresse' para TAEF ajuda os usuários a executar testes em um ambiente de 'estresse'. Ao habilitar o Modo de Teste de Estresse por meio da opção de comando "/testmode:stress", o seguinte comportamento é habilitado:
Te.exe é executado indefinidamente – Te.exe requer que Ctrl+C seja enviado para o prompt de comando ou uma mensagem de WM_CLOSE seja enviada para sua janela oculta para parar.
Te.exe itera no primeiro 'grupo' de testes executados – para evitar o carregamento de arquivos subsequentes durante uma execução, Te.exe iterará no primeiro 'grupo' de testes executados. Observe que:
- Se você especificar vários Arquivos de Teste no prompt de comando, sem nenhuma seleção, somente o primeiro Arquivo de Teste será executado.
- Se vários Arquivos de Teste juntamente com uma consulta de seleção forem especificados no prompt de comando, somente os testes no primeiro Arquivo de Teste em que os critérios de seleção forem atendidos serão executados.
- Se um Arquivo de Teste for especificado que seja controlado por dados em um nível de módulo, a primeira combinação de parâmetros controlados por dados executada será executada em loop.
Um 'agente de estresse' está habilitado – para minimizar a quantidade de recursos que o registro em log consumiria, Te.exe alterna para um agente de saída mínimo:
- Somente erros são gravados no console – nenhuma outra entrada de Log é gravada.
- A cada 60 segundos, o Agente produzirá as contagens de aprovação/falha atuais para o console.
- A cada segundo, o Agente produzirá um único '.' para mostrar que Te.exe ainda está funcionando.
Ao executar no modo de teste de estresse, você também precisa especificar a opção "/inproc", o que significa que toda a execução de estresse é executada no processo de Te.exe. Essa restrição elimina a necessidade de o TAEF iniciar e manter o processo de área restrita separado para execução, minimizando assim as falhas de teste devido a alocações de memória com falha.