scholarly journals An Efficient Regression Testing By Computing Coverage Data For Software Evolution

Author(s):  
Machani SivaPrasad

Software systems is evolve continuously during development and maintenance. After software is modified regression testing is applied to software to ensure that It behaves intended and modifications not negatively impacts its original functionality .It is time consuming to rerun test suite T of program Pi on modified program Pi+1.So there are many regression testing techniques are there for doing regression testing. These are based on coverage data. So computing coverage data for Pi+1 without rerunning all test cases is the problem for doing regression testing of program Pi+1.This paper proposed a new approach that computes coverage data with selecting test cases T’ for the subsequent versions of the software .By computing coverage data for subsequent version of software on without rerunning entire test suit T we can improve overall time taken to retest the evolving software using Regression testing. This paper focus on improving the performance of regression testing for software evolve continuously during maintenance, by implementing a new approach for regression testing by computing coverage data for evolving software using dataflow analysis and execution tracing .

Author(s):  
Xiaobing Sun ◽  
Xin Peng ◽  
Hareton Leung ◽  
Bin Li

Regression testing is essential to ensure software quality during software evolution. Two widely-used regression testing techniques, test case selection and prioritization, are used to maximize the value of the continuously enlarging test suite. However, few works consider both these two techniques together, which decreases the usefulness of the independently studied techniques in practice. In the presence of changes during program evolution, regression testing is usually conducted by selecting the test cases that cover the impact results of the changes. It seldom considers the false-positives in the information covered. Hence, the effectiveness of such regression testing techniques is decreased. In this paper, we propose an approach, ComboRT, which combines test case selection and prioritization together to directly generate a ranked list of test cases. It is based on the impact results predicted by the change impact analysis (CIA) technique, FCA–CIA, which generates a ranked list of impacted methods. Test cases which cover these impacted methods are included in the new test suite. As each method predicted by FCA–CIA is assigned with an impact factor value corresponding to the probability of this method to be impacted, test cases are then ordered according to the impact factor values of the impacted methods. Empirical studies on four Java based software systems demonstrate that ComboRT can be effectively used for regression testing in object-oriented Java-based software systems during their evolution.


2013 ◽  
Vol 10 (1) ◽  
pp. 73-102 ◽  
Author(s):  
Lijun Mei ◽  
Yan Cai ◽  
Changjiang Jia ◽  
Bo Jiang ◽  
W.K. Chan

Many web services not only communicate through XML-based messages, but also may dynamically modify their behaviors by applying different interpretations on XML messages through updating the associated XML Schemas or XML-based interface specifications. Such artifacts are usually complex, allowing XML-based messages conforming to these specifications structurally complex. Testing should cost-effectively cover all scenarios. Test case prioritization is a dimension of regression testing that assures a program from unintended modifications by reordering the test cases within a test suite. However, many existing test case prioritization techniques for regression testing treat test cases of different complexity generically. In this paper, the authors exploit the insights on the structural similarity of XML-based artifacts between test cases in both static and dynamic dimensions, and propose a family of test case prioritization techniques that selects pairs of test case without replacement in turn. To the best of their knowledge, it is the first test case prioritization proposal that selects test case pairs for prioritization. The authors validate their techniques by a suite of benchmarks. The empirical results show that when incorporating all dimensions, some members of our technique family can be more effective than conventional coverage-based techniques.


2013 ◽  
Vol 2013 ◽  
pp. 1-10 ◽  
Author(s):  
Nicolas Frechette ◽  
Linda Badri ◽  
Mourad Badri

This paper presents a selective regression testing technique and an associated tool for object-oriented software. The technique is based on the concept of Control Call Graphs, which are a reduced form of traditional Control Flow Graphs. It uses static analysis of the source code of the program. The developed tool (1) identifies the Control Call Paths potentially impacted by changes, (2) selects, from an existing test suite, the appropriate test cases, and (3) generates new JUnit test cases for control call paths that are not covered by existing tests (new ones, or those whose structure has been modified after changes). In this way, the approach supports an incremental update of the test suite. The selected JUnit test cases, including the new ones, are automatically executed. Three concrete case studies are reported to provide evidence of the feasibility of the approach and its benefits in terms of reduction of regression testing effort.


2012 ◽  
Vol 263-266 ◽  
pp. 2168-2172
Author(s):  
Lu Lu Chen ◽  
Ling Zhang

Regression testing is an important activity to ensure the quality of software. In order to improve the efficiency of regression testing, in this paper, the author proposes to reorder test suite based on ant colony algorithm in regression testing, and compare the result with other common sort results. Through experiment, it shows that the method can get the optimal sequence of test cases under the time limit and it has been proven a superior method in both effectiveness and efficiency for test cases prioritization.


2021 ◽  
Vol 27 (2) ◽  
pp. 170-189
Author(s):  
P. K. Gupta

Software is an integration of numerous programming modules  (e.g., functions, procedures, legacy system, reusable components, etc.) tested and combined to build the entire module. However, some undesired faults may occur due to a change in modules while performing validation and verification. Retesting of entire software is a costly affair in terms of money and time. Therefore, to avoid retesting of entire software, regression testing is performed. In regression testing, an earlier created test suite is used to retest the software system's modified module. Regression Testing works in three manners; minimizing test cases, selecting test cases, and prioritizing test cases. In this paper, a two-phase algorithm has been proposed that considers test case selection and test case prioritization technique for performing regression testing on several modules ranging from a smaller line of codes to huge line codes of procedural language. A textual based differencing algorithm has been implemented for test case selection. Program statements modified between two modules are used for textual differencing and utilized to identify test cases that affect modified program statements. In the next step, test case prioritization is implemented by applying the Genetic Algorithm for code/condition coverage. Genetic operators: Crossover and Mutation have been applied over the initial population (i.e. test cases), taking code/condition coverage as fitness criterion to provide a prioritized test suite. Prioritization algorithm can be applied over both original and reduced test suite depending upon the test suite's size or the need for accuracy. In the obtained results, the efficiency of the prioritization algorithms has been analyzed by the Average Percentage of Code Coverage (APCC) and Average Percentage of Code Coverage with cost (APCCc). A comparison of the proposed approach is also done with the previously proposed methods and it is observed that APCC & APCCc values achieve higher percentage values faster in the case of the prioritized test suite in contrast to the non-prioritized test suite.


Author(s):  
Leena Singh ◽  
Shailendra Narayan Singh ◽  
Sudhir Dawra

Background: In today’s era, modifications in a software is a common requirement by customers. When changes are made to existing software, re-testing of all the test cases is required to ensure that the newly introduced changes do not have any unwanted effect on the behavior of the software. However, re-testing of all the test cases would not only be time consuming but also expensive. Therefore, there is a need for a technique that reduces the number of tests to be performed. Regression testing is one of the ways to reduce the number of test cases. Selection technique is one such method which seeks to identify the test cases that are relevant to some set of recent changes. Objective: It is evident that most of the studies have used different selection techniques and have focused only on one parameter for achieving reduced test suite size without compromising the performance of regression testing. However, to the best of our knowledge, no study has taken two or more parameters of coverage, and/or execution time in a single testing. This paper presents a hybrid technique that combines both regression test selection using slicing technique and minimization of test cases using modified firefly algorithm with combination of parameters coverage and execution time in a single testing. Methods: A hybrid technique has been described that combines both selection and minimization. Selection of test cases is based upon slicing technique while minimization is done using firefly algorithm. Hybrid technique selects and minimizes the test suite using information on statement coverage and execution time. Results: The proposed technique gives 43.33% much superior result as compared to the other hybrid approach in terms of significantly reduced number of test cases. It shows that the resultant test cases were effective enough to cover 100% of the statements, for all the programs. The proposed technique was also tested on four different programs namely Quadratic, Triangle, Next day, Commission respectively for test suite selection and minimization which gave comparatively superior result in terms of reduction (%) in number of test cases required for testing. Conclusion: The combination of parameters used in slicing based approach, reduces the number of test cases making software testing an economical, feasible and time saving option without any fault in the source code. This proposed technique can be used by software practitioners/experts to reduce time, efforts and resources for selection and minimization of test cases.


Author(s):  
Zahid Hussain Qaisar ◽  
Farooq Ahmad

Regression testing is important activity during the maintenance phase. An important work during maintenance of the software is to find impact of change. One of the essential attributes of Software is change i.e. quality software is more vulnerable to change and provide facilitation and ease for developer to do required changes. Modification plays vital role in the software development so it is highly important to find the impact of that modification or to identify the change in the software. In software testing that issue gets more attention because after change we have to identify impact of change and have to keenly observe what has happened or what will happen after that particular change that we have made or going to make in software. After change software testing team has to modify its testing strategy and have to come across with new test cases to efficiently perform the testing activity during the software development Regression testing is performed when the software is already tested and now some change is made to it. Important thing is to adjust those tests which were generated in the previous testing processes of the software. This study will present an approach by analyzing VDM (Vienna Development Methods) to find impact of change which will describe that how we can find the change and can analyze the change in the software i.e. impact of change that has been made in software. This approach will fulfill the purpose of classifying the test cases from original test suite into three classes obsolete, re-testable, and reusable test cases. This technique will not only classify the original test cases but will also generate new test cases required for the purpose of regression testing.


2016 ◽  
Vol 13 (10) ◽  
pp. 6754-6763
Author(s):  
Prakash Venkatraman ◽  
Goplakrishnan Sethumadhavan

To make certain the software Quality, Software testing is one of the most significant processes in Software Development Life Cycle (SDLC). Software systems develop regularly to offer the necessary functionalities and to acclimatize to ever-changing customer necessitates. Regression testing points out to the portion of the test cycle in which a syllabus is experimented to make certain that alters do not influence characteristics such as adding novel characteristics or adapting presented characteristics that are not supposed to be influenced. The Regression testing is used to modified versions of the software to make certain that the modified characteristics perform equally and that the changes did not generate unexpected faults, moreover known as deterioration errors. As a result, in order to spot such errors, Software regression testing is necessary. The most important plan of the suggested system is to execute the software regression testing with a reduced amount of time and cost devoid of changing the quality. For this, we will promise the quality of the software tool in terms of quality metrics such as dependability and maintainability, etc after optimizing the test suite. By using Improved Particle Swarm Optimization Algorithm (IPSO), the test suite optimization will be prepared. With different devices such as JDepend and Rayleigh’s model, the quality metrics will be computed.


Author(s):  
Varun Gupta

Hybrid regression testing approaches involve the combinations of test suite selections, prioritizations, and minimizations. The hybrid approaches must reduce size of test suite to minimal level and enhance fault detection rate. The chapter proposes a new hybrid regression testing approach that reduces the number of test cases by reducing the paths of source code on the basis of the dependency between the statements and the changes. The proposed technique is evaluated to be better than the existing hybrid approach in terms of percentage savings in test cases and fault detection rate.


2020 ◽  
Vol 3 (2) ◽  
Author(s):  
Ani - Rahmani

Software testing (testing) is a crucial stage in software development. The success of the testing process will ensure the quality of the software. In the regression testing process, one issue is that not all test cases (retest all) in the test suite need to be executed. Retest all will consume massive resources, as well as a long time. Regression testing techniques seek to find ways to reduce test execution time. One of the regression testing techniques is test case selection, also known as regression test selection (RTS). This paper describes a study on babelRTS, an RTS algorithm, to see its effectiveness. Effectiveness is measured by comparing the execution time of the execution retest all and babelRTS. Experiments were carried out on five software under tests (SUT) that had some faults. Test cases are prepared by designing for each SUT. The results showed a reduction in time so that the effectiveness reached a maximum of 32%, and average of 23% .


Sign in / Sign up

Export Citation Format

Share Document