Test Environments are aimed at System Testing, QA or Acceptance Testing where data protection is often not a viable option due to the large numbers of programs and files involved and consequently the considerable overhead in creating the run time environment. Users define the libraries which make up their system test environment and TestBench will then automatically journal all files and data areas in the libraries which are not journaled already. This enables the User to specify a Test Environment for a Test Case as an alternative to Data Protection, and when the test is run the library list specified for the environment will be used in preference to the Test Case library list. If the Environment library list is blank, the Test Case library list is used, if this is empty then the current library list will be used. All journals attached to the Environment will be analysed and results in the form of file and data area effects and data rules are reported.
In addition, the User can at any time define a Checkpoint, causing TestBench to tag the last record for each journal attached to the Environment. At any future point in time the User can rollback changes to files, data areas and user spaces up to the specified Checkpoint. This can be done even if TestBench is not being used to initiate tests via Test Cases, but when testing is being performed in your application directly.
There are three major differences between this technique compared to Data Protection:-
- Objects are not copied at the start of the test, therefore the initiation is fast.
- The environment is shared and can be used by a team of testers.
- Data is not automatically reset at the end of a test, the user must initiate the rollback to an existing (prior) checkpoint.