Logic Programming to Generate Complex and Meaningful Test Data

Even in today’s modern software engineering world, there still exist obstacles that confound testers’ ability to generate test data—data that is complex and precise but also that can be generated in mass quantity quickly.

In data warehouse applications, which typically contain copious historical data, it is very cumbersome and time consuming to generate data through the ‘front door’ of these systems via import files and simulated user interaction. This approach can also have the shortcoming of not easily allowing application testers to land data on precise points called for in functional testing.

Furthermore, third party data generation tools, while excelling at generating copious data, generally don’t provide application testers customization hooks that are powerful and expressive enough to generate meaningful data—particularly data where relationships are complex and where understanding of the data requires application knowledge (e.g. business logic) not found in a database schema.

To address this problem, we have taken an approach using constraint logic programming; it is loosely inspired by prior work done in the area of Reverse Query Processing (RQP). The general idea is that if a tester can write a SQL SELECT query for the test data s/he targets, then using RQP the tester has the tool to generate data sets that fit that query.

2018 Conference

Conference Quick Links

2018 Conference Location

World Trade Center
121 SW Salmon St.
Portland, OR 97204

Don’t Miss Out!

The PNSQC newsletter offers readers interviews with presenters and keynotes, invites to webinars, upcoming industry calendar listings, and so much more straight to your inbox. Sign up by entering your email into the box and let the latest news come directly to you.