O documento descreve como configurar e executar testes distribuídos no TestComplete v.7, adicionando hosts, jobs e tasks para rodar testes em paralelo em diferentes máquinas. Primeiro adiciona hosts, depois cria jobs e tasks para apontar os testes e hosts, e então executa os testes em paralelo nos hosts configurados, com o host mestre orquestrando a execução.
1. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
O TestComplete é uma ferramenta de automação de testes desenvolvida pela empresa
AutomatedQA, e nos fornece uma série de recursos para automatização de testes,
transformando as ações dos usuários em um script que pode ser reproduzido posteriormente,
como um Playback.
Sua arquitetura é baseada em plug-ins, mais conhecidos como “Itens do Projeto”.
Neste tutorial iremos trabalhar com o plug-in: Network Suite responsável pela execução de
testes distribuídos em vários computadores.
Fig.1: Visão Geral TestComplete
Para fins didáticos, foi construída uma aplicação no Delphi para demonstrar a utilização
do recurso abordado da ferramenta em questão. O sistema tem uma tela principal com três
opções: Cadastro de Clientes, Cadastro de Produtos e Comandas como pode ser observado
na Figura 2.
Fig.2: Visão do sistema para Demonstração
2. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
Partiremos do pressuposto que já temos o projeto criado com os testes do sistema,
onde teremos os Scripts contendo os testes: Cadastro de Clientes e Cadastro de Produtos.
Fig.3: Project Explore – Pasta do Projeto com os Scripts
Para iniciarmos os trabalhos com a distribuição dos testes devemos ir à pasta do
projeto: botão direito > Add > New Item > Network Suite.
Fig. 4: Item: NetWork Suite
3. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
A primeira ação a ser executada é adicionar os Hosts, ou seja, as nossas maquinas
escravas onde serão rodados os testes. Para que as mesmas sejam habilitadas para tal função
é necessário que esteja instalado o TestComplete Full ou o TestExecute.
Obs.1: Usar o TestExecute nas maquinas escravas é uma boa opção de baratear sua
estrutura, já que sua licença é mais em conta, mas você ainda necessitará do TestComplete
para orquestrar sua suíte de testes.
Para adicionar um Host vá ao Project Explorer no item Hosts > Botão Direito > New
Item > Host. E prossiga com o preenchimento das propriedades para cada Host:
Name: Dê um nome de sua preferência;
Address: Utilize o IP ou Nome do Computador;
Domain: Caso a maquina esteja em algum domínio o identifique aqui;
User name: O usuário que tem acesso a maquina;
Password: Insira senha para autenticação do usuário.
Obs.2: Para esta demonstração utilizaremos duas maquinas escravas.
Fig. 5: Visão dos Hosts
Depois de adicionado o Host, poderemos verificar se ele está disponível, para isto vá
ao Host desejado e clique com o botão direito > Verify. Caso esteja tudo certo e ele consiga se
comunicar com a maquina será dado à mensagem de Verification succeeded, caso contrário
será exibido o motivo do erro. Agora que já temos os nossos Hosts adicionados e verificados
podemos dar continuidade em nossos trabalhos.
O próximo passo será adicionar os nossos Jobs, ou trabalhos. Com o botão direito em
Jobs > Add > New Item > Job. Conforme Figura 6.
4. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
Fig. 6: Adicionando um Job.,
Com o nosso Job criado devemos adicionar agora as nossas tarefas (Task), são nelas
que iremos configurar os nossos testes a serem rodados:
Active: Defina se a tarefa/teste estará habilitada;
Name: Dê um nome para esta tarefa/teste;
Host: Iremos identificar onde irá rodar este teste;
Path: Indicaremos o caminho onde se encontra o projeto na maquina destino;
Copy remote log: Sinalizamos se queremos que o log seja copiado para a maquina
mestre. Note que podemos escolher: Sempre (Always), Nunca (Do not copy), ou
quando quebrar os testes (When status is not OK).
Action after run: Configure o que acontecera após a tarefa ser concluída;
Test: Indique qual será o teste à ser rodado;
Use previous instance: Indique como será o uso da instancia;
Remote applicarion: Escolha em qual aplicação será rodado os testes. (Olhe a Obs.1)
Da mesma forma que temos como verificar o Host podemos verificar se o Job e as
Tasks estão disponíveis para uso, para tal prossiga com o botão direito sobre o(a) mesmo(a)
e Verify.
Pronto! Agora já estamos com a nossa NetworkSuite toda configurada e pronta para
uso, Let’s Go!
5. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
Fig. 7: Visão do projeto com a NetworkSuite
Depois do seu projeto pronto e testado você poderá adiciona-lo a sua rotina de build
facilmente, integrando-o ao seu processo. Para testarmos basta ir com o botão direito no Job e
Run [Job].
Fig. 8: Teste Cadastro de Clientes sendo rodado em paralelo no host VM1.
6. Testes Distribuídos com TestComplete v.7
by Miquéias Morezet
Fig. 9: Teste Cadastro de Produtos sendo rodado em paralelo no host VM2.
Fig. 10: Host Mestre orquestrando os testes.
“A única maneira de fazer um trabalho extraordinário é
quando ama aquilo que se faz. Se ainda não o encontrastes continue
a procurar. Não te acomodes. Tal como as coisas do coração, tu
saberás quando o encontrar.”
Steve Jobs