Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization
碩士 === 國立嘉義大學 === 資訊工程學系研究所 === 101 === In software development process, a lot of test cases will be designed and executed to ensure the correctness of software functions. Each test case consists of a set of inputs and the expected results. A collection of test cases are called a test suite. It is i...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | zh-TW |
Online Access: | http://ndltd.ncl.edu.tw/handle/88142527702560969672 |
id |
ndltd-TW-101NCYU5392022 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-TW-101NCYU53920222016-03-18T04:41:38Z http://ndltd.ncl.edu.tw/handle/88142527702560969672 Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization 結合歷史資訊與錯誤定位資訊的測試個案排序方法 Tsai, Chang-Shi 蔡長熹 碩士 國立嘉義大學 資訊工程學系研究所 101 In software development process, a lot of test cases will be designed and executed to ensure the correctness of software functions. Each test case consists of a set of inputs and the expected results. A collection of test cases are called a test suite. It is inevitable that the functionality of a software system may change during software development and maintenance. Each time the software is modified, regression testing is necessary to ensure the quality of the software system. That is, new test cases will be designed to ensure the correctness of the new functions and the original test cases should also be reexecuted to guarantee that all of the unmodified functions still work correctly. Unfortunately, it is difficult to execute all test cases in a short time. To address this problem, test case prioritization techniques are proposed to improve the effectiveness of regression testing by ordering the test cases, so that the most beneficial test case is executed first and software faults will be detected in early stage. Because software development is a continuous process, the test results of the preceding software versions may be useful for scheduling the test cases of the later software versions. Some researchers have indicated that historical information should be helpful to test case prioritization. Additionally, a software developer has to locate the cause of the software failure before removing the fault. Recently, several automatic fault localization techniques had been proposed to assist software developers in identifying the fault location and reducing the time of debugging. Recall that regression testing is necessary to prevent the phenomenon of imperfect debugging after software modifications. This leads us to explore a research question: can the information obtained from the debugging process of the previous software version contribute to fault detection of the current software version. Thus, this thesis presents a test case prioritization technique based on information concerning both history fault and fault localization. In the experiments, we use real programs and test suites to evaluate the effectiveness of the presented prioritization technique. The experimental results indicate that, in comparison to existing approaches, the proposed one indeed schedule the test cases more effectively. Chu-Ti Lin 林楚迪 學位論文 ; thesis 145 zh-TW |
collection |
NDLTD |
language |
zh-TW |
format |
Others
|
sources |
NDLTD |
description |
碩士 === 國立嘉義大學 === 資訊工程學系研究所 === 101 === In software development process, a lot of test cases will be designed and executed to ensure the correctness of software functions. Each test case consists of a set of inputs and the expected results. A collection of test cases are called a test suite. It is inevitable that the functionality of a software system may change during software development and maintenance. Each time the software is modified, regression testing is necessary to ensure the quality of the software system. That is, new test cases will be designed to ensure the correctness of the new functions and the original test cases should also be reexecuted to guarantee that all of the unmodified functions still work correctly. Unfortunately, it is difficult to execute all test cases in a short time. To address this problem, test case prioritization techniques are proposed to improve the effectiveness of regression testing by ordering the test cases, so that the most beneficial test case is executed first and software faults will be detected in early stage. Because software development is a continuous process, the test results of the preceding software versions may be useful for scheduling the test cases of the later software versions. Some researchers have indicated that historical information should be helpful to test case prioritization. Additionally, a software developer has to locate the cause of the software failure before removing the fault. Recently, several automatic fault localization techniques had been proposed to assist software developers in identifying the fault location and reducing the time of debugging. Recall that regression testing is necessary to prevent the phenomenon of imperfect debugging after software modifications. This leads us to explore a research question: can the information obtained from the debugging process of the previous software version contribute to fault detection of the current software version. Thus, this thesis presents a test case prioritization technique based on information concerning both history fault and fault localization. In the experiments, we use real programs and test suites to evaluate the effectiveness of the presented prioritization technique. The experimental results indicate that, in comparison to existing approaches, the proposed one indeed schedule the test cases more effectively.
|
author2 |
Chu-Ti Lin |
author_facet |
Chu-Ti Lin Tsai, Chang-Shi 蔡長熹 |
author |
Tsai, Chang-Shi 蔡長熹 |
spellingShingle |
Tsai, Chang-Shi 蔡長熹 Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
author_sort |
Tsai, Chang-Shi |
title |
Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
title_short |
Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
title_full |
Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
title_fullStr |
Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
title_full_unstemmed |
Prioritizing Test Cases Based on Information Concerning Historical Data and Fault Localization |
title_sort |
prioritizing test cases based on information concerning historical data and fault localization |
url |
http://ndltd.ncl.edu.tw/handle/88142527702560969672 |
work_keys_str_mv |
AT tsaichangshi prioritizingtestcasesbasedoninformationconcerninghistoricaldataandfaultlocalization AT càizhǎngxī prioritizingtestcasesbasedoninformationconcerninghistoricaldataandfaultlocalization AT tsaichangshi jiéhélìshǐzīxùnyǔcuòwùdìngwèizīxùndecèshìgèànpáixùfāngfǎ AT càizhǎngxī jiéhélìshǐzīxùnyǔcuòwùdìngwèizīxùndecèshìgèànpáixùfāngfǎ |
_version_ |
1718206831988310016 |