scholarly journals The impact of test case summaries on bug fixing performance: An empirical investigation

Author(s):  
Sebastiano Panichella ◽  
Annibale Panichella ◽  
Moritz Beller ◽  
Andy Zaidman ◽  
Harald C Gall

Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shown not to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an approach, coined TestScribe, which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability. We argue that this approach can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases. In evaluating our approach we found that (1) developers find twice as many bugs, and (2) test case summaries significantly improve the comprehensibility of test cases, which is considered particularly useful by developers.

2016 ◽  
Author(s):  
Sebastiano Panichella ◽  
Annibale Panichella ◽  
Moritz Beller ◽  
Andy Zaidman ◽  
Harald C Gall

Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shown not to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an approach, coined TestScribe, which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability. We argue that this approach can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases. In evaluating our approach we found that (1) developers find twice as many bugs, and (2) test case summaries significantly improve the comprehensibility of test cases, which is considered particularly useful by developers.


2015 ◽  
Author(s):  
Sebastiano Panichella ◽  
Annibale Panichella ◽  
Moritz Beller ◽  
Andy Zaidman ◽  
Harald C Gall

Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shown not to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an approach, coined TestScribe, which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability. We argue that this approach can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases. In evaluating our approach we found that (1) developers find twice as many bugs, and (2) test case summaries significantly improve the comprehensibility of test cases, which is considered particularly useful by developers.


2015 ◽  
Author(s):  
Sebastiano Panichella ◽  
Annibale Panichella ◽  
Moritz Beller ◽  
Andy Zaidman ◽  
Harald C Gall

Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shown not to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an approach, coined TestScribe, which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability. We argue that this approach can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases. In evaluating our approach we found that (1) developers find twice as many bugs, and (2) test case summaries significantly improve the comprehensibility of test cases, which is considered particularly useful by developers.


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):  
Tianning Zhang ◽  
Xingqi Wang ◽  
Dan Wei ◽  
Jinglong Fang

Test case prioritization is one of the most useful activities in testing. Most existing test case prioritization techniques are based on code coverage, which requires access to source code. However, code-based testing comes late in the software development life cycle, when errors are detected, the cost of testing is very high. Therefore, in this paper, we provide a test case prioritization technique based on Unified Modeling Language (UML) model, built before coding, to detect errors as earlier as possible and reduce the cost of modification. The technique consists of the following main parts: (1) using C&K metrics to estimate the error probability of class; (2) using dependences, obtained from the model slicing, to estimate error severity; (3) generating test case priority from error probability and severity, then prioritizing the test case. With our technique, test engineers need the UML model only and the test cases can be prioritized automatically. To evaluate our technique, we applied our technique to unmanned aerial vehicles (UAV) flight control system and performed test case prioritization. The results show that the error can be detected effectively and stability can be increased significantly as compared to the current code-based techniques.


Author(s):  
Mamdouh Alenezi ◽  
Mohammed Akour ◽  
Hamid Abdul Basit

Ensuring the security of the software has raised concerns from the research community which triggered numerous approaches that tend to eliminate it. The process of ensuring the security of software includes the introduction of processes in the Software Development Life Cycle where one of them is testing after the software is developed. Manually testing software for security is a labor-intensive task. Therefore, it is required to automate the process of testing by generating test cases by automated techniques. In this paper, we review various software security test case generation approaches and techniques. We try to explore and classify the most eminent techniques for test case generation. The techniques are summarized and presented briefly to covers all researches work that has been done in the targeted classification. Moreover, this paper aims to depict the sound of security in the current state of the art of test case generation. The findings are summarized and discussed where the opportunities and challenges are revealed narratively. Although the paper intends to provide a comprehensive view of the research in test case generation, there was a noticeable lack in the test case generation from the security perspectives


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.


Author(s):  
Chu Thi Minh Hue ◽  
Duc-Hanh Dang ◽  
Nguyen Ngoc Binh ◽  
Anh-Hoang Truong

This paper proposes a transformation-based method to automatically generate functional test cases from use cases named USLTG (Use case Specification Language (USL)-based Test Generation). We first focus on developing a modeling language named Test Case Specification Language (TCSL) in order to express test cases. Test cases in TCSL can contain detailed information including test steps, test objects within steps, actions of test objects, and test data. Such information is often ignored in currently available test case specifications. We then aim to generate test cases in a TCSL model by a transformation from use cases that are represented by a USL. The USLTG transformation includes three main steps in generating (1) scenarios, (2) test data, and (3) a TCSL model. Within our transformation, the OCL solver is employed in order to build system snapshots as the part of test cases and to identify other test data. We applied our method to two case studies and evaluated our method by comparing it with other recent works.


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.


Sign in / Sign up

Export Citation Format

Share Document