A Case Study Using the Round-Trip Strategy for State-Based Class Testing
نویسندگان
چکیده
A number of strategies have been proposed for state-based class testing. An important proposal was made by Chow [5] and adapted by Binder [3]: It consists in deriving test sequences covering all round-trip paths in a finite state machine (FSMs). Based on a number of (rather strong) assumptions, and for traditional FSMs, it can be demonstrated that all operation and transfer errors in the implementation can be uncovered. Through experimentation, this paper investigates this strategy when used in the context of UML statecharts. Based on a set of mutation operators proposed for object-oriented code we seed a significant number of faults in an implementation of a specific container class. We then investigate the effectiveness of four test teams at uncovering faults, based on the round-trip path strategy, and analyze the faults that seem to be difficult to detect. Our main conclusion is that the round-trip path strategy is reasonably effective at detecting faults (87% average as opposed to 69% for sizeequivalent, random test cases) but that a significant number of faults can only exhibit a high detection probability by augmenting the round-trip strategy with a traditional black-box strategy such as category-partition testing. This increases the number of test cases to run —and therefore the cost of testing— and a cost-benefit analysis weighting the increase of testing effort and the likely gain in fault detection is necessary.
منابع مشابه
From UML State Machine to code and back again!
UML state machines and their visual representations are much more suitable to describe logical behaviors of system entities than equivalent text based description such as IF-THEN-ELSE or SWITH-CASE constructions. Although many industrial tools and research prototypes can generate executable code from such a graphical language, generated code could be manually modified by programmers. After code...
متن کاملRoundtrip Engineering with FUJABA 1
1 Introduction Typically, UML is used in the early software development phases. Use-case diagrams serve for requirements analysis. During object-oriented analysis and design, the different use-cases are refined by a number of scenarios using sequence diagrams, collaboration diagrams or activity diagrams. In more elaborated cases, state-charts may be used to specify exact (object) behaviour. In ...
متن کاملGenerating Class-Based Test Cases for Interface Classes of Object-Oriented Black Box Frameworks
An application framework provides a reusable design and implementation for a family of software systems. Application developers extend the framework to build their particular applications using hooks. Hooks are the places identified to show how to use and customize the framework. Hooks define the Framework Interface Classes (FICs) and their possible specifications, which helps in building reusa...
متن کاملGenerating Class-Based Test Cases for Interface Classes of Object-Oriented Black Box Frameworks
An application framework provides a reusable design and implementation for a family of software systems. Application developers extend the framework to build their particular applications using hooks. Hooks are the places identified to show how to use and customize the framework. Hooks define the Framework Interface Classes (FICs) and their possible specifications, which helps in building reusa...
متن کاملProcess model for round-trip engineering with relational database
Iterative and incremental development of client/server database systems requires a round-trip engineering support, in particular in a designimplementation cycle. This paper identifies some more difficult round-trip engineering scenarios and defines processes needed to handle those scenarios. The processes conform to the current state-of-the-practice in forward and reverse engineering with relat...
متن کامل