NISTNISTITLdiv897
NISTNIST NISTILT NISTITLSoftware Diagnostics and Conformance Testing DivisionNIST ITL NISTITL
 
 
     Software Quality Group Standards and Conformance Testing Group Interoperability Group    
Use Our Products       
 
Software Component Integration Testing
Software Component Integration Testing
(formerly, Software Testing by Statistical Methods)

(http://www.nist.gov/itl/div897/ctg/stsm.htm)
Len Gallagher (lgallagher@nist.gov)

Overview: This research project focuses on new ways to address conformance testing of object-oriented software whose specification is dependent upon the use and integration of various software components. The software components themselves may be specified at different times by different specification groups, yet the integration of all of the pieces must work together under the rules of a new or revised system specification. The goal of this project is to discover new methods for efficient and effective conformance testing of such systems.

Industry Need Addressed: Business software is often constructed from a combination of off-the-shelf components, with new components integrated to satisfy new requirements. The original components are often sealed so that the source code is not available, yet objects in the new components will interoperate via messages with objects in existing components according to expected interface rules derived from formal or informal specification of each component. Newer and more efficient means of specifying and testing such business software will result in lower development costs and higher quality.

NIST/ITL Approach: We assume that each component is object-oriented, that is, it consists of objects with state and behavior. State is determined by state variables for each object and behavior is determined by methods that operate on one or more objects to read or modify state variables. We represent state and behavior as a finite state machine where predicates on state variables determine a state and where transitions result from state transition specifications for each method. The feasible processes of object-oriented software can then be represented as data flows on a directed graph, where nodes are determined from states, guards, and transitions of the finite state machine, and where edges are determined from data and control flow resulting from method invocation. An appropriate set of conformance tests to cover all potential data flow can then be effectively derived from the directed graph.

Initial priorities are on effectively representing the overall behavior of a software system by data and control flows through the directed graph and on automatically generating test cases that cover all possibilities. Subsequent efforts will result in test generation efficiencies and in automatic application of the test cases to the system under development. An overall goal is to automate the entire process so that test cases can be derived directly from an arbitrary object-oriented specification, such as those using UML modeling facilities.

Impact: This project contributes to the advancement of software specification and testing methodologies, and to practical application of the results to object-oriented software systems, thereby contributing directly toward the ITL mission of promoting and improving the quality of software. More efficient and automated methods of specification and testing will have a positive impact on the software industry as a whole.

 
Last modified: February 1, 2002

  Lower Curve      
PRIVACY/SECURITY ISSUES
NIST is an agency of the U.S. Commerce Department's Technology Administration.
Created on January 1, 2002.
Webmaster: webmaster-SSD