Kai
Kai

Reputation: 39651

Productive data on the test system

I need some suggestions of how you handle your test data in manual UI tests. Our application needs data from a database to work and to being tested manually. Since we are dealing with sensitive data we are not allowed to make a dump of productive data for using it on our test system (or development machines).

How do you deal with this problem? I am thinking about the possibility of masking productive data for using it in the tests, are there any free or open source tools for this? I would prefer this solution because of the possibility to produce mass data. I hope you have an idea, creating test data manually would be really time intensive.

Upvotes: 1

Views: 322

Answers (3)

Eren
Eren

Reputation: 11

There are various points to consider when masking. For example:

  • do you know where ALL the sensitive data resides within the database;
  • how important is referential integrity;
  • is consistency over time and across databases required;
  • to what extent are you hoping to de-identify each data;
  • do you really need to mask the entire database?

If you are able to manually satisfy these items, then it's great! However, if you are looking to get this done in a timely manner while keeping the cost down (not to mention protecting the company and its database from exposure), I suggest you take a look at the Best Practices to Data Masking on www.datamasking.com

Hope this helps!

Upvotes: 1

robrich
robrich

Reputation: 13205

RedGate Sql Data Masker http://www.red-gate.com/labs/sql-data-masker/ was designed for this problem, but it's not free nor open-source. You could loop into some randomize function to just generate lots of junk, though it sounds like you're looking for a "buy" over a "build".

Upvotes: 2

Tor P
Tor P

Reputation: 1361

If you access the data through a DAO (Data access object) you can create a mock of that object to test your code, I used Mockito for this in a project. If the code you are testing directly accesses the database you'll have to point it to a "testing database" of some kind...

An extra feature of mocking is so-called spy-objects, that is a mock wrapped around an underlying real object, where you can override some of the methods with testing code, i.e. disable deleting, create masks, etc, while all non-mock-overriden methods are passed directly to the underlying real object... check out: http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html

Upvotes: 0

Related Questions