Header image  
The Journal of Software Testing, Verification, and Reliability, In press -published online March 2008.  
  HOME ::
   
 
Supaporn Kansomkeat and Wanchai Rivepiboon

 

Abstract

Object-oriented component engineering is increasingly used for system development, partly because it emphasizes portability and reusability. Each time a component is used, it must be retested in the new environment. Unfortunately, the data abstraction that components usually use results in low testability. First, internal variables cannot be directly set. Second, even though a test input may trigger a fault, the failure does not propagate to the output. This paper presents a technique to increase object-oriented component testability, thereby making it easier to detect faults. Components are often sealed so that source code is not available. The program analysis is performed at the Java component bytecode level.
A component’s bytecode is analyzed to create a control and data flow graph, which is then used to increase component testability by increasing both controllability and observability. We have implemented this technique and applied it to several components. Experimental results reveal that fault detection can be increased by using our increasing testability process.

Keywords: Software Testing; Software Testability; Component Software; Bytecode; Program Analysis

 

Back to my home page