Quando os analistas finalizam a lista de casos de teste, começa uma nova odisseia: obter em tempo hábil e de forma adequada o conjunto de dados necessário para executar a bateria planejada. Surgem problemas como registros específicos que apenas alguns recursos sabem gerar, alta dependência de gerências com outras prioridades, quantidade limitada ou qualidade questionável nos ambientes disponíveis…
Essa problemática se multiplica quando o QA adota um modelo ágil de gestão, com calendários de entregas mais restritos. A necessidade de informações deixa de ser semanal ou mensal, passando a ser diária. Todo esse tempo desperdiçado em atividades não diretamente relacionadas aos testes do software afeta a eficiência e a eficácia na verificação.
A automatização de casos de teste não resolve o problema por completo. Os scripts automatizados realizam sequências funcionais, mas requerem dados de acesso complexo ou não automático para seu início.
A importância de Test Data Management
Nesse contexto surge o que é conhecido como TDM (Test Data Management). Isso inclui práticas e diretrizes que permitem acelerar o tempo de obtenção da quantidade e qualidade de dados que as organizações necessitam, melhorando a eficiência nos produtos a serem desenvolvidos. Alguns desses destacados são:
- Analisar profundamente os dados necessários e definir o conjunto de dados que possa ser utilizado por mais de um caso de teste.
- Identificar e proteger dados sensíveis ou criar dados artificiais.
- Priorizar a informação mais importante a ser processada e entregue.
- Identificar as regras de negócios que devem ser incorporadas para gerar a informação.
- Implementar a extração automatizada de dados produtivos.
- Montar um repositório central onde arquivar e versionar os dados para encontrar todos os tipos de dados para diferentes tipos de testes.
Como obter os melhores resultados
Um estudo realizado pelo DevOps Research and Assessment (DORA) indica que equipes com melhor desempenho em testing automatizados seguem princípios básicos com os dados de teste. A seguir, os principais:
- São adequados e estão disponíveis para executar conjuntos completos de testes automatizados.
- Podem ser adquiridos conforme a demanda.
-
Não limitam os testes automatizados que as equipes podem executar.
Python é uma linguagem de programação livre, multiplataforma e multiparadigma amplamente utilizada. Permite desenvolver quase qualquer tipo de solução e possui uma ampla variedade de frameworks de alta qualidade para resolver problemas de maneira rápida.
Além disso, existem muitas soluções para auxiliar no gerenciamento de informações. Por exemplo, pandas (para análise e manipulação de dados), faker ou fogger (para mascaramento de dados), pymongo (para persistência em bancos de dados NoSQL como MongoDB) e Jenkins (para execução com integração contínua).
A importância dos indicadores.



