Detalhes do Trabalho
Título do Trabalho
Melhoria da arquitetura dos testes automatizados de um sistema ERP
Autor(es)
Diogo Paniz, Ricardo Augusto Manfredini
Nível / Modalidade
Fundamental / Ensino
Resumo

Este trabalho possui como intuito melhorar a arquitetura dos testes de sistema que são
automatizados, para o ERP XXXX que é customizado, para uma empresa do ramo calçadista
de Farroupilha. Hoje estes testes são construídos com base no framework JUnit, para os
programas client é utilizado o framework auxiliar chamado Sikuli e para os sistemas WEB o
Selenium, sendo que os testes são desenvolvidos através da linguagem Java e são executadas
em uma base de dados do ano de 2014, que não sofre alterações, visto que antes das
execuções a base é espelhada para um banco de dados auxiliar.
Como uma base de dados que existe há aproximadamente quatro anos, encontrou-se diversas
dificuldades para desenvolver testes que contemplem essas novas funcionalidades e regras de
negócio. No ano de 2018 foi estudado atualização desta base de dados, para esta análise os
360 testes existentes foram executados, momento no qual verificou-se que apenas 50% dos
testes executaram com sucesso e deste total apenas 40% seriam funcionais. Uma execução
com sucesso não é um sinal que o teste cumpre com seu objetivo, pois além deste fator deve
ser avaliado os relatórios de saída e logs, que são comparados a arquivos de execuções
anteriores, que chamamos de baseline. Os testes que não cumprem com sua finalidade devem
ser revistos, consumindo tempo do analista de negócio para buscar novos dados e dos
programadores de teste, imputando estes dados no código fonte. Com este estudo foi
constatado que o problema são os dados fixos no código fonte dos testes, que com os
expurgos do sistema acabam sendo excluídos da base e quando o teste tenta utilizar estes
dados, acaba finalizando com erro ou executando com sucesso, mas divergindo no resultado
esperado de acordo com a baseline.
O principal objetivo é que seja possível atualizações de base de dados mais constantes e que
reduza ao máximo o retrabalho dos analistas e programadores buscando dados para as
automações.
Para que não tenha esse impacto a cada atualização, foi projetado uma nova arquitetura, onde
ao invés dos dados estarem fixos no código fonte dos testes, eles estariam em arquivos JSON,
que seriam gerados através de scripts desenvolvidos na linguagem Progress, onde buscariam
na base de dados as informações que o teste necessita. Sendo assim a cada atualização não
seria mais necessário consumir o tempo dos analistas e programadores, apenas seria o tempo
de executar uma bateria de scripts que criam os dados que os testes necessitam.

Palavras-Chave
testes, automatizados, java, automação, software.