TestBench provides a powerful set of facilities to provide a consistent starting point and protection of your test data no matter how badly a program may crash or corrupt data. However there are a number of circumstances where OS/400 does not provide sufficient information to allow TestBench to know which objects require protection. Wherever possible the Test Pre-Checker will warn you that these circumstances exist if the information is available at the OS/400 object level. It should be noted that these limitations are not peculiar to TestBench and will be encountered whatever approach is used:

• If a program issues a CALL to another program by variable name, that is a name which is set during the execution of the program, this CALL cannot be tracked and if subsequent programs update data files or areas these will not be protected.

• If a program accesses a data file or area with a hard coded library name this will bypass the manipulation of the library list that TestBench has performed. One of the most frequent implementations that will be found is on the Override Data Base File command (OVRDBF). It is for this reason that TestBench allows you to intercept OVRDBF commands to provide warning and the option to dynamically change the override or halt the test run. It is possible to corrupt any data base with many other OS/400 commands and TestBench should never be considered a replacement for good security standards over both your data and command access. Examples of such commands would include Copy File (CPYF) and all its derivatives, Structured Query Language (SQL) statements, Clear Physical File Member (CLRPFM), Delete File (DLTF), Clear Library (CLRLIB) and Delete Library (DLTLIB).