Jubula é uma ferramenta de automação de teste que não é conhecida por muitos testadores na Rússia. Ele veio para nossa empresa com um projeto da Alemanha.
O programa foi desenvolvido pela BREDEX GmbH e é gratuito. O desenvolvedor indica que Jubula é capaz de testar aplicativos em Swing, SWT / RCP / GEF e JavaFX. Um testador que usa Jubula não precisa conhecer nenhuma das linguagens de programação, pois o teste é realizado pelo método da caixa preta e não requer código-fonte, o que permite que qualquer pessoa automatize seus casos de teste por conta própria.
Jubula pode ser usado como um aplicativo independente (como em nosso projeto) ou como um plug-in Eclipse ( https://projects.eclipse.org/projects/technology.jubula ).
Depois de instalar o aplicativo, tudo está pronto para uso: um banco de dados para armazenamento de projetos e AUT-Agent é configurado (fornece conexão Jubula com o aplicativo em teste).
Para criar um novo projeto, selecione Testar - Novo no menu e preencha os campos. No executável AUT, selecione o caminho para o arquivo executável para executar o aplicativo em teste.
É claro que, para um grande projeto no qual vários testadores trabalham, serão necessárias configurações especiais para um banco de dados centralizado, no qual os casos de teste criados para teste de regressão serão armazenados, com acesso para todos os usuários.
Para testar um aplicativo com Jubula, você precisa, de fato, do próprio aplicativo com uma interface gráfica. O programa já contém um conjunto das ações mais necessárias:
A criação do caso de teste de Jubula é baseada no método de palavra-chave . Ou seja, ao criar um novo caso de teste, o usuário encontra as ações necessárias por meio de palavras como clicar, verificar, esperar, etc., adiciona-as ao teste e atribui-lhes os parâmetros necessários.
Além disso, o Jubula oferece a capacidade de "registrar" as ações executadas pelo testador e reproduzi-las posteriormente. Este método não é popular, embora seja apropriado para criar pré-condições rapidamente quando, por exemplo, você precisa "ir" para a janela desejada, na qual as verificações já serão realizadas.
Para criar um caso de teste, você pode simplesmente arrastar uma etapa do Navegador de caso de teste para a área de trabalho onde seu conjunto de testes está aberto. Várias etapas podem ser combinadas em um módulo(Refatorar - Extrair Caso de Teste), que pode ser usado posteriormente em diferentes casos de teste. Mudar o módulo mudará os passos em todos os testes onde ele é usado, você precisa ter cuidado com isso. Se o módulo estiver aberto na área de trabalho, é fácil visualizar todos os casos de teste onde ele é usado pressionando F7. Existem muitas outras teclas de atalho no Jubula, que são convenientemente destacadas em uma linha separada na seção Ajuda. Além disso, em Conteúdo da Ajuda usando a barra de pesquisa, você pode encontrar informações de interesse sobre qualquer função do programa (em inglês).
Antes de criar casos de teste, você precisa adicionar todos os componentes gráficosusado no teste. Isso é feito facilmente com o Modo de mapeamento de objeto, que é ativado quando o aplicativo é aberto. Passe o mouse sobre o objeto desejado e pressione Ctrl + Shift + q. O objeto deve receber um nome e ser salvo, então ele pode ser selecionado na caixa Nomes de componentes na etapa desejada.
Jubula permite que você crie suas próprias etapas específicas conforme necessário . Existem ações executeExternalCommand e invokeExternal (Method) para isso. Com seus scripts de ajuda ou arquivos .jar são iniciados. Sem conhecimento de JAVA, criar suas próprias equipes não funcionará. Em nosso projeto, o engenheiro de configuração escreveu vários arquivos .jar grandes que o Jubula acessa via .bat, escritos em executeExternalCommand.
Vamos considerar um exemplo de um módulo criado em nosso projeto para comparar a janela ativa com uma imagem armazenada no SVN. Primeiro, o nome do futuro arquivo .jpg (StoreValue) é salvo como uma variável, no padrão takeScreenshotofActivWindow este nome e o caminho onde a nova captura de tela estará localizada são gravados, e então na etapa executeExternalCommand o arquivo .bat é iniciado, onde as imagens que iremos comparar e alguns parâmetros como tamanho da imagem e desvio máximo permitido em pixels. Por meio do mesmo arquivo .bat, é iniciado o .jar, que contém classes para comparar arquivos de texto, imagens, PDF e csv. Esta cozinha interior é necessária principalmente para quem monta Jubula para um projeto pela primeira vez, ou adiciona algo que faltou. Ao criar um caso de teste, o testador pega um módulo pronto (de nós, por exemplo,Compare Image), define parâmetros e nem sabe o que está escrito em .bat, e mais ainda em .jar.
Jubula pode interagir com aplicativos de terceiros durante o teste. Nosso aplicativo gera relatórios nos formatos PDF e CSV. Através do aplicativo, você pode abrir um relatório no Adobe Reader, Jubula irá salvá-lo usando os atalhos do teclado, dar a ele um nome que o testador escolheu previamente, e então compará-lo com o arquivo salvo no SVN da maneira descrita acima através de executeExternalCommand.
Resultado dos testesmostrado em detalhes máximos, você pode ver todos os parâmetros de entrada e saída. Se o teste falhar em alguma etapa, o Jubula faz uma captura de tela desse momento, à qual você pode consultar a qualquer momento (esse recurso pode ser desativado para economizar espaço). Além disso, para uma etapa com erro, na maioria dos casos, está disponível uma Log-View, que descreve resumidamente a essência do erro. Os resultados podem ser salvos automaticamente na pasta selecionada no formato XML / HTML.
Para determinar as ações após a ocorrência de um erro , o Event_Handler é usado - o assim chamado manipulador de eventos. Pode ser configurado dependendo do tipo de erro para continuar, repetir (um determinado número de vezes), sair, pausar, etc. No manipulador de eventos, você pode adicionar uma etapa de teste ou várias etapas que devem ser executadas em caso de erro.
Você pode influenciar a escolha da próxima etapa usando If-Then-Else , que é muito conveniente ao repetir ações com parâmetros diferentes.
While-Do ou Do-While Loop ajuda muito se você precisar “rolar” até o valor desejado [Pressione “para baixo” até que apareça o valor “5” ou vice-versa, até que o valor seja “5”, pressione “para baixo”].
Naturalmente, Jubula tem a capacidade de executar corridas noturnas para aproveitar as marcas verdes antes de seus testes da manhã.
Jubula realiza o teste como se o usuário estivesse fazendo em seu computador: ele move o cursor sobre as janelas do aplicativo, clica nas teclas, portanto, para a pureza do experimento, você não pode mover o mouse ou tocar no teclado neste momento... E como mostra a experiência, mesmo sem tocar em nada, o usuário consegue embaraçar Jubula com um olhar para que ela não encontre o botão certo, nem aperte, ou qualquer outra coisa. Portanto, a melhor opção seria executar o Jubula em uma máquina diferente. Em nosso projeto, esta é uma máquina remota, onde todos se logam como seus usuários, mas todas as suas alterações no Jubula ficam disponíveis para todos os outros.
Em nosso projeto, o Jubula está integrado ao Polarion, o que permite que você visualize estatísticas de quais testes foram aprovados ou reprovados, que não foram executados nesta execução. Para cada caso de teste individual, Polarion tem um campo Test Records, que exibe os resultados das últimas corridas à noite em Jubula, seu número pode ser definido de forma independente (até 300). Esse recurso ajuda você a rastrear facilmente em qual versão um teste parou de passar, caso não fosse monitorado regularmente.
Uma desvantagem significativa do programa é a incapacidade de reverter qualquer mudança, a função “recuar”, “desfazer” ou algo semelhante simplesmente não existe. O máximo que é possível é fechar tudo sem salvar as alterações. Mas se você clicar em "Salvar", é isso. Em casos de emergência, é possível restaurar a versão do projeto a partir de uma determinada data, esta carregada com o fato de que as alterações feitas a partir desse dia serão perdidas para sempre.
Jubula é um programa muito bom para automatizar testes escritos para um aplicativo desktop. Se desejar e o usuário tiver as habilidades, ele permite que você verifique tudo, e não apenas a GUI, mas também a funcionalidade do lado do servidor. Mas esta criação é muito gentil, você precisa encontrar uma abordagem para ela e então você pode usá-la feliz para sempre!