Você está na página 1de 12

Empresa de Informática e Informação do Município de Belo Horizonte S/A

PRODABEL

Gerência: GESS – Gerência de Engenharia de Software


Projeto: Melhoria do Processo de Implantação de Sistemas

Geração de Dados para Teste

Autor: Nathan Robert Barbosa Mariano

Belo Horizonte - MG
07 agosto, 2014
PRODABEL Geração de Dados para Teste

Sumário

1 Introdução..........................................................................................................................................3
2 Generate Data....................................................................................................................................3
2.1 Conclusão.................................................................................................................................11
2.2 Referências...............................................................................................................................11
3 Mockaroo.........................................................................................................................................11
3.1 Conclusão.................................................................................................................................14
3.2 Referências...............................................................................................................................14

GESS – Gerência de Engenharia de Software da Prodabel Pág. 2 de 12


PRODABEL Geração de Dados para Teste

1 Introdução

Este documento tem como objetivo proporcionar uma breve visão geral sobre como gerar massa de
dados para testes funcionais e/ou não funcionais utilizando algumas ferramentas. Devido à vasta
quantidade de funcionalidades e de possibilidades de uso, é importante ressaltar alguns pontos:
 este documento não se propõe de forma alguma a explorar todas as funcionalidades das
ferramentas e portanto não pode ser considerado um guia de referência, mas sim apenas um guia
básico com um exemplo de uso
 serão abordadas duas ferramentas, o Generate Data e o Mockaroo. Neste documento ambas serão
utilizadas via interface web. No entanto, outras formas podem ser usadas como baixar e instalar o
GenerateData e usar a API do Mockaroo, para realizar chamadas direto do seu código
 para maiores informações, a documentação oficial deve ser consultada
(http://benkeen.github.io/generatedata/ e http://www.mockaroo.com/api/docs)

2 Generate Data

 Os pontos fortes do generatedata.com é contar com vários tipos pré-definidos de dados e


possibilitar a geração de dados não apenas para bancos de dados (em sql) mas também gerar
dados de teste a serem utilizados em código (como por exemplo testes unitários ou de integração
em linguagens como perl, php, ruby e javascript)

 A título de exemplo, vamos gerar uma massa de teste que representará os dados de cadastro de
vários clientes

 Acesse www.generatedata.com

GESS – Gerência de Engenharia de Software da Prodabel Pág. 3 de 12


PRODABEL Geração de Dados para Teste

 no campo “COUNTRY-SPECIFIC DATA” escreva/selecione “Brazil”. Este campo serve para que
alguns dados sejam gerados no formato específico usado no país definido como por exemplo CEPs

 Agora vamos especificar os dados que queremos que sejam gerados. Para nosso exemplo, vamos
gerar alguns dados simples de cadastro de clientes: id (com autoincremento), nome, telefone e e-
mail

 A interface de criação de dados é composta de sete colunas:


◦ Primeira coluna: mostra a ordem dos dados a serem gerados
◦ Segunda coluna: usada para definir o nome do dado a ser gerado
◦ Terceira coluna: usada para definir o tipo do dado a ser gerado
◦ Quarta coluna: mostra uma lista de exemplos de como os dados podem ser gerados, onde
podemos escolher uma dessas formas de exemplo
◦ Quinta coluna: exibe algumas opções disponíveis de acordo com o tipo de dado escolhido
◦ Sexta coluna: exibe um botão de ajuda, com maiores informações sobre o tipo de dado
escolhido na terceira coluna
◦ Sétima coluna: mostra um checkbox que nos permite marcar alguma linha que se deseje deletar
(ao clicar no botão “del” da coluna)

 Abaixo das colunas, há o botão para adicionar linhas de dados:

 Por exemplo, para criarmos a coluna de dados de id do cliente, a tela foi preenchida de acordo com
o print abaixo:

GESS – Gerência de Engenharia de Software da Prodabel Pág. 4 de 12


PRODABEL Geração de Dados para Teste

 No print acima definimos uma coluna de nome id, que usará auto-incremento, começando em 1 e
aumentando de 1 em 1

 Após definirmos todos os dados a serem gerados, teremos uma tela similar a do print abaixo:

GESS – Gerência de Engenharia de Software da Prodabel Pág. 5 de 12


PRODABEL Geração de Dados para Teste

 Agora, devemos escolher como queremos que os dados gerados sejam exportados. Temos
diversas opções, como mostra o print abaixo:

GESS – Gerência de Engenharia de Software da Prodabel Pág. 6 de 12


PRODABEL Geração de Dados para Teste

 Dentre os formatos disponíveis, os mais interessantes para os testes são:


◦ CSV (principalmente para testes de desempenho com jMeter)
◦ Programming Language (pode ser em Perl, Ruby, PHP e Javascript)
◦ SQL (geração de script para popular bases dados MySQL, Postgres, SQLite, Oracle e SQL
Server)
◦ JSON (principalmente para testes de webservices)
◦ XML (principalmente para testes de webservices)

 Como exemplo vamos escolher a exportação dos dados em formato de script SQL para banco de
dados Oracle. No print abaixo estão as opções escolhidas, onde podemos ver que, se quisermos,
podemos pedir inclusive que gere script de criação e remoção da tabela que receberá os dados
gerados:

 Podemos ver ainda no print acima que não selecionamos opção de chave primária com auto-
incremento, mas apenas pelo fato de já termos criado o campo “id” do cliente no exemplo.
Poderíamos não ter criado este campo e na hora de gerar os dados poderíamos ter marcado esta
opção, que é bastante útil

 Para finalizar, basta escolhermos o número de linhas de dados que devem ser geradas e como
vamos acessar os dados gerados. Eles podem ser gerados na própria página, numa nova aba ou
página, ou disponibilizados para download:

GESS – Gerência de Engenharia de Software da Prodabel Pág. 7 de 12


PRODABEL Geração de Dados para Teste

 Ao clicar no botão “Generate” temos a seguinte saída:

 Para voltar para a página anterior ou re-gerar os dados, basta clicar nos botões na parte de baixo
da tela, que se encontram em destaque no print abaixo:

GESS – Gerência de Engenharia de Software da Prodabel Pág. 8 de 12


PRODABEL Geração de Dados para Teste

2.1 Conclusão

Este foi um exemplo simples de como gerar dados para testes no generatedata.com. Importante
ressaltar que o generatedata.com limita a geração a 100 linhas de dados por vez. Porém, o script de
geração de dados utilizado pela página pode ser baixado e instalado para poder ser usado sem limitação no
número de linhas a serem geradas. O download pode ser feito em
https://github.com/benkeen/generatedata/tags.

2.2 Referências

 http://www.generatedata.com/

3 Mockaroo

 Uma vez apresentado o generateData, pouco sobra pra falar sobre o mockaroo cujas
funcionalidades e interface são bem parecidas

 assim como no generateData, damos nomes às colunas de dados e escolhemos o tipo de dado que
será gerado para cada coluna

 abaixo segue uma lista dos pontos fortes do mockaroo em relação ao generateData:
◦ maior variedade de opções de tipos de dados
◦ possibilidade de poder especificar uma porcentagem de dados em branco para cada coluna
(para simular valores null na tabela)
◦ permite gerar até 100000 linhas de dados de uma só vez (1000 vezes mais que generateData)

GESS – Gerência de Engenharia de Software da Prodabel Pág. 9 de 12


PRODABEL Geração de Dados para Teste

 o único ponto fraco em relação ao generateData é o fato de o mockaroo oferecer menos opções de
formato de saída dos dados

 vamos gerar alguns dados de exemplo utilizando o mockaroo

 para isso, acesse http://www.mockaroo.com/. Será exibida a tela abaixo:

  vamos usar os próprios dados que ele sugere na página inicial. Vamos apenas mudar dois
campos:
◦ vamos colocar que 50% dos e-mails serão gerados em branco
◦ vamos definir que serão geradas 10 linhas de dados
◦ vamos definir que o formato de saída será JSON

GESS – Gerência de Engenharia de Software da Prodabel Pág. 10 de 12


PRODABEL Geração de Dados para Teste

 agora, basta clicar no botão “Generate Data”, e será exibido uma janela para que se faça o
download do arquivo com os dados gerados

 abaixo um print dos dados gerados:

 como pudemos ver foi criado um arquivo com 10 linhas de dados, no formato JSON, em que 5 e-
mails possuem valor null, como havíamos definido
GESS – Gerência de Engenharia de Software da Prodabel Pág. 11 de 12
PRODABEL Geração de Dados para Teste

3.1 Conclusão

Este foi um exemplo simples de como gerar dados para testes no mockaroo.com. Interessante
ressaltar que o Mockaroo disponibiliza uma API REST, onde podemos gerar dados via código e não via
interface web. Maiores informações em http://www.mockaroo.com/api/docs.

3.2 Referências

 http://www.mockaroo.com

GESS – Gerência de Engenharia de Software da Prodabel Pág. 12 de 12