This section describes ways of making your applications
error-free. Some of these suggestions apply not only to programming,
but also to operations and systems.
What often happens is that, when two application systems that run
perfectly by themselves are run together, performance goes down and
you begin experiencing "lockouts" or waits. The scope of each
system has not been defined well enough.
The key points in a well-designed application system are:
- At all levels, each function is defined clearly with inputs and
outputs well-stated
- Resources that the system uses are adequately-defined
- Interactions with other systems are known
There are various tools and techniques you can use to minimize
errors in your application programs. In general:
- You can use the storage protection facility to prevent CICS® code
and control blocks from being overwritten accidentally by your application
programs. You can choose whether you want to use this facility by
means of CICS system initialization parameters. See the CICS System Definition Guide for
more information about this facility.
- Consider using standards that avoid problems that may be caused
by techniques such as the use of GETMAIN commands.
The following general rules apply to testing applications:
- Do not test on a production CICS system--use a test system,
where you can isolate errors without affecting "live" databases.
- Have the testing done by someone other than the application developer,
if possible.
- Document the data you use for testing.
- Test your applications several times. See Testing applications for
more information about testing applications.
- Use the CEDF transaction for initial testing. See Execution diagnostic facility (EDF) for more information about using CEDF.
- Use stress or volume testing to catch problems that may not arise
in a single-user environment. Teleprocessing Network Simulator (TPNS,
licensed program number 5740-XT4) is a good tool for doing this.
TPNS
is a telecommunications testing package that enables you to test and
evaluate application programs before you install them. You can use
TPNS for testing logic, user exit routines, message logging, data
encryption, and device-dependencies, if these are used in application
programs in your organization. It is useful in investigating system
performance and response times, stress testing, and evaluating TP
network design. For further information, see the TPNS General Information manual.
- Test whether the application can handle correct data
and incorrect data.
- Test against complete copies of the related databases.
- Consider using multiregion operation. (See the CICS Intercommunication Guide for
more information.)
- Before you move an application to the production system, it is
a good idea to run a final set of tests
against a copy of the production database to catch any errors.
In particular, look for destroyed storage chains.
Assembler language programs (if not addressing data areas properly)
can be harder to identify because they can alter something that affects
(and abends) another transaction.
For more information about solving a problem, see the CICS Problem Determination Guide.
[[ Contents Previous Page | Next Page Index ]]