23 de maio de 2024
A geração de massa de dados é uma prática fundamental para testar de forma abrangente diversos componentes de sistemas, incluindo aprendizado de máquina (machine learning) e análise de desempenho. Mas por que é tão crucial investir tempo e esforço nesse processo?
Por que gerar massa de dados?
Gerar massa de dados é mais do que apenas preencher bancos de dados com informações aleatórias. É sobre simular cenários reais e comportamentos do sistema para garantir que ele funcione conforme o esperado. No entanto, muitas vezes, o tempo e esforço necessários para essa tarefa podem comprometer a modelagem e execução dos testes, levando a atrasos e custos adicionais. Isso, por sua vez, pode resultar em falhas no produto final, afetando a reputação e as vendas da empresa.
Métodos de geração de massa de dados
Existem vários métodos para gerar massa de dados, cada uma com seus próprios benefícios e casos de uso, considerando os requisitos específicos de cada projeto.
Simulação: Simular eventos ou cenários para gerar dados que imitem o comportamento real do sistema.
Ampliação de Dados: Aumentar conjuntos de dados existentes através de técnicas como duplicação, alteração de parâmetros ou adição de ruído, para criar volumes maiores de dados de teste.
Manual de Criação: Gerar dados manualmente por meio de inserção direta em sistemas ou bancos de dados. Essa opção é mais comum em testes de software ou criação de conjuntos de dados pequenos e específicos.
Geração Aleatória: Criar dados de forma aleatória dentro de certos parâmetros ou distribuições específicas. Isso pode servir para criar conjuntos de dados para testes de desempenho ou validação de algoritmos.
Extração de Dados de Fontes Existentes: Coletar dados de fontes públicas, como a web, redes sociais ou repositórios de dados, e adaptá-los para atender às necessidades específicas do projeto.
Monitoramento de Sistemas em Tempo Real: Coletar dados gerados por sistemas em operação em tempo real para análise e monitoramento contínuos.
Utilizando a massa de dados para testes
Em minha rotina, a maior parte das massa de dados são geradas para importação de um arquivo com dados pseudo aleatórios no próprio sistema. Foi possível gerar tais dados utilizando o Cypress, salvando o arquivo resultante dentro do repositório de testes. É possível ainda realizar a criação destes arquivos utilizando php, Javascript, entre outras linguagens.
A criação da massa de dados permitiu uma execução de testes de performance e de stress durante demandas que possuíam carregamento de listagens e exportação de dados no sistema.
Resultados obtidos
Identificado que, constantemente, os arquivos precisavam ser gerados manualmente para diversos testes. Além do teste de performance, alguns fluxos necessitavam da informação previamente cadastrada para manipulação de dados e outras importações. Até este momento, já foi possível auxiliar o próprio time de QA e o time de desenvolvimento nas demandas relacionadas ao módulo que deu origem à ideia de automatizar a geração de massa de dados.
Próximos passos
Com base nessa experiência, entra em pauta a ideia de construir uma página dinâmica que permita selecionar quais tipos de dados serão gerados, como CPF, data de nascimento e nome, e em qual formatação que os mesmos serão extraídos. Isso aumentaria ainda mais a eficiência e flexibilidade do processo de geração de massa de dados.
A criação de massa de dados é uma etapa crucial no desenvolvimento de sistemas robustos e confiáveis. Investir tempo e recursos nesse processo pode evitar problemas futuros e garantir a qualidade do produto final.
Autor: Kaique Caballero Lima