Usage notes

Author(s):  
Douglas Schenck ◽  
Peter Wilson

Now we discuss some of the potential uses of the EXPRESS-I language. In Object-Oriented terms, an EXPRESS entity would be called a class, and an instance of a class is termed an object. One object may reference another object. EXPRESS, though, distinguishes between entities and types (i.e., the enumeration, select and the defined data type) as entities may be subtyped whereas types cannot be. EXPRESS-I treats entity instances as objects in the OO sense. It also allows types to be treated as objects in that they can be instantiated and referenced. Alternatively, type values may be embedded in entity instances. The simplest use of EXPRESS-I is as a paper exercise in displaying examples of EXPRESS declarations that are populated with data. The language allows the display of entity instances as referenceable objects. Types instances may also be displayed as referenceable objects, or they may appear as unreferenceable values within other objects' values. Examples in this book show both forms of type instantiation. Values of explicit entity attributes are required. The values of derived or inverse attributes need not be displayed, except as exemplars, because as noted, these are essentially calculable from the values of the explicit attributes. Examples of EXPRESS schemas can also be displayed, as well as individual objects. The EXPRESS-I model construct is provided to enable the display of multiple schemas. Typically, a model would be used when two or more EXPRESS schemas interact with each other. Note that EXPRESS itself does not support such a construct. Note: We do not discuss models in this book. The test case construct is provided to assist in the formal specification of test cases against the implementation of an EXPRESS schema. EXPRESS itself does not provide an equivalent construct. For a test case, a base set of EXPRESS-I objects must be defined which will be the objects (and their supporting data) to be tested. The values of these objects may be in the form of parameters, whose formal definition are given in an enclosing context. A series of test cases may then be defined on the context, by providing actual parameter values.

2013 ◽  
Vol 709 ◽  
pp. 616-619
Author(s):  
Jing Chen

This paper proposes a genetic algorithm-based method to generate test cases. This method provides information for test case generation using state machine diagrams. Its feature is realizing automation through fewer generated test cases. In terms of automatic generation of test data based on path coverage, the goal is to build a function that can excellently assess the generated test data and guide the genetic algorithms to find the targeting parameter values.


Test case prioritization (TCP) is a software testing technique that finds an ideal ordering of test cases for regression testing, so that testers can obtain the maximum benefit of their test suite, even if the testing process is stop at some arbitrary point. The recent trend of software development uses OO paradigm. This paper proposed a cost-cognizant TCP approach for object-oriented software that uses path-based integration testing. Path-based integration testing will identify the possible execution path and extract these paths from the Java System Dependence Graph (JSDG) model of the source code using forward slicing technique. Afterward evolutionary algorithm (EA) was employed to prioritize test cases based on the severity detection per unit cost for each of the dependent faults. The proposed technique was known as Evolutionary Cost-Cognizant Regression Test Case Prioritization (ECRTP) and being implemented as regression testing approach for experiment.


Author(s):  
Sudhir Kumar Mohapatra ◽  
Srinivas Prasad

Software testing is one in all the vital stages of system development. In software development, developers continually depend upon testing to reveal bugs. Within the maintenance stage test suite size grow due to integration of new functionalities. Addition of latest technique force to make new test case which increase the cost of test suite. In regression testing new test case could also be added to the test suite throughout the entire testing process. These additions of test cases produce risk of presence of redundant test cases. Because of limitation of time and resource, reduction techniques should be accustomed determine and take away. Analysis shows that a set of the test case in a suit should satisfy all the test objectives that is named as representative set. Redundant test case increase the execution price of the test suite, in spite of NP-completeness of the problem there are few sensible reduction techniques are available. During this paper the previous GA primarily based technique proposed is improved to search out cost optimum representative set using ant colony optimization.


Author(s):  
N. Gupta ◽  
D. Saini ◽  
H. Saini

Object-oriented programming consists of several different levels of abstraction, namely, the algorithmic level, class level, cluster level, and system level. In this article, we discuss a testing technique to generate test cases at class level for object-oriented programs. The formal object oriented class specification is used to develop a test model. This test model is based on finite state machine specification. The class specification and the test model is analyzed to select a set of test data for each method of the class, and finally the test cases can be generated using other testing techniques like finite-state testing or data-flow testing.


Author(s):  
Rajvir Singh ◽  
Anita Singhrova ◽  
Rajesh Bhatia

Detection of fault proneness classes helps software testers to generate effective class level test cases. In this article, a novel technique is presented for an optimized test case generation for ant-1.7 open source software. Class level object oriented (OO) metrics are considered as effective means to find fault proneness classes. The open source software ant-1.7 is considered for the evaluation of proposed techniques as a case study. The proposed mathematical model is the first of its kind generated using Weka open source software to select effective OO metrics. Effective and ineffective OO metrics are identified using feature selection techniques for generating test cases to cover fault proneness classes. In this methodology, only effective metrics are considered for assigning weights to test paths. The results indicate that the proposed methodology is effective and efficient as the average fault exposition potential of generated test cases is 90.16% and test cases execution time saving is 45.11%.


Author(s):  
Macario Polo ◽  
Mario Piattini

This chapter presents a new testing technique called “test-case mutation.” The idea is to apply a set of specific mutation operators to test cases for object-oriented software, which produces different versions of the original test cases. Then, the results of the original test case and of its corresponding mutants are compared; if they are very similar, the technique highlights the possible presence of a fault in the class under test. The technique seems useful for testing the correctness of strongly constrained classes. The authors have implemented a supporting tool that is also described in the chapter.


2010 ◽  
Vol 10 (4-6) ◽  
pp. 659-674 ◽  
Author(s):  
MIGUEL GÓMEZ-ZAMALLOA ◽  
ELVIRA ALBERT ◽  
GERMÁN PUEBLA

AbstractTesting is a vital part of the software development process. Test Case Generation (TCG) is the process of automatically generating a collection of test-cases which are applied to a system under test. White-box TCG is usually performed by means of symbolic execution, i.e., instead of executing the program on normal values (e.g., numbers), the program is executed on symbolic values representing arbitrary values. When dealing with an object-oriented (OO) imperative language, symbolic execution becomes challenging as, among other things, it must be able to backtrack, complex heap-allocated data structures should be created during the TCG process and features like inheritance, virtual invocations and exceptions have to be taken into account. Due to its inherent symbolic execution mechanism, we pursue in this paper that Constraint Logic Programming (CLP) has a promising application field in tcg. We will support our claim by developing a fully CLP-based framework to TCG of an OO imperative language, and by assessing it on a corresponding implementation on a set of challenging Java programs.


Software maintenance is one of the most expensive activities in software life cycle. It costs nearly 70% of the total cost of the software. Either to adopt the new requirement or to correct the functionality, software undergoes maintenance. As a consequent of maintenance activities, software undergoes many reforms. Newly added software components may affect the working of existing components and also may introduce faults in existing components. The regression testing tries to reveal the faults that might have been introduced due to these reformations. Running all the prior existing test cases may not be feasible due to constraints like time, cost and resources. Test case prioritization may help in ordered execution of test cases. Running a faulty or fault prone component early in testing process may help in revealing more faults per unit of time. And hence may reduce the testing time. There have been many different criteria for assigning the priority to test cases. But none of the approaches so far have considered the object oriented design metrics for determining the priority of test cases. Object oriented design metrics have been empirically studied for their impact of software maintainability, reliability, testability and quality but usage of these metrics in test case prioritization is still an open area of research. The research reported in this paper evaluates subset of CK metrics. Metrics considered from CK suite include Coupling between objects (CBO), Depth of Inheritance tree (DIT), weighted methods per class (WMC), Number of children (NOC), and Response for a class (RFC). Study also considers four other metrics namely publically inherited methods (PIM), weighted attributes per class (WAC), number of methods inherited (NMI) and number of methods overridden. A model is built based on these metrics for the prediction of software quality and based on the quality measures software modules are classified with the help of Support Vector Machine (SVM) algorithm. The proposed approach is implemented in WEKA tool and analysed on experimental data extracted from open source software. Proposed work would firstly help the tester in identifying the low quality modules and then prioritize the test cases based on quality centric approach. The work also attempts to automate test case prioritization in object oriented testing. The results obtained are encouraging.


Author(s):  
Dharmveer Kumar Yadav ◽  
Sandip Dutta

egression testing is time consuming and expensive activity in software testing. In Regression testing when any changes made to already tested program it should not affect to other part of program. When some part of code is modified then it is necessary to validate the modified code. Throughout regression testing test case from test suite will be re-executed and re-execution of all the test case will be very expensive. We present fault based prioritization using fuzzy logic approach for object oriented software. We developed fuzzy expert model helps to takes better decision than other expert system for regression testing. Proposed work focus on concept of fault detection rate, execution time and coverage to select the test cases for prioritization purpose.We have taken case study and evaluated our work which shows proposed new framework gives better result than other approach. We present a novel approach for prioritization of test cases for object oriented programming using fuzzy logic technique during regression testing. We developed the proposed methodology, we apply fuzzy logic method for effective prioritization of test case. We have used case study of various programs, and the results are promising compared to other approach.


Author(s):  
Vedpal ◽  
Naresh Chauhan

Test case prioritization technique creates the sequence of test cases for execution in such a way that the test cases with higher rate of fault detection are executed earlier than those test cases which have lower rate of fault detection. In this paper a new algorithm is proposed to prioritize the test cases based on coverage of object oriented programming factors. The factors are considered on the basis of complexity and probability of errors introduced by them. For the experimental validation and analysis the proposed test case prioritization algorithm is applied on two case studies. The analyzed case studies are implemented in C++ language. By using the presented algorithm it helps to reduce the cost and time for testing the software.


Sign in / Sign up

Export Citation Format

Share Document