As well as providing key features that make the process of testing easier, more productive and more thorough, TestBench has features which help create the data needed at the start of the Project.

When carrying out testing to ensure that the correct data is being written to a database, that the correct logic is being executed under the right circumstances, and that functionally the system is performing as it should, it is not usually practical to perform these tests on large volume files (such as full copies of a live database) as you cannot see the wood for the trees. It is necessary to know what the expected result of any test should be in order to determine whether the test was successful or not, something which cannot be easily defined with large volumes of data. Later, once you are happy that the correct functions are being performed, volume testing has a meaningful place to check performance, capacities and operational/environment issues, but until then, you need small volumes and appropriate data which you can use and re-use.

With Data Cases you can automatically define a logical structure of Physical files, specify selection conditions that give a good mix of transactions or areas of business, and then use Extract_IT to build a coherent set of records that meet the required selection, cover the needs of testers, yet do not occupy large portions of valuable disk space. It is easy to reproduce up to date versions of the same data, or to create variations of the data for specific testing projects. The data can be altered as it is being extracted, or simply changed in the Test Library to ensure that it meets requirements. In addition, the data that has been extracted can be archived from the original set of files.

Use Warp_IT to change the dates in the files to give you transactions for a targeted period, such as the end of period, month or year. With Warp_IT you can ensure that the intervals between each transaction remain constant, as the whole database advances or moves backwards in time by the Warp Factor you have set. Warp Cases are used to define the objects to be affected by Warp_IT and the warp factors to be applied (the intervals to advance or retard the dates).

An additional feature in Warp_IT means that you can scramble names and addresses to desensitise confidential information, providing testers or third parties with realistic data, but which is no longer directly traceable to its source name or address.

Once you have created test files in the format you require, if you are using TestBench you can specify that these copies are not updated during, say, a unit test and copies of these files will be used leaving the carefully prepared test files in the same condition ready for the next test run. Alternatively, as part of System Testing or Acceptance testing, use the environment protection option to manage the Test environment and provide the option to re-set the database to pre-defined check points.

To enable a testing process to be fully automated one of the first considerations is the Test Data. Think of it as an asset, do not make random changes to it, carefully add new data to support extra planned scenarios and keep it safe so you can re-use it at any time, knowing what results it will produce. Any time the data changes you may need to re-check the results of your Test Cases, so the less changes the better. Hence why TestBench provides a number of options for Test Data protection to help ensure your initial data remains the same.