<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases...<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases with increased scalability issues. Test case prioritization methods have been successfully utilized in test case management. However, the prohibitively exorbitant cost of large test cases is now the mainstream in the software industry. The growth of agile test-driven development has increased the expectations for software quality. Yet, our knowledge of when to use various path testing criteria for cost-effectiveness is inadequate due to the inherent complexity in software testing. Existing researches attempted to address the issue without effectively tackling the scalability of large test suites to reduce time in regression testing. In order to provide a more accurate way of fault detection in software projects, we introduced novel coverage criteria, called Incremental Cluster-based test case Prioritization (ICP), and investigated its potentials by making a comparative evaluation with three un-clustered traditional coverage-based criteria: Prime-Path Coverage (PPC), Edge-Pair Coverage (EPC) and Edge Coverage (EC) based on mutation analysis. By clustering test suites, based on their dynamic run-time behavior, the number of pair-wise comparisons is reduced significantly. To compare, we analyzed 20 functions from 25 C programs, instrumented faults into the programs, and used the Mull mutation tool to generate mutants and perform a statistical analysis of the results. The experimental results show that ICP can lead to cost-effective improvements in fault detection.</span> </div>展开更多
该文利用软件组件间信息流的传递过程,提出了基于风险分析的回归测试用例优先级排序算法(Risk Analysis-based Test Case Prioritization,RA-TCP).该算法针对现有的优先级排序技术未能有效利用测试用例所覆盖信息的问题,在类粒度下将软...该文利用软件组件间信息流的传递过程,提出了基于风险分析的回归测试用例优先级排序算法(Risk Analysis-based Test Case Prioritization,RA-TCP).该算法针对现有的优先级排序技术未能有效利用测试用例所覆盖信息的问题,在类粒度下将软件抽象为基于信息流的类级有向网络模型,然后将每个测试用例所覆盖的类间信息传递关系用一组杠铃模型表示,结合概率风险评估方法和故障树理论计算杠铃模型的风险值,最后以测试用例所覆盖的杠铃风险总和作为其排序依据.实验结果表明,风险越高的测试用例覆盖错误的可能性越大,RA-TCP算法提高了具有严重风险的错误发现速率,与7种排序算法对比,RA-TCP算法具有较高的错误检出率及较好的稳定性.展开更多
目前的测试用例生成技术生成的测试用例集对程序中的定义使用对的覆盖率很低。为了提高测试用例集对程序中定义使用对的覆盖率,本文提出了一种基于数据流约简的测试用例生成策略。该策略首先利用静态分析工具Da Te C与多态定义使用对DU...目前的测试用例生成技术生成的测试用例集对程序中的定义使用对的覆盖率很低。为了提高测试用例集对程序中定义使用对的覆盖率,本文提出了一种基于数据流约简的测试用例生成策略。该策略首先利用静态分析工具Da Te C与多态定义使用对DUP对源码进行分析,构建出源码中全部定义使用对;然后,结合控制流图对上述定义使用对进行覆盖约简并根据覆盖约简后的定义使用对的路径谓词生成测试用例。实验结果表明,该方法可以提高测试用例集对程序中定义使用对的覆盖率,进而可以提高测试用例集的质量,更加彻底地对面向对象程序进行测试。展开更多
文摘<div style="text-align:justify;"> <span style="font-family:Verdana;">Software systems have become complex and challenging to develop and maintain because of the large size of test cases with increased scalability issues. Test case prioritization methods have been successfully utilized in test case management. However, the prohibitively exorbitant cost of large test cases is now the mainstream in the software industry. The growth of agile test-driven development has increased the expectations for software quality. Yet, our knowledge of when to use various path testing criteria for cost-effectiveness is inadequate due to the inherent complexity in software testing. Existing researches attempted to address the issue without effectively tackling the scalability of large test suites to reduce time in regression testing. In order to provide a more accurate way of fault detection in software projects, we introduced novel coverage criteria, called Incremental Cluster-based test case Prioritization (ICP), and investigated its potentials by making a comparative evaluation with three un-clustered traditional coverage-based criteria: Prime-Path Coverage (PPC), Edge-Pair Coverage (EPC) and Edge Coverage (EC) based on mutation analysis. By clustering test suites, based on their dynamic run-time behavior, the number of pair-wise comparisons is reduced significantly. To compare, we analyzed 20 functions from 25 C programs, instrumented faults into the programs, and used the Mull mutation tool to generate mutants and perform a statistical analysis of the results. The experimental results show that ICP can lead to cost-effective improvements in fault detection.</span> </div>
文摘该文利用软件组件间信息流的传递过程,提出了基于风险分析的回归测试用例优先级排序算法(Risk Analysis-based Test Case Prioritization,RA-TCP).该算法针对现有的优先级排序技术未能有效利用测试用例所覆盖信息的问题,在类粒度下将软件抽象为基于信息流的类级有向网络模型,然后将每个测试用例所覆盖的类间信息传递关系用一组杠铃模型表示,结合概率风险评估方法和故障树理论计算杠铃模型的风险值,最后以测试用例所覆盖的杠铃风险总和作为其排序依据.实验结果表明,风险越高的测试用例覆盖错误的可能性越大,RA-TCP算法提高了具有严重风险的错误发现速率,与7种排序算法对比,RA-TCP算法具有较高的错误检出率及较好的稳定性.
文摘目前的测试用例生成技术生成的测试用例集对程序中的定义使用对的覆盖率很低。为了提高测试用例集对程序中定义使用对的覆盖率,本文提出了一种基于数据流约简的测试用例生成策略。该策略首先利用静态分析工具Da Te C与多态定义使用对DUP对源码进行分析,构建出源码中全部定义使用对;然后,结合控制流图对上述定义使用对进行覆盖约简并根据覆盖约简后的定义使用对的路径谓词生成测试用例。实验结果表明,该方法可以提高测试用例集对程序中定义使用对的覆盖率,进而可以提高测试用例集的质量,更加彻底地对面向对象程序进行测试。