[发明专利]用于并行程序蜕变测试的蜕变关系优先级排序方法有效
申请号: | 201610256250.0 | 申请日: | 2016-04-22 |
公开(公告)号: | CN105843744B | 公开(公告)日: | 2018-10-16 |
发明(设计)人: | 巩敦卫;王金鑫;田甜;姚香娟;党向盈;杨苏 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 221116 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 用于并行程序蜕变测试的蜕变关系优先级排序方法。应用蜕变测试技术于并行程序的软件测试,先对构造的蜕变关系进行优先级排序,旨在尽早地发现程序中的错误,从而提高解决存在于软件测试中的Oracle问题的效率。该优先级排序策略利用蜕变关系产生的衍生测试用例及原始测试用例,以它们之间的相似度为依据估计其执行程序所覆盖路径的相似度,进而估计蜕变关系基于已有测试用例的检错范围,并基于此对蜕变关系进行优先级排序。具体步骤如下:(1)评估蜕变关系的各个进程检错能力;(2)设置各个进程的权值,以反映蜕变关系的各个进程检错能力,对评估其对整个程序检错能力所占的权重;(3)评估蜕变关系的程序检错能力,并确定各个蜕变关系的优先级;(4)检测程序。 | ||
搜索关键词: | 用于 并行 程序 蜕变 测试 关系 优先级 排序 方法 | ||
【主权项】:
1.用于并行程序蜕变测试的蜕变关系优先级排序方法,其特征如下:步骤1:评估蜕变关系的进程检错能力的方法;由于一个并行程序由多个进程组成,因此,蜕变关系对并行程序的检错能力,取决于其对每一进程的检错能力;为了考察蜕变关系的进程检错能力,首先说明程序的输入变量对进程的影响,为此,引入如下2个概念,对于并行程序P,包含的进程记为P0,P1,…,Pn‑1,其中,n为进程的个数;此外,记程序P的输入X=(x1,x2,…,xm),其中,m为程序输入包含的变量个数;考虑进程Pi,如果某程序输入变量xk直接执行Pi,则其影响X=(x1,x2,…,xm)执行程序时在Pi中的子路径,那么,称xk直接影响Pi;如果除去所有输入变量,另有变量y影响X=(x1,x2,…,xm)执行程序在Pi中的子路径,且y的值受另一进程,记为Pj的输入变量xl影响,那么,称xl间接影响Pi;对于某一进程,比较测试用例和基于某蜕变关系衍生的测试用例的相似度;如果二者包含的直接或间接影响该进程的不同变量越多,这2个测试用例覆盖的该进程子路径的差异度越大,从而该蜕变关系对该进程的检错能力越强;此外,不同的变量影响进程关系,对蜕变关系检错能力的影响不同,且直接影响进程的变量,比间接影响具有更高的比重;基于此,接下来给出如下的蜕变关系进程检错能力估计方法;考虑进程Pi,假设有m'个程序的输入变量直接影响该进程,此外,Pi还有若干通信语句接收来自其它进程的k个中间变量,因此,影响Pi的变量以及中间变量共有m'+k个;蜕变关系对进程Pi的检错能力记为Ci;评价Ci时,每一直接影响Pi的程序输入变量的贡献度为
对于这m'个变量,如果衍生的测试用例与原测试用例有α个不同,那么,Ci的值增加
考虑第l个中间变量,l=1,2,…,k,影响该中间变量的程序输入变量有βl个,此时,评估蜕变关系的进程检错能力时,这βl个输入变量中,每一变量的贡献度为
对于这βl个变量,如果衍生的测试用例与原测试用例有γ个不同,那么,Ci的值增加
步骤2:评估蜕变关系的程序检错能力的方法;一个消息传递并行程序尽管包含多个进程,但是,不同进程出错的概率并不完全相同;一个包含代码行数多的进程,比包含代码行数少的进程具有更大的出错概率;鉴于此,评估蜕变关系对整个程序的检错能力时,应对不同的进程设置不同的权值,以反映蜕变关系对进程的检错能力,对整个程序检错能力的权重;该权重的取值可根据进程包含的代码行数和路径个数确定;记蜕变关系MRs对于程序P的检错能力为Cs0,MRs对进程Pi的检错能力为
以及进程Pi的权值为ωi,则
n为进程数;步骤3:蜕变关系的优先级排序的方法;步骤3.1:从待排序蜕变关系集MR中寻找优先级最高的蜕变关系;考虑MRs,根据衍生测试用例与原测试用例变量之间的差异度,计算MRs对进程Pi的检错能力,记为
基于进程Pi的权值,记为ωi,计算MRs对于程序P的检错能力,记为Cs0,那么,
记优先级最高的蜕变关系为1MR,那么,
步骤3.2:从MR中寻找优先级次高的蜕变关系;寻找优先级次高的蜕变关系时,不仅需要考虑蜕变关系的衍生测试用例与原测试用例之间变量的差异度,还需要考虑其与1MR衍生的测试用例之间变量的差异度;对于MR‑1MR中的蜕变关系MRs衍生的测试用例,根据该测试用例与1MR衍生的测试用例变量之间的差异度,计算MRs对于程序P的检错能力,记为Cs1;记优先级次高的蜕变关系为2MR,那么,
步骤3.3:确定其它蜕变关系的优先级;采用与步骤2类似的方法;记最高、次高、…、第I高优先级的蜕变关系分别为1MR,2MR,...,IMR;对于
中的蜕变关系MRs衍生的测试用例,根据该测试用例与iMR衍生的测试用例变量之间的差异度,计算MRs对于程序P的检错能力,记为Csi;那么,第I+1高优先级的蜕变关系为:
步骤3.4:判断
是否为空;若为空,结束操作;否则,重复步骤3.3,直到所有的蜕变关系都分配优先级为止。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610256250.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种氧化型催化剂的制备设备
- 下一篇:一种用于生产丙烷的混合乳化器