Automated testing system
First Claim
1. An apparatus for use with a computer system, including a central processing unit, for testing an application program comprised of a plurality of components, each of the plurality of components operating on parameter data and producing output values therefrom, the apparatus comprising:
- (a) storage means controlled by the central processing unit and cooperating with the computer system to store the application program;
(b) means for storing predicate rules for detecting invalid data, the predicate rules comprising precondition rules for detecting semantically invalid parameter data and postcondition rules for detecting invalid output values generated by one of the plurality of components;
(c) means responsive to the stored application program and to the stored predicate rules for compiling the predicate rules and the application program to generate an executable program module, an executable precondition module and an executable postcondition module in a common library;
(d) means for generating a pool of syntactically correct parameter data from a lexical analysis of the application;
(e) means responsive to the pool of parameter data for applying the parameter data to the precondition module to remove semantically invalid parameter data therefrom and for applying parameter data remaining in the pool of parameter data to each of the plurality of components to generate output values; and
(f) means controlled by the central processing unit and responsive to the output values for applying the output values to the postcondition module to detect invalid output data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for testing software programs systematically explores valid call sequences using a collection of data with a software program comprising a collection of subroutine components. Instead of writing unit tests, the subject invention provides tools to develop precondition rules which systematically remove from the data collection, data which is syntactically incorrect for proper operation with the software program and then data which is semantically incorrect for the software program. The resulting reduced data collection is applied to the collection of components to generate output values which are then checked against postcondition rules to verify that the software program operated correctly. The test method and apparatus are implemented in object-oriented technology to allow test engineers to quickly and easily develop invariants, precondition rules and postcondition rules which are used to test the software program.
-
Citations
7 Claims
-
1. An apparatus for use with a computer system, including a central processing unit, for testing an application program comprised of a plurality of components, each of the plurality of components operating on parameter data and producing output values therefrom, the apparatus comprising:
-
(a) storage means controlled by the central processing unit and cooperating with the computer system to store the application program; (b) means for storing predicate rules for detecting invalid data, the predicate rules comprising precondition rules for detecting semantically invalid parameter data and postcondition rules for detecting invalid output values generated by one of the plurality of components; (c) means responsive to the stored application program and to the stored predicate rules for compiling the predicate rules and the application program to generate an executable program module, an executable precondition module and an executable postcondition module in a common library; (d) means for generating a pool of syntactically correct parameter data from a lexical analysis of the application; (e) means responsive to the pool of parameter data for applying the parameter data to the precondition module to remove semantically invalid parameter data therefrom and for applying parameter data remaining in the pool of parameter data to each of the plurality of components to generate output values; and (f) means controlled by the central processing unit and responsive to the output values for applying the output values to the postcondition module to detect invalid output data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification