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 a new software or new features in a 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 enviroments as well.
There are ways to make a test enviroment 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:
- Creating test data manually takes time. So does creating data generating tools. But the latter is done once and can be modified and used again and again.
- 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 performance (server load, optimization) but also if large amounts of data is presented in a user friendly way (user experience/UX).
- 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 is 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 checkins: Creates checkouts and checkins related to reservations, but with random deviations.
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, were 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.