An Axiom-based Test Case Selection Strategy for Object-oriented Programs
نویسندگان
چکیده
Because of the growing importance of object-oriented programming, a number of testing approaches have been proposed. Frankl et al. propose the application of the functional approach, using algebraic specifications for the generation of test cases and the validation of methods. Given a specification, Frankl et al. propose that equivalent terms should give observably equivalent objects, and offer general heuristics on the selection of equivalent terms for testing. Their guidelines, however, are only supported by limited empirical results, do not have a theoretical basis, and provide no guarantee of effectiveness. In this paper, we define the concept of a fundamental pair as a pair of equivalent terms which are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is identical to that of all equivalent terms, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is mathematically based, simple, and much more efficient. Furthermore, it underscores the usefulness of axiom-based specifications. Ke yword Codes: D.2.1; D.2.5; D.1.5 Ke ywords: algebraic specifications, functional testing, object-oriented
منابع مشابه
A Survey on Regression Test Selection Techniques on Aspect-Oriented Programming
An aspect oriented programming is gaining a lot of popularity these days, there is a growing interest because of crosscutting concerns in object oriented systems. When the aspect oriented features are added into object oriented features the new program needs to be regression tested, and, to reduce the cost, Selection technique is used which eliminates the redundant test cases and thus makes the...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملA Test Strategy for Object-Oriented Programs
The complexity and interdependencies of an object-oriented program makes testing of such programs diicult. In this paper, we present a reverse engineering based model called Object Relation Diagram (ORD), which is generated from analyzing the C++ source code of an object-oriented program. An ORD is a directed graph in which the vertices represent the object classes and the edges represent the r...
متن کاملSequential Pattern Mining Based Test Case Regeneration
Automated test generation for object-oriented programs is an essential and yet a difficult task. Many automated test generation approaches produce test cases entirely from the program under test, without considering useful information from already created test cases. This paper presents an approach to regenerate test cases via exploiting frequently-used method call sequences from test repositor...
متن کاملSelecting Test Cases for Object Oriented Programs
Testing is used to assess the correctness of a program by running the program against a set of test data. The main problem in testing is that only a tiny fraction of the possible inputs of a program can be used to test it. Test selection techniques choose the test cases using models of the program and the bug distribution. Many different test selection techniques have been proposed. Each test s...
متن کامل