当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Hansie: Hybrid and consensus regression test prioritization
Journal of Systems and Software ( IF 3.7 ) Pub Date : 2021-02-01 , DOI: 10.1016/j.jss.2020.110850
Shouvick Mondal , Rupesh Nasre

Abstract Traditionally, given a test-suite and the underlying system-under-test, existing test-case prioritization heuristics report a permutation of the original test-suite that is seemingly best according to their criteria. However, we observe that a single heuristic does not perform optimally in all possible scenarios, given the diverse nature of software and its changes. Hence, multiple individual heuristics exhibit effectiveness differently. Interestingly, together, the heuristics bear the potential of improving the overall regression test selection across scenarios. In this paper, we pose the test-case prioritization as a rank aggregation problem from social choice theory. Our solution approach, named Hansie , is two-flavored: one involving priority-aware hybridization, and the other involving priority-blind computation of a consensus ordering from individual prioritizations. To speed-up test-execution, Hansie executes the aggregated test-case orderings in a parallel multi-processed manner leveraging regular windows in the absence of ties, and irregular windows in the presence of ties. We show the benefit of test-execution after prioritization and introduce a cost-cognizant metric (EPL) for quantifying overall timeline latency due to load-imbalance arising from uniform or non-uniform parallelization windows. We evaluate Hansie on 20 open-source subjects totaling 287,530 lines of source code, 69,305 test-cases, and with parallelization support of up to 40 logical CPUs.

中文翻译:

Hansie:混合和共识回归测试优先级

摘要 传统上,给定一个测试套件和底层的被测系统,现有的测试用例优先级启发式方法报告原始测试套件的排列,根据它们的标准似乎是最好的。然而,我们观察到,考虑到软件及其变化的多样性,单个启发式算法并不能在所有可能的场景中都发挥最佳效果。因此,多个单独的启发式方法表现出不同的有效性。有趣的是,启发式算法具有改进跨场景的整体回归测试选择的潜力。在本文中,我们将测试用例的优先级划分为社会选择理论中的一个等级聚合问题。我们的解决方案方法,名为 Hansie,有两种风格:一种涉及优先感知杂交,另一个涉及从个人优先级排序的共识排序的优先级盲计算。为了加速测试执行,Hansie 以并行多处理方式执行聚合测试用例排序,在没有关系的情况下利用常规窗口,在存在关系时利用不规则窗口。我们展示了优先排序后测试执行的好处,并引入了一个成本认知指标 (EPL),用于量化由于统一或非统一并行化窗口引起的负载不平衡导致的整体时间线延迟。我们在 20 个开源主题上评估 Hansie,总计 287,530 行源代码、69,305 个测试用例,并支持多达 40 个逻辑 CPU 的并行化。Hansie 以并行多处理方式执行聚合的测试用例排序,在没有关系的情况下利用规则窗口,在存在关系的情况下利用不规则窗口。我们展示了优先排序后测试执行的好处,并引入了一个成本认知指标 (EPL),用于量化由于统一或非统一并行化窗口引起的负载不平衡导致的整体时间线延迟。我们在 20 个开源主题上评估 Hansie,总计 287,530 行源代码、69,305 个测试用例,并支持多达 40 个逻辑 CPU 的并行化。Hansie 以并行多处理方式执行聚合的测试用例排序,在没有关系的情况下利用规则窗口,在存在关系的情况下利用不规则窗口。我们展示了优先排序后测试执行的好处,并引入了一个成本认知指标 (EPL),用于量化由于统一或非统一并行化窗口引起的负载不平衡导致的整体时间线延迟。我们在 20 个开源主题上评估 Hansie,总计 287,530 行源代码、69,305 个测试用例,并支持多达 40 个逻辑 CPU 的并行化。我们展示了优先排序后测试执行的好处,并引入了一个成本认知指标 (EPL),用于量化由于统一或非统一并行化窗口引起的负载不平衡导致的整体时间线延迟。我们在 20 个开源主题上评估 Hansie,总计 287,530 行源代码、69,305 个测试用例,并支持多达 40 个逻辑 CPU 的并行化。我们展示了优先排序后测试执行的好处,并引入了一个成本认知指标 (EPL),用于量化由于统一或非统一并行化窗口引起的负载不平衡导致的整体时间线延迟。我们在 20 个开源主题上评估 Hansie,总计 287,530 行源代码、69,305 个测试用例,并支持多达 40 个逻辑 CPU 的并行化。
更新日期:2021-02-01
down
wechat
bug