Test Data Generation is seen to be a complex problem and though a lot of solutions have come forth most of them are limited to toy programs. DTM Data Generator is a simple, powerful and fully customizable tool that generates data for database testing purposes. The project is a set of generation rules.
It's a free, open source tool written in JavaScript, PHP and MySQL that lets you quickly generate large volumes of custom data in a variety of formats for use in testing software, populating databases, and... so on and so forth.
4. TEST DATA GENERATION
• It is important to test your application with
"real" data.
• Testing a data-aware application is one of the
most important but time-consuming tasks. It
is important to test your application with
"real" data.
5. Why is test data important?
• Need is: Testing it under
conditions that closely
simulate a production
environment.
• Alternate is: Hand-
entering data
6. Issues with the alternate way
• Problem 1: Doesn’t build volume and variety
• Problem 2: The data you enter will be biased
towards your own usage patterns
• Problem 3: Won't match real-world usage
• Problem 4: Leaving important bugs
undiscovered.
7. Why is realistic data important?
• Real data keeps the tester busy, engages the
tester.
• When you demonstrate new features to
others, they'll understand them faster.
• Testing with realistic data will make your app
more robust
8. What is a Test Data
Generation Tool?
• To fill your database with test data, you
need a generator. The generators will
generate realistic data for you based on
the column characteristics and/or
based on what the user defines.
10. DTM Data Generator
• http://www.sqledit.com/dg/
• Why DTM Data Generator ?
– Test database population
– Performance analyzing
– QA testing or loading tests fulfillment
– DTM Data Generator is a simple, powerful and
fully customizable tool that generates data for
database testing purposes
11. DTM Data generation Rules
• DTM Data Generator is a simple, powerful and fully customizable tool that
generates data for database testing purposes.
• The project is a set of generation rules. There are four principle generation
rules: data rows generation (one rule correspond with one table), tables
generation, objects generation and clear rule.
• The data rule inserts or appends the specified number of records into one
table. This rule can also update existing data or scramble it to another
database.
• The tables rule creates any number of tables with the same structure and
with the names according to the template; the created tables can be
populated by test data.
• The objects rule makes any number of database objects (views,
procedures, etc) with the same SQL text and with the names according to
the template.
• Clear Rule helps users to remove required data from the database before
generator execution.
12. Product Vendor Kind of tool Databases
DTM Data
Generator
SQLEdit Automatically fills a database
with test data.
SQL Server, DB2,
Oracle.
GS Data Generator GSApps Generates meaningful data for
your database.
SQL Server, DB2,
Oracle, MS Access.
Advanced Data
Generator
Upscene
Productions
It can generate real-life-like data
into your database, SQL script or
CSV files.
InterBase, Firebird,
MySQL.
SQL Data Generator Red-Gate Create realistic data based on
column and table names. MS SQL Server
EMS Data
Generator
EMS
This utility can help you
simulating the database
production environment and
allows you to populate several
database tables with test data.
Multiple editions, one for each
supported database.
Oracle, MySQL, MS
SQL, PostgreSQL, DB2,
Firebird.
Datanamic Data
Generator MultiDB
Datanamic
Solutions BV
Generates meaningful, realistic
test data based on column
characteristics. MultiDB edition
supports data generation for 5
database types.
Oracle, MySQL, MS
SQL Server, MS Access
and PostgreSQL.
IBM DB2 Test
Database Generator
IBM
Creates realistic test data for
your database application
development projects. Only for
DB2.
DB2
E-Naxos DataGen E-Naxos
Mainly focused on generating
random data. A free online
version is available also.
Exports insert scripts
for your database.
14. References
• My Blog post:
https://www.linkedin.com/pulse/test-data-
generation-roshan-masood
• https://www.kanoah.com/blog/best-tools-for-
test-data-generation/
• https://www.mockaroo.com/
• http://www.sqledit.com/dg/
• http://toolsfordatabases.com/test-data-
generation-tools.html
• http://www.generatedata.com
Editor's Notes
Well, that's the idea of this script.
Testing a data-aware application is one of the most important but time-consuming tasks. It is important to test your application with "real" data. To fill your database with test data, you need a generator. The generators will generate realistic data for you based on the column characteristics and/or based on what the user defines.
Test data generation, an important part of software testing, is the process of creating a set of data for testing the adequacy of new or revised software applications. It may be the actual data that previous operations or artificial data created for this purpose. Test Data Generation is seen to be a complex problem and though a lot of solutions have come forth most of them are limited to toy programs.
his site offers an online demo where you're welcome to tinker around to get a sense of what the script does, what features it offers and how it works.
Then, once you've whet your appetite, there's a free, fully functional, GNU-licensed version available for download. Alternatively, if you want to avoid the hassle of setting it up on your own server, for $20, letting you generate up to 5,000 records at a time (instead of the maximum 100), and let you save your data sets.
The generator was designed to provide developers and quality assurance engineers with high quality and realistic test arrays. It automatically creates data values and optional schema objects (tables, views, procedures, triggers, etc).
It's a free, open source tool written in JavaScript, PHP and MySQL that lets you quickly generate large volumes of custom data in a variety of formats for use in testing software, populating databases, and... so on and so forth.