回归测试用例选择(Regression Test Case Selection,RTS)问题是回归测试研究中的一个热点,旨在从已有测试用例集中选择出所有可检测代码修改的测试用例。但迄今为止,国内研究人员并未对RTS问题的已有研究成果进行系统总结和比较。首先...回归测试用例选择(Regression Test Case Selection,RTS)问题是回归测试研究中的一个热点,旨在从已有测试用例集中选择出所有可检测代码修改的测试用例。但迄今为止,国内研究人员并未对RTS问题的已有研究成果进行系统总结和比较。首先在回归测试活动和测试用例划分基础上,引出RTS问题和相关假设。随后从源代码和模型角度对已有RTS技术进行分类,从源代码角度出发,又进一步将其细分为线性规划法、数据流分析法、图遍历法、程序切片法和防火墙法等。接着对常见评测数据集和评测指标进行总结,最后对该问题的未来研究方向进行了展望。展开更多
Software needs modifications and requires revisions regularly.Owing to these revisions,retesting software becomes essential to ensure that the enhancements made,have not affected its bug-free functioning.The time and ...Software needs modifications and requires revisions regularly.Owing to these revisions,retesting software becomes essential to ensure that the enhancements made,have not affected its bug-free functioning.The time and cost incurred in this process,need to be reduced by the method of test case selection and prioritization.It is observed that many nature-inspired techniques are applied in this area.African Buffalo Optimization is one such approach,applied to regression test selection and prioritization.In this paper,the proposed work explains and proves the applicability of the African Buffalo Optimization approach to test case selection and prioritization.The proposed algorithm converges in polynomial time(O(n^(2))).In this paper,the empirical evaluation of applying African Buffalo Optimization for test case prioritization is done on sample data set with multiple iterations.An astounding 62.5%drop in size and a 48.57%drop in the runtime of the original test suite were recorded.The obtained results are compared with Ant Colony Optimization.The comparative analysis indicates that African Buffalo Optimization and Ant Colony Optimization exhibit similar fault detection capabilities(80%),and a reduction in the overall execution time and size of the resultant test suite.The results and analysis,hence,advocate and encourages the use of African Buffalo Optimization in the area of test case selection and prioritization.展开更多
Fault localization is an important and challeng- ing task during software testing. Among techniques studied in this field, program spectrum based fault localization is a promising approach. To perform spectrum based f...Fault localization is an important and challeng- ing task during software testing. Among techniques studied in this field, program spectrum based fault localization is a promising approach. To perform spectrum based fault local- ization, a set of test oracles should be provided, and the ef- fectiveness of fault localization depends highly on the quality of test oracles. Moreover, their effectiveness is usually af- fected when multiple simultaneous faults are present. Faced with multiple faults it is difficult for developers to determine when to stop the fault localization process. To address these issues, we propose an iterative fauk localization process, i.e., an iterative process of selecting test cases for effective fault localization (IPSETFUL), to identify as many faults as pos- sible in the program until the stopping criterion is satisfied. It is performed based on a concept lattice of program spec- trum (CLPS) proposed in our previous work. Based on the labeling approach of CLPS, program statements are catego- rized as dangerous statements, safe statements, and sensitive statements. To identify the faults, developers need to check the dangerous statements. Meantime, developers need to se- lect a set of test cases covering the dangerous or sensitive statements from the original test suite, and a new CLPS is generated for the next iteration. The same process is pro- ceeded in the same way. This iterative process ends until there are no failing tests in the test suite and all statements on the CLPS become safe statements. We conduct an empirical study on several subject programs, and the results show that IPSETFUL can help identify most of the faults in the program with the given test suite. Moreover, it can save much effort in inspecting unfaulty program statements compared with the existing spectrum based fault localization techniques and the relevant state of the art technique.展开更多
Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effect...Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effective technique of selected only modified test cases that appropriate to the modifications within the given time frame.Earlier,several test case selection approaches have been introduced,but either these techniques were not sufficient according to the requirements of software tester experts or they are ineffective and cannot be used for available test suite specifications and architecture.To address these limitations,we recommend an improved and efficient test case selection(TCS)algorithm for RT.Our proposed technique decreases the execution time and redundancy of the duplicate test cases(TC)and detects onlymodified changes that appropriate to themodifications in test cases.To reduce execution time for TCS,evaluation results of our proposed approach are established on fault detection,redundancy and already executed test case.Results indicate that proposed technique decreases the inclusive testing time of TCS to execute modified test cases by,on average related to a method of Hybrid Whale Algorithm(HWOA),which is a progressive TCS approach in regression testing for a single product.展开更多
文摘回归测试用例选择(Regression Test Case Selection,RTS)问题是回归测试研究中的一个热点,旨在从已有测试用例集中选择出所有可检测代码修改的测试用例。但迄今为止,国内研究人员并未对RTS问题的已有研究成果进行系统总结和比较。首先在回归测试活动和测试用例划分基础上,引出RTS问题和相关假设。随后从源代码和模型角度对已有RTS技术进行分类,从源代码角度出发,又进一步将其细分为线性规划法、数据流分析法、图遍历法、程序切片法和防火墙法等。接着对常见评测数据集和评测指标进行总结,最后对该问题的未来研究方向进行了展望。
基金This research is funded by the Deanship of Scientific Research at Umm Al-Qura University,Grant Code:22UQU4281755DSR02.
文摘Software needs modifications and requires revisions regularly.Owing to these revisions,retesting software becomes essential to ensure that the enhancements made,have not affected its bug-free functioning.The time and cost incurred in this process,need to be reduced by the method of test case selection and prioritization.It is observed that many nature-inspired techniques are applied in this area.African Buffalo Optimization is one such approach,applied to regression test selection and prioritization.In this paper,the proposed work explains and proves the applicability of the African Buffalo Optimization approach to test case selection and prioritization.The proposed algorithm converges in polynomial time(O(n^(2))).In this paper,the empirical evaluation of applying African Buffalo Optimization for test case prioritization is done on sample data set with multiple iterations.An astounding 62.5%drop in size and a 48.57%drop in the runtime of the original test suite were recorded.The obtained results are compared with Ant Colony Optimization.The comparative analysis indicates that African Buffalo Optimization and Ant Colony Optimization exhibit similar fault detection capabilities(80%),and a reduction in the overall execution time and size of the resultant test suite.The results and analysis,hence,advocate and encourages the use of African Buffalo Optimization in the area of test case selection and prioritization.
文摘Fault localization is an important and challeng- ing task during software testing. Among techniques studied in this field, program spectrum based fault localization is a promising approach. To perform spectrum based fault local- ization, a set of test oracles should be provided, and the ef- fectiveness of fault localization depends highly on the quality of test oracles. Moreover, their effectiveness is usually af- fected when multiple simultaneous faults are present. Faced with multiple faults it is difficult for developers to determine when to stop the fault localization process. To address these issues, we propose an iterative fauk localization process, i.e., an iterative process of selecting test cases for effective fault localization (IPSETFUL), to identify as many faults as pos- sible in the program until the stopping criterion is satisfied. It is performed based on a concept lattice of program spec- trum (CLPS) proposed in our previous work. Based on the labeling approach of CLPS, program statements are catego- rized as dangerous statements, safe statements, and sensitive statements. To identify the faults, developers need to check the dangerous statements. Meantime, developers need to se- lect a set of test cases covering the dangerous or sensitive statements from the original test suite, and a new CLPS is generated for the next iteration. The same process is pro- ceeded in the same way. This iterative process ends until there are no failing tests in the test suite and all statements on the CLPS become safe statements. We conduct an empirical study on several subject programs, and the results show that IPSETFUL can help identify most of the faults in the program with the given test suite. Moreover, it can save much effort in inspecting unfaulty program statements compared with the existing spectrum based fault localization techniques and the relevant state of the art technique.
基金This work was supported in part by the Research Management Center(RMC),Universiti Teknologi Malaysia(UTM)and Ministry of Higher Education Malaysia(MOHE)through the UTM High Impact Research(UTMHR)grant scheme under(Vot Number Q.J130000.2451.08G55).
文摘Regression testing(RT)is an essential but an expensive activity in software development.RT confirms that new faults/errors will not have occurred in the modified program.RT efficiency can be improved through an effective technique of selected only modified test cases that appropriate to the modifications within the given time frame.Earlier,several test case selection approaches have been introduced,but either these techniques were not sufficient according to the requirements of software tester experts or they are ineffective and cannot be used for available test suite specifications and architecture.To address these limitations,we recommend an improved and efficient test case selection(TCS)algorithm for RT.Our proposed technique decreases the execution time and redundancy of the duplicate test cases(TC)and detects onlymodified changes that appropriate to themodifications in test cases.To reduce execution time for TCS,evaluation results of our proposed approach are established on fault detection,redundancy and already executed test case.Results indicate that proposed technique decreases the inclusive testing time of TCS to execute modified test cases by,on average related to a method of Hybrid Whale Algorithm(HWOA),which is a progressive TCS approach in regression testing for a single product.