How we test our software with realistic data without breaking GDPR

Software development and testing with large amounts of data is important. But with GDPR, testing software on real data has some strings attached. This is how we solve it.

When developing new software or new features in software, the best way to test how well it actually performs is by using real-world production data.

However, for a new software product or with substantially new features, there might not be any real data available. Moreover, GDPR - the general data protection regulation from EU - is, with good reasons, making it more complicated to use real data that might contain personal information in test and development environments as well.

There are ways to make a test environment GDPR compliant, but that does not solve the challenge with test data for new features where no test data are available.

How we are solving it

Lately, we have been working on internal tools to generate large amounts of realistic test data, for several reasons:

  1. Creating test data manually takes time. So does create data-generating tools. But the latter is done once and can be modified and used again and again.
  2. Creating large amounts of test data takes almost no more time (we're talking milliseconds) than creating just a little amount of data. With large amounts of data, we can test both technical performances (server load, optimization) but also if large amounts of data are presented in a user-friendly way (user experience/UX).
  3. With large amounts of data, it is much easier to develop analytic features, making them perform and work well right from the beginning.

A few examples

Generate reservations: This tool generates random reservations within a given time range. Duration and time between reservations are random, but within realistic ranges, even names are generated randomly. Items (one or more) and contacts (zero or more) are added randomly as well.

Generate checkouts and check-ins: Creates checkouts and check-ins related to reservations, but with random deviations.

Demo accounts

We are also using these mockup data creation tools when creating demo accounts. When signing up for a free Itefy trial account, you will in addition to a blank free for 14 days production account be able to create a free demo account with mockup data, usable for 14 days as well, where you can see and try out a (fake) live account.

The demo account feature is at the time this article is written (2018-02-16) not ready but will be released within about 6 weeks or less.

October 2020: We have built the abilities to create fictitious items and other data, directly into the trial accounts, and as a result, there is no longer need for the demo account type. This makes it easier to maintain Itefy and ensure high quality.