30 Days of Agile Testing! Day eighteen.

Day 18:
How can you make testing jobs easier?

One challenge I’ve faced in many roles has been that of finding good, clean test data.
In the example of a payments provider, you may need to run a test on a user that has enough transaction history to take up several pages.
You'll have to search to find a user that meets the criteria - or, run some sort of query to find them.

Upon finding someone suitable, you may find that the transaction history doesn’t make the grade - maybe it’s not realistic enough data, or, maybe it’s been corrupted somehow.

This can be a nasty rabbit hole to go down.
You would save time if you knew in advance what user to use!

Often, testers solve this by setting up ‘permanent’ test data in their testing environment.
In our example from above, this could be a ‘special’ user that contains all the transaction history you need.

This is problematic - because if it’s a shared environment, other people can access - and subsequently corrupt - that data.
Something we’ve started to find useful in solving the ‘good test data’ problem, is building tools to set up the necessary data on the fly.

So far, we’ve used this approach in a couple of ways:

  • a javascript based tool that loops through the UI creating a number of payments specified by you
  • a chrome plugin that can create a specific set of customer data, filling in all the pesky fields for you
  • a tool to assist in generating OAuth2.0 tokens for testing our API

So - how can you make testing jobs easier?
By building tools to help you set up good, clean, test data quickly!

- JE