previous | contents | next

CHAPTER 9 SYSTEMS AND COMPONENT TESTING
by Daniel Siewiorek .

As anyone who has programmed a moderate-size problem on a digital computer knows, the design and coding of the problem is only half the job. Even in a large, fast system it may be impossible to test exhaustively all cases to validate a design. Insuring that a program performs as intended may be a formidable task. Assemblers and compilers help isolate syntactical errors but, are of little aid in detecting errors in logical flow. At program run time only a few errors, such as division by zero, will be detected by systems software and hardware. In consequence, the designer is currently faced with logically validating a system with little automatic assistance either in the planning or running stages.

Many of the same problems that face the programmer also face the hardware designer. Logical errors can be produced by errors in the fundamental design algorithm, as well as in the hardware implementation of the algorithm, e.g., wiring. errors. Before a system is correct the programmer must insure that' a program meets its specification; So, too, the logic designer must validate his design.

Logic design validation usually takes one of three forms: (1) system development, e.g., debugging the system prototype; (2) manufacturing acceptance testing of the individual components which make up the system; and (3) systems testing. Systems testing usually takes place after the system is first assembled. However, maintenance testing of the system after it has become operational is - also an important, aspect of system testing. Each of these three types of logic design validation requires different basic assumptions. The assumptions underlying logic validation and the various techniques to assist testing will be described below.

SYSTEM DEBUGGING

The basic operations performed by the RTM's are analogous to those performed by a simple stored-program computer. The stored program is hard- wired in the control portion of the RTM system. Indeed, the flowchart used in designing an RTM system is similar to an assembly language program for the simple computer. Thus, many of the suggested techniques for RTM system debugging can be borrowed from software debugging techniques.

VALIDATION OF SYNTAX

An assembler for a computer will check to see if a program consists of correctly formed and valid operations. The counterpart of syntax analysis in the RTM system is to check if only allowable functions are used. For example, in a DMgpa, A<-Ax2 is available whereas A<-Bx2 is not. A further consideration of the RTM syntax is that the proposed wire list performs the functions as specified in the flowchart (analogous to determining the octal machine codes for mnemonic instruction names.)

An assembler-like program could be written to check the proposed flowchart and wiring list. In lieu of such a program the validation must be done manually by checking the proposed operations against those performed by the RTM's and by checking the wiring list.

An RTM assembler-like program could further yield as output a tape for a

 

396

previous | contents | next