Otimização da restauração da base de dados durante a execução de testes automatizados - AMARAL, Alexandre de Carvalho (105, 2024)
Este trabalho investiga a hipótese de que a restauração seletiva de partes alteradas de um banco de dados, utilizando snapshots, pode acelerar significativamente a execução de testes End-to-End (E2E) que necessitam restaurar a base de dados sem comprometer a integridade. Para testar essa hipótese, foi configurado um ambiente de teste com Docker e MSSQL, onde foram realizados testes automatizados utilizando a ferramenta Cypress. A metodologia envolveu a criação de scripts para manipulação de snapshots e backups completos. A coleta de dados foi realizada medindo o tempo de restauração com comandos JavaScript. Os resultados mostraram que o tempo médio de restauração com snapshots foi de 734,47 milissegundos, enquanto com backups tradicionais foi de 5083,00 milissegundos, representando uma melhoria de desempenho de aproximadamente 85,6%. Conclui-se que a implementação de snapshots é uma estratégia eficiente para otimizar processos de teste e desenvolvimento, mantendo a confiabilidade e independência dos testes.

This study investigates the hypothesis that selective restoration of altered parts of a database using snapshots can significantly accelerate the execution of End-to-End (E2E) tests that require database restoration without compromising integrity. To test this hypothesis, a test environment was configured with Docker and MSSQL, where automated tests were conducted using the Cypress tool. The methodology involved creating scripts for handling snapshots and full backups. Data collection was performed by measuring restoration time with JavaScript commands. The results showed that the average restoration time with snapshots was 734.47 milliseconds, while traditional backups took 5083.00 milliseconds, representing a performance improvement of approximately 85.6%. It is concluded that implementing snapshots is an efficient strategy for optimizing testing and development processes while maintaining test reliability and independence.
Optimizing database restoration when running automated tests
Keywords: Banco de dados; Softwares; JavaScrip; Gestão e Negócios