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...

Full description

Bibliographic Details
Main Authors: Tsai, Chang-Shi, 蔡長熹
Other Authors: Chu-Ti Lin
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