Você deve usar dados de produção ou gerar os dados para testar?

data

Você deve gerar os dados para testar

A geração de dados de testes é única maneira confiável para executar testes com precisão, repetidamente e de forma consistente, sabendo que os dados de entrada do teste não mudaram.

Algumas aplicações dependem de dados específicos que são difíceis de encontrar, ou difíceis de imitar. Por exemplo, uma aplicação web que exibe diferentes promoções baseadas no dia da semana em que você usa o sistema e que também muda os preços dependendo do dia da semana e da hora do dia.

Se você estivesse usando dados de produção para os testes, você teria que rodar teste em datas e horários específicos para testar diferentes promoções/preços, ou você teria que mudar a data e hora do servidor para cada um desses testes. Ao mudar a data e hora do servidor você irá afetar qualquer outra pessoa usando o servidor, então, isso deve ser evitado. Também, significa que, como você roda seus testes automatizados continuamente contra novas entradas, se você não usa um conjunto conhecido de dados de teste gerados, você vai obter diferentes resultados dependendo da hora do dia.

Quando desenvolvendo uma nova funcionalidade, não haverá dados de produção que você possa usar para testar, então, você tera que gerar algum dado neste caso.

A geração de dados de teste específicos, muitas vezes, leva mais tempo que carregar dados de produção, mas irá retornar resultados ao longo do tempo, visto que os teste são executados muito consistente contra um conjunto conhecido de dados.

Você deve usar dados de produção para testar

Quando você está testando um aplicação web, você está testando tanto os dados como o comportamento da aplicação. Usar dados de produção irá garantir que o que você está testando será o mais perto possível do comportamento atual, uma vez que a funcionalidade é entregue aos usuários de produção.

Se você gera os dados de teste e usa-os para testar, quem vai dizer que esse dado de teste é válido realmente? Se você gera dados de teste através de meios de baixo nível (tal como um script SQL de inserção), você pode introduzir dados de teste que não são representativos com relação aos dados de produção, os quais podem, ou introduzir erros na funcionalidade quando rodando realmente contra dados de produção, ou erros nos testes que não irão acontecer em produção. Quando seu esquema do banco de dados atualizar e evoluir, você precisará também manter seus scripts de geração de dados atualizados para que sejam um reflexo de produção o tempo todo.

Se você usa dados de produção, você precisar ser sábio sobre como armazenar os dados. Buscar no banco de dados através de scripts SQL é uma abordagem efetiva que irá lhe permitir rapidamente encontrar dados reais que você possa usar para verificar que uma história foi implementada corretamente.

Também irá lhe permitir identificar discrepâncias e casos extremos que podem ser testados usando dados reais de produção contra o sistema em desenvolvimento.

Se há alguma preocupação com relação a privacidade sobre o uso de dados de produção para testes, essas podem ser mitigadas para ofuscar* os dados, de modo que não possua características identificadoras

* isso significa embaralhar os dados, que pode  incluir nomes aleatórios, ou mudar datas de nascimento, endereços e etc.

 TRADUÇÃO/ADAPTAÇÃO DE PRIDE AND PARADE, DE ALISTER SCOTT
Anúncios

2 comentários em “Você deve usar dados de produção ou gerar os dados para testar?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s