System testing is carried out to ensure that the system works accurately and efficiently before it is put into live operation. The scope of system testing includes all clerical and computer aspects.
Programs should be tested individually and then in groups to verify that all linkages between programs are as required by the system specification. Once programs have been tested and perform correctly in groups, they can be tested as part of the complete system.
Similarly, hardware and communication links should be tested to ensure that they are functioning correctly before being tested as part of the complete system. The final stage of testing, which precedes changeover to the new system, is the linking together of the previously tested and verified programs, and the tested hardware to ensure that the system works under operational conditions.
At this point, user staff may be involved in the tests, although it is essential that both the hardware and software have been tested as thoroughly as possible before users are asked to take part in system trials. Otherwise failures, whose cause may be minor from a computer point of view, can cause confusion and frustration for the user and result in lack of confidence in the system.
The TEST DATA on which the system trials should be based will be sufficient to test most of the system. To test it completely could be difficult and time consuming.
The criteria to which the system will be tested should be a decision, which is made by a committee (to include the analysts and senior users of the system).
This committee must define what constitutes a 'PASS' and a 'FAIL'.
The program should only accept valid and specified data. All other data should be reported and rejected, or totally ignored.
Clerical and computer files must be checked for validity of format at each stage of processing. Computer files should be checked for ease of maintenance, access, updating and storing.
Output testing is related to the output of each sub-system within the system.
Any test data should also check the output programs. An output program should only produce specified and authorised output.
System testing should also check clerical procedures. For example, system testing should check whether source documents can be ready on time, and whether the data preparation department can cope with the work load; what about Thursdays when they are busy with the payroll?
For complete checking of clerical procedures, the full-scale parallel run might be necessary see IMPLEMENTATION.
Where possible, tests should take part in the operational environment and should test hardware and people as well as programs. This is particularly important in an environment which is prone to interruption, e.g. in a shop or sales office, since the ability to resume operations after interruption or to incorporate enquiries into a system must be tested.
