PLATAFORMA DE SUPORTE AO TESTE DE SOFTWARE - Costa de Oliveira, Yago; Maria de Castro Andrade, Rossana; Santos, Ismayle de Sousa (Encontros Universitários da UFC, 2022)
Teste de software é uma das principais atividades de verificação e validação utilizadas para melhorar a qualidade de um sistema de software. Devido a isso, muitos tipos de testes são realizados para softwares, sendo que o teste de software é uma atividade de alto custo, em razão da necessidade de conhecimentos e ferramentas para criação e execução dos testes. Desse modo, na Fábrica de Testes do GREat (Grupo de Redes de Computadores, Engenharia de Software e Sistemas) foram implementadas algumas ferramentas para auxiliar na atividade de teste de software, porém elas não eram integradas. Sendo assim, no contexto desse projeto, foi feito um estudo e implementação de uma plataforma de testes que permitisse a integração de diferentes ferramentas de testes. Inicialmente, foi realizado o estudo em arquiteturas de microsserviços, para ser possível realizar a automação do processo de criação de testes, em que cada etapa fosse um serviço independente e que juntos compusessem um sistema. A partir disso, foi possível compreender melhor o sistema, sendo então estudados as tecnologias necessárias para a criação de uma plataforma de suporte a testes de softwares, em que linguagens de programação e ferramentas foram utilizadas, dentre elas: JavaScript, NPM (Node Package Manager) e Git. Dado esse estudo, foi construída uma API(Application Programming Interface) permitindo a transformação automática de casos de uso em testes a serem executados. Por fim, iniciou-se uma segunda etapa do projeto que foi a realização de um desenvolvimento web, em que foram utilizadas tecnologias como: HTML, CSS, e ReactJS. Assim, o front-end web foi conectado à API desenvolvida, de forma que o usuário tem uma interface gráfica para criação de casos de testes e exibição dos resultados gerados pela API. Então, espera-se com essa plataforma que as ferramentas existentes possam ser transformadas em serviços independentes de um mesmo sistema, permitindo assim a evolução e manutenção rápida de cada ferramenta.