Executor de testes
O processo “Executor de testes” permite a execução de testes previamente programados no sistema. Este processo foi criado unicamente para a visualização de falha ou sucesso dos testes, assim como os testes são criados unicamente para reportar, quando executados, o sucesso ou falha apenas do que está sendo testado. Este entendimento é importante para que não haja uma falsa expectativa de garantia de funcionamento, dentro do resto do Sistema, daqueles elementos testados.
Apresentação do processo
O processo é aberto com duas grades, a grade “Opções” e a grade “Testes”. Além das grades, o processo também dispõe de três botões, os quais serão detalhados na seção “Botões do processo e botões da grade Testes” mais abaixo.
Nota técnica: A grade “Testes” exibe os dois tipos de testes (unitários “.iut” e de integração “.it”). Conceitualmente, testes unitários não permitem a realização de operações como, consultas, alterações, inserções ou exclusões das informações da base de dados. Permitem apenas testes isolados sobre métodos, propriedades ou funções (unidades de desenvolvimento). Isto é uma medida para que não haja perda de performance durante a execução, já que existe rastreio das alterações realizadas na base. As operações realizadas sobre a base de dados devem ser utilizadas em testes de integração.
A grade “Opções” vem com uma única variável obrigatória, a variável “Modo de execução”. Como este processo permite a execução de uma lista de testes, esta variável permite configurar o comportamento de continuidade da execução dos testes após a falha de um determinado teste. Assim, a opção “Continuar execução se um teste falhar” indica que, apesar de um ou mais testes falharem, o processo continuará executando cada um dos testes selecionados. Por outro lado, a opção “Parar execução se um teste falhar” indica que o processo irá abortar a execução de todos os testes selecionados e ainda não executados até o momento da falha.
Nota técnica: Esta decisão de continuidade após uma falha pode ser definida via código através do
evento iJsUnitTree.onFailure
. Neste evento, ao retornar um valor lógico verdadeiro, os testes
continuarão, caso contrário, serão abortados os testes ainda não executados até o momento da falha.
A grade “Testes” é a principal grade do processo e é através dela que se pode visualizar o resultado da execução dos testes. Mais abaixo, a seção “Detalhamento das colunas da grade Testes” tratará de especificar o significado de cada coluna presente nesta grade.
Botões do processo e botões da grade Testes
Os botões da grade “Testes”, por uma simples questão de facilidade, são repetidos na área de botões do processo. Abaixo, segue o detalhamento de cada botão e seu significado:
- Executar selecionados: Este botão, naturalmente, dispara a execução dos testes selecionados na grade “Testes”. Este botão está disponível tanto na grade quanto na área de botões do processo.
- Selecionar testes que falharam: Após uma execução de testes onde alguns tenham falhado, é comum que o desenvolvedor corrija as falhas e volte para o processo selecionando os testes que falharam para nova execução. Este botão junta estas duas ações finais, ou seja, ele descarta a seleção anterior selecionando apenas os testes que falharam e, ao mesmo tempo, re-dispara a execução destes testes. Este botão também está disponível na grade “Testes”.
- Exibir relatório: Através deste botão, é possível exportar o resultado da execução dos testes selecionados para um relatório em árvore. Diferentemente dos botões anteriormente citados, este não está presente na grade “Testes”.
Abertura e re-abertura do processo:
No intuito de simplificar a experiência do usuário ao máximo, este processo salva todo o ambiente para reuso em uma segunda abertura. O ambiente salvo consta da última expansão feita nos nós da árvore da coluna “Nome” e os últimos registros selecionados. Assim, quando o processo é novamente aberto, a tela que é apresentada será a mesma tela exibida quando o processo foi fechado pela última vez.
Atualização dinâmica das últimas alterações de códigos
É automática a reflexão imediata de cada alteração feita pelo desenvolvedor em qualquer teste ou códigos associados. Em outras palavras, o processo executor dos testes não precisa ser recarregado para que ele passe a ser afetado pelas últimas edições de código.
Detalhamento das colunas da grade Testes
- Nome: Esta coluna apresenta uma árvore que deve ser utilizada para a localização dos testes que se deseja executar. O conceito de agrupamento pode ser utilizado e, caso se deseje que um grupo de testes seja executado a partir de um dado nó, basta selecionar o nó que todos os testes, a partir dele, estarão selecionados para execução. Dessa forma, se for desejada a execução de todos os testes, basta selecionar o nó raiz identificado pelo nome “Todos”.
- Resultado: Simples mensagem de sucesso ou falha de cada nó.
- Tempo Execução: Exibe o tempo de execução de cada nó no formato hh:mm:ss.
- Sucessos: Totaliza a quantidade de testes bem-sucedidos a partir do nó em que o número está sendo apresentado.
- Falhas: Semelhante ao comportamento da coluna “Sucessos”, esta coluna totaliza a quantidade de testes malsucedidos a partir do nó em que o número está sendo apresentado.