Browse Prior Art Database

Test Data Generation Processor / Language

IP.com Disclosure Number: IPCOM000016792D
Original Publication Date: 2003-Jul-15
Included in the Prior Art Database: 2003-Jul-15
Document File: 2 page(s) / 43K

Publishing Venue

IBM

Abstract

A common problem in Database development is the lack of test data for doing scalability tests, or performance tests or sometimes any tests at all. The approach most programmers take is to write custom scripts that replicate known product data munging it in some random way to generate additional data. This paper describes a compact macro language that can simplify the task of generating test data.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Test Data Generation Processor / Language

A common problem in database development is the lack of test data for doing scalability tests or performance tests or sometimes any tests at all. The approach most programmers take is to write custom scripts that replicate known product data munging it in some random way to generate additional data.

This paper describes a compact macro language that can simplify the task of generating test data. The end user can now construct simple scenario scripts using the macro language to produce test data templates so that when a row is created in table A, then a related row is created in table B, and three rows are created in table C. The processor keeps track of the state of the substitutions and randomizes them as needed eliminating the need to develop complex one of a kind scripts to generate your test data.

The end user constructs a script file for every scenario relative to database update and insert that may occur during the use of the database. Where random values are needed the correct macro expansion is provided. The script is then processed by the macro processor with an iteration count parameter. The macro processor will repeatedly rerun the script for the required number of times and create a single script of any inserts / updates and other SQL statements. Alternatively, the macro processor could directly apply the generated test data to the database or communication system if so programmed using a random time or a set time.

Here's a brief description of the {...} macros interpreted by the macro processor program:

{name} get the current value of name

{name??} get a random value from the "name" list

{name<<}, {name>>} first or last element of the list

{name<}, {name<?} backup one or a random #...