Optimized test case prioritization for component based software testing with genetic algorithmic approach

Abstract

newlinequotIn Genetic Algorithm-component-based approach, test cases are generated and/or prioritized based on different component-based-risk measures. For example, the most basic component-risk measure would analyze the history of the software and assigns higher risk to the test cases that used to detect bugs in the past. However, in practice, a test case may not be exactly the same as a previously failed test, but quite similar. In this study, we define a new component-based measure that assigns a risk priority factor to a test case, if it is similar to a failing test case from history. The similarity is defined based on the execution traces of the test suite and hence test cases, where we define each test case as a sequence of method calls. We have evaluated our new measure by comparing it to a traditional prioritization measure. The results of our study, in the context of test case prioritization, on two open source projects show that our new measure is by far more effective in identifying failing test cases compared to the traditional prioritization approach. We also show that by using them, the test case prioritization techniques initialized using Genetic Algorithm on top of existing greedy-based test case prioritization strategy form a good performance approach. newlineKeywords: Software Testing, Genetic Algorithm, Component based Prioritization, Test case prioritization, Test case integration, Key assessment matrix, Genetic algorithm secure procedure newlinequot newline

Description

Keywords

Citation

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced