Software systems have increased in size and complexity. As a result, object-orientedprogramming (OOP) is increasingly being used in the development of such large and complex systems. Traditional procedural programmin...
详细信息
Software systems have increased in size and complexity. As a result, object-orientedprogramming (OOP) is increasingly being used in the development of such large and complex systems. Traditional procedural programming requires a design method that follows a sequential flow of control, which is difficult to follow in the case of large systems design. Thinking in terms of real-life objects and their interactions makes design easier in the case of OOP. However, OOP comes with its own set of disadvantages and testing is one of them. testing of such systems requires much more effort and time. In our approach the program is analyzed to build a system dependence graph-based model. This model is analyzed for test script generation and to find state-save points within the program where the state of the program can be saved and reused for executing another test case. The test cases are prioritized looking at the structural complexity of the program. The distributed testing presented here is different from traditional distributed testing, where they address testing of web and distributed applications. The distributed architecture developed in this work enables testing of OOP in an efficient manner. The concept is implemented for Java programs as there is support for continuation.
The importance of object state testing is illustrated through a simple example. We show that certain errors in the implementation of object state behavior cannot be readily detected by conventional structural testing,...
详细信息
ISBN:
(纸本)0818667052
The importance of object state testing is illustrated through a simple example. We show that certain errors in the implementation of object state behavior cannot be readily detected by conventional structural testing, functional testing, and state testing. We describe an object state test model and outline a reverse engineering method for extracting object state behaviors from C++ source code. The object state test model is a hierarchical, concurrent, communicating state machine. It resembles the concepts of inheritance and aggregation in the object-oriented paradigm rather than the concept of state decomposition as in some existing models. The reverse engineering method is based on symbolic execution to extract the states and effects of the member functions. The symbolic execution results are used to construct the state machines. The usefulness of the model and of the method is discussed in the context of object state testing in the detection of a state behavior error.
暂无评论