[发明专利]基于附加测试的多参数系统错误模式快速定位方法有效

专利信息
申请号: 201010539469.4 申请日: 2010-11-09
公开(公告)号: CN102073584A 公开(公告)日: 2011-05-25
发明(设计)人: 张智强;张健 申请(专利权)人: 中国科学院软件研究所
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 俞达成
地址: 100190*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 附加 测试 参数 系统 错误 模式 快速 定位 方法
【权利要求书】:

1.一种基于附加测试的多参数系统错误模式快速定位方法,包括以下步骤:

1)确定待测系统的输入参数个数k和每个输入参数vi的取值范围si,i取值范围为1到k之间的整数;

2)获得一条在黑盒测试中运行不通过的测试用例(v1,v2,...,vk),称为种子测试用例;

3)以种子测试用例为基础,用替换多个参数取值的方法生成和运行附加测试用例,查找其中的一个错误模式,查找期间保持已找到错误模式中包含的固定参数的取值与种子测试用例不同,且替换参数取值时直接跳过错误模式中包含的固定参数;

4)重复执行步骤3)直到找不到新的错误模式;

5)所有在步骤3)中找到的错误模式就是多参数系统中错误模式定位的结果。

2.如权利要求1所述的方法,其特征在于,所述步骤3)具体包括以下步骤:

3-1)用替换多个参数取值的方法生成和运行附加测试用例,查找该错误模式中的一个固定参数;

3-2)重复执行3-1)直到找不到新的固定参数为止,与此同时须始终保持该错误模式中已找到固定参数的取值与种子测试用例相同,且替换参数取值时直接跳过该错误模式中已找到的固定参数;

3-3)所有在3-1)中找到的固定参数组成种子测试用例的一个错误模式,若该步骤内没有找任何固定参数,则说明没有找到错误模式。

3.如权利要求2所述的方法,其特征在于,所述步骤3-1)找到的固定参数vi须满足以下条件:

3-1-1)替换某些参数之后的测试用例运行不通过;

3-1-2)替换3-1-1)中的参数以及参数vi后的测试用例运行通过。

4.根据权利要求2所述的方法,其特征在于,所述步骤3-1)采用顺序查找的方法查找错误模式中的一个固定参数,具体步骤如下:

3-1-a-1)多替换种子测试用例中一个参数的取值,得到附加测试用例,第一次替换一个参数;

3-1-a-2)运行附加测试用例;

3-1-a-3)反复执行3-1-a-1)和3-1-a-2),若某次附加测试用例运行通过,则新替换的参数就是所查找的固定参数,该步骤结束,若直到没有参数可替换时,所有附加测试用例运行都不通过,则说明没有找到固定参数,该步骤结束。

5.根据权利要求2所述的方法,其特征在于,所述步骤3-1)采用二分查找的方法查找错误模式中的一个固定参数,具体步骤如下:

3-1-b-1)确定参数序列中二分查找的上下界;

3-1-b-2)挑选一个上下界之间的参数vi

3-1-b-3)替换vi之前的所有参数的取值,得到附加测试用例;

3-1-b-4)运行附加测试用例,若通过,则修改上界为vi的前一个参数,否则修改下界为vi的后一个参数;

3-1-b-5)反复执行3-1-b-2)到3-1-b-4),直到下界大于上界为止;

3-1-b-6)在3-1-b-4)的运行结果中替换参数最少且运行通过的测试用例中,最后一个被替换的参数就是所查找的固定参数,若所有测试用例都不通过,则说明未找到固定参数。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010539469.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top