Browse Prior Art Database

Relating Test Case to Source through Data Mining of Test Result History

IP.com Disclosure Number: IPCOM000198623D
Publication Date: 2010-Aug-10
Document File: 4 page(s) / 76K

Publishing Venue

The IP.com Prior Art Database

Abstract

Regression testing is a necessary task to ensure software quality, but as software applications grow, so do the number of test cases, which leads to resource requirements exceeding the availability of resources. The invention selects a subset of test cases by using a relation of test cases to source through the data mining of test result history.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 36% of the total text.

Page 1 of 4

Relating Test Case to Source through Data Mining of Test Result History

Disclosed is a process for a memory-based test selection, referred to as defect history-based selection, enabling prevention of recurring regressions. Unlike typical memory-based approaches, the technique of the disclosed process has a high regression discovery rate. Defect history-based selection selects test cases based on history of source code fixes to test cases that regressed in the past. The test cases are the best candidates to validate any changes made to

p

 reviously regressing code. Using the disclosed process enables high-risk source code to be quickly and easily verified with a minimal set of test cases.

Regression testing is an expensive process used to ensure software quality. Several test selection techniques exist that attempt to reduce the cost of regression testing while maintaining a high regression discovery rate. Test selection techniques can be stacked together to produce finer results.

A test selection technique currently used is program analysis based (PAB) test selection, which analyzes the code path executed. The problem with this technique is that it requires the availability of profile data to map test cases to software source code. Another problem with the PAB test selection technique is that the technique can select a large set of test cases when a frequently called segment of code is modified. To remedy this, test selection techniques that depend on profile data require at least another heuristic or test selection technique to reduce the set of selected test cases.

When profile data is not available, the effectiveness of test selection techniques is typically reduced. Since low-level profile data is not available, these types of techniques rely on high level data or no data at all. These approaches can be categorized into memory and memory-less based test selection techniques, respectively. Memory based selection techniques are more accurate, but require the presence of historical data. Memory-less based test selection techniques, which do not rely on historical data, include user-selected or random selection of test cases, and produce variable results at best.

Defect history-based test selection of the disclosed process uses historical test run and defect data to select a subset of test cases targeted toward a given source code change set. The granularity of the source code change set can be as coarse as a source file name or as fine as a statement in the code. A reference in the disclosure to "source code" encompasses the source file name and/or any statements in the source code. The idea of defect history-based test selection is to relate test cases to source code by mining through historical test run data for each test case in a test suite. For each test case that has failed at least once in a past test run, the disclosed process captures all defects opened against the test case. The disclosed process iterates through the lis...