Testes automatizados funcionais - passo a passo
Conteúdo |
INTRODUÇÃO
Este documento descreve uma sequência de passos padrão para a automatização de casos de teste do Pje utilizando o framework desenvolvido pelo CNJ. O framework foi desenvolvido com objetivo de separar a lógica de execução dos casos de teste dos dados necessários para a execução. Para isso, foram criados três componentes básicos para a execução:
- um arquivo xml com os dados necessários para a execução;
- uma classe de dados que encapsula os elementos do arquivo xml em uma estrutura de fácil manipulação pelo desenvolvedor;
- uma classe (ou mais) responsável pela execução do caso de teste com base nos dados encapsulados pela classe de dados.
A estrutura proposta é ilustrada na figura seguinte.
É importante observar que, independentemente da forma de implementação da classe de execução, obrigatoriamente devem ser criados os três artefatos descritos na figura, visto que o framework está “esperando” pela existência dos três para a execução dos cenários.
PASSO A PASSO
Este capítulo descreve uma sequência de passos sugerida para o desenvolvimento de casos de teste com base no framework criado. Trata-se apenas de uma sugestão que, com base na experiência de uso do framework, tem se mostrado eficiente para o desenvolvimento dos casos de teste do Pje.
Determinação da estrutura de dados
O primeiro passo consiste em determinar a estrutura de dados necessária para a execução do caso de teste que se pretende executar. Numa visão similar a de um caso de uso, esta estrutura deve prever os dados necessárias para a execução de todos os cenários possíveis, tanto cenário principal, quanto cenários alternativos e de exceção.
Para isso deve-se executar manualmente o caso de teste que se pretende automatizar, de acordo com o desenho do caso de teste. Esta execução manual deve produzir uma lista de dados necessários para a execução automatizada.
A figura abaixo exibe a tela de cadastro de etnias do PJe, que é usada neste documento como exemplo para criação de um caso de teste.
Para a execução deste caso de teste são necessárias duas informações: a descrição da etnia e a situação. Com estas informações é possível partir para o segundo passo, que é a construção do arquivo XML com os dados para execução.
Criação do arquivo xml
O passo seguinte consiste em criar o arquivo XML para o armazenamento dos dados de execução. Este arquivo deve estar presente dentro do diretório /xml do projeto dos testes. A Figura seguinte ilustra um arquivo XML para o cadastro de Etnias no Pje.
O arquivo XML possui um nó raiz chamado TestCase, com alguns atributos que são apresentados em seção específica. Importante observar que o nome do nó raiz obrigatoriamente deve ser TestCase, pois este nome é esperado pelo framework. Para evitar problemas com relação à estrutura do arquivo criado, recomenda-se, quando for criado um arquivo XML para um caso de teste, que este seja duplicado a partir de um arquivo já existente, para aproveitar a estrutura já criada e testada.
O arquivo XML em questão descreve uma estrutura de um caso de teste que possui dois cenários do tipo CadastroEtnia. Importante observar que o nome do arquivo XML é CadastroEtnia.xml. Este nome deve corresponder semanticamente ao propósito do caso de teste, qual seja, o cadastro de etnias. Importante observar que os nós que descrevem cenários devem ter o mesmo nome do arquivo XML, sem a extensão .xml. Mais informações sobre a nomeclatura dos aquivos podem ser obtidas neste documento.
Os dois cenários são declarados entre as linhas 5 e 13 (cenário 1) e entre as linhas 15 e 23 (cenário 2). O nó que descreve os cenários possui alguns atributos de interesse cuja documentação está disponível pode ser acessada por aqui.
Algumas observações sobre a relação entre o arquivo xml e a página cuja execução será automatizada:
- as linhas 8 e 9 do arquivo XML descrevem os valores necessários para o preenchimento dos campos da página. Os nomes destes nós são livres, contudo, recomenda-se que correspondam semanticamente aos nomes dos campos no Pje.
- entre as linhas 10 e 12 são declarados os resultados produzidos pelo cenário, que poderão ser utilizados na execução dos cenários seguintes. Este nó é opcional. Contudo, caso exista, obrigatoriamente deve se chamar resultados. Dentro deste nó são declarados nós com o nome resultado (no singular). O valor declarado dentro de um nó resultado (ver exemplo na linha 11) deve corresponder exatamente ao nome de um atributo presente na classe de dados. Este atributo não precisa necessariamente estar presente no xml (apesar de frequentemente estar presente), mas, caso seja declarado em resultado, deve estar presente na classe de dados. Ainda, para ser utilizado pelos cenários subsequentes, os arquivos de dados destes cenários também devem declarar o atributo com o mesmo nome na classe de dados. Mais informações sobre o recurso de resultados de cenários podem ser acessadas aqui..