Managing data with regression integration testing.
Real data sets from production, run multiple times. Has real data quality issues.
Validation of test data
Real test data may not cover all of the corner cases that you need. Manufactured data may not have the unforeseen issues that real data does.
Purpose: find inconsistencies with understanding of production data.
Write applications to set up test data.
Different approach - Create a suite that queries the production data to see if it violates any of the assumptions you've made.
data filtering data querying
Would it be possible to declare the type of data you were looking for in your test and have the code go and dynamically discover it in your data set?
2 data sets are probably needed.
- one that is manufactured to exercise the known systems boundaries
- one that is a sample production set which exposes things you haven't thought of.
Have a dedicated test data team
Data variation strategies
- Order your data by last changed date so you can see the most recent differences. They probably caused the problem.
Create an artificial data set that tests lots of corner cases in a small set of data.
DBUnit has two purposes:
- prime the DB with the data needed for tests.
- Verify the data