The invention discloses a One test based on at combination test case prioritization method a time strategy, which belongs to the field of software testing. The present invention includes: through the One test at a time strategy, for execution in the combinatorial test set each a test case with the highest priority; priority to the use of multiple test coverage, test cases and test cases of the failure rate of three impact factor and weight factor alpha, beta, gamma the calculation result ranking; according to the test results of test cases, adjust the impact factor of parameter values; then according to the effect of adjusted factor parameters, select a test case for the implementation of the highest priority, to achieve the goal of directly repeated test. The invention can be used for test case prioritization of different combinations of coverage intensity generated by sorting, can effectively use the number of test cases under the same condition to detect more defects, improve the efficiency of defect detection.
【技术实现步骤摘要】
一种基于One-test-at-a-time策略的组合测试用例优先级排序方法
本专利技术属于软件测试领域,具体涉及一种基于One-test-at-a-time策略的组合测试用例优先级排序方法。
技术介绍
在计算机行业迅速发展的时代,新型的软件产品层出不穷,软件产品升级换代的步伐也迈得越来越快,这使得对软件产品进行回归测试的频率不断上升。然而,对于开发商而言,花费大量时间、消耗巨额资金也只能是事倍功半。在这种高成本的开销下,如何有效的在短时间低成本的前提下尽早发现软件产品的缺陷这一难题成为了测试人员不断开拓创新的重点。测试用例的优先级排序技术是一种高效实用的测试技术。随着测试用例优先级技术的引入,为了能够较好较快的达到测试目标,根据测试用例完成测试目标的程度这一信息进行排序,从而执行优先执行贡献较高的测试用例。组合测试是软件测试的重要方法之一,该方法已经广泛运用于测试用例的生成中,该方法能够缩减测试用例集的规模。由于资源限制,大多数情况下无法对组合测试生成的测试用例进行完全测试,因此只能尽可能多的优先执行部分贡献程度较高的测试用例。现有的组合测试用例优先级算法基本都是从覆盖组合的角度出发,通过某个标准对测试用例进行衡量并给出相应的优先级,再通过这些优先级进行逐一对测试用例进行测试。或针对测试过程本身对测试用例在执行过程中动态的调整优先级。大部分情况下,在对组合测试用例排序因素的选取过于单一,并且没有考虑测试过程本身触发的实时问题。因此,针对组合测试用例优先级存在的缺陷,本专利技术提出了一种针对固定力度组合测试用例优先级排序的方法:首先,根据现有的组合测试用例 ...
【技术保护点】
一种基于One‑test‑at‑a‑time策略的组合测试用例优先级排序方法,其特征在于,包括如下步骤:(1)初始化测试用例序列集,输入组合测试用例集;(2)计算每条尚未执行的测试用例的优先级;(3)寻找当前时刻优先级最高的测试用例集,当存在多个优先级最高的测试用例时,将这些优先级相同且优先级最高的测试用例表示成一个优先级最高的测试用例集;(4)从优先级最高的测试用例集随机选取一条测试用例,并执行这条测试用例且获取测试结果;(5)根据执行测试用例的测试结果,调整测试用例的失效率;(6)将执行过的测试用例插入到测试用例序列集的尾部,将执行过的测试用例从组合测试用例集中剔除;(7)重复步骤(2)~(6),直到组合测试用例集中测试用例的个数等于0为止;(8)输出测试用例序列集。
【技术特征摘要】
1.一种基于One-test-at-a-time策略的组合测试用例优先级排序方法,其特征在于,包括如下步骤:(1)初始化测试用例序列集,输入组合测试用例集;(2)计算每条尚未执行的测试用例的优先级;(3)寻找当前时刻优先级最高的测试用例集,当存在多个优先级最高的测试用例时,将这些优先级相同且优先级最高的测试用例表示成一个优先级最高的测试用例集;(4)从优先级最高的测试用例集随机选取一条测试用例,并执行这条测试用例且获取测试结果;(5)根据执行测试用例的测试结果,调整测试用例的失效率;(6)将执行过的测试用例插入到测试用例序列集的尾部,将执行过的测试用例从组合测试用例集中剔除;(7)重复步骤(2)~(6),直到组合测试用例集中测试用例的个数等于0为止;(8)输出测试用例序列集。2.根据权利要求1所述的一种基于One-test-at-a-time策略的组合测试用例优先级排序方法,其特征在于所述的步骤(2)中测试用例优先级计算方法为:计算测试用例的优先级其公式如下:其中,tcj是测试用例,ti是当前时刻,λ为组合覆盖力度,是测试用例tcj多重待覆盖率,是测试用例tcj失效率,是测试用例tcj重要程度,α、β、γ分别表示多重待覆盖率、测试用例失效率和测试用例重要程度的权值,且α+β+γ=1;多重待覆盖率计算方法为:
【专利技术属性】
技术研发人员:包晓安,林青霞,张娜,熊子健,
申请(专利权)人:浙江理工大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。