Test requirements

Depending on your system configuration, user requirements, and the design characteristics of your database and data communication systems, you should test DL/I call sequences, application decision paths, and performance.

Test for the following:
  • That DL/I call sequences execute and the results are correct.
    • This kind of test often requires only a few records, and you can use the DL/I Test Program, DFSDDLT0, to produce these records.
    • If this is part of a unit test, consider extracting records from your existing database. To extract the necessary records, you can use programs such as the IMS DataRefresher.
  • That calls execute through all possible application decision paths.
    • You might need to approximate your production database. To do this, you can use programs such as the IMS DataRefresher and other IMS tools.
  • How performance compares with that of a model, for system test or regression tests, for example.
    • For this kind of test, you might need a copy of a subset of the production database. You can use IMS tools to help you.

To test for these capabilities, you need a test database that approximates, as closely as possible, the production database. To design such a test database, you should understand the requirements of the database, the sample data, and the application programs.

To protect your production databases, consider providing the test JCL procedures to those who test application programs. Providing the test JCL helps ensure that the correct libraries are used.

What kind of database?

Often, the test database can be a copy of a subset of the production database, or in some other way, a replica of it. If you have designed the production database, you should have firsthand knowledge of this requirement. Your DBDs for the production database can provide the details. If you have your production database defined in a data dictionary, that definition gives you much of the information you need. The topics in this section describe some aids available to help you design and generate your test database.

What kind of sample data?

It is important for the sample data to approximate the real data, because you must test that the system processes data with the same characteristics, such as the range of field values. The kind of sample data needed depends on whether you are testing calls or program logic.
  • To test calls, you need values in only those fields that are sequence fields or which are referenced in SSAs.
  • To test program logic, you need data in all fields accessed in the program logic such as adds or compares.

Again, you might use a copy of a subset of the real database. However, first determine which fields contain sensitive data and therefore must use fictitious data in the test database.

What kind of application program?

In order to design a test database that effectively tests the operational application programs being developed, you should know certain things about those programs. Much of the information you need is in the application program design documentation, the descriptors such as the PSBs, your project test plan, and in the Data Dictionary.