Publication
ACM SIGPLAN Notices
Paper

The effect of certain modular design principles on testability

Download paper

Abstract

This paper is a nonprogrammers view of design principles which are considered essential to testability of complex structures. The principles are related to the programming problem. The basic problems in verifying the function of any complex structure derive from: inadequate specification of function, the very large number of possible structures (most of which are “mistakes”) and the very large number of possible outputs for specified and unspecified inputs. Present trends in programming techniques are towards various forms of controlled modularity. If modularity is controlled so that the function of a module is independent of the source of its input, the destination of its output, and the past history of use of the module, the difficulty of testing the modules and structures assembled from the modules is greatly reduced. Multilevel modularity also powerfully reduces the complexity of modules and structures. Controlled modularity requires that the separation of certain variables be rigorously maintained. Controlled branching also reduces complexity and testing requirements. These are examined with mathematical examples and it is concluded that if the proper principles of controlled modularity are observed, it should be technically feasible to design software to achieve specified function and that under certain conditions it should be economically feasible to test software so designed to practical levels of accuracy and reliability. © 1975, ACM. All rights reserved.

Date

Publication

ACM SIGPLAN Notices

Authors

Resources

Share