[发明专利]一种事件序列故障定位方法有效
申请号: | 201710278374.3 | 申请日: | 2017-04-25 |
公开(公告)号: | CN107133168B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 裴大茗;王建峰;晏裕生;吴美熹;孙孟阳;汪浩 | 申请(专利权)人: | 中国船舶工业综合技术经济研究院 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 王加贵 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事件 序列 故障 定位 方法 | ||
本发明公开了一种事件序列故障定位方法,所述定位方法应用于测试系统中,对多条测试事件序列激励进行逐条触发,获得触发结果,根据触发结果获得正确激励集合和错误激励集合,根据所述正确激励集合计算出系统的安全值集合,根据安全值集合和错误测试激励,生成附加测试事件序列,进行故障事件序列定位,获得错误事件序列。采用安全值集合和错误测试激励进行故障事件序列定位分析,快速准确地对故障事件序列进行定位。
技术领域
本发明涉及软件测试领域,特别是涉及一种事件序列故障定位方法。
背景技术
在软件测试中,当事件序列测试用例引发软件错误时,需要测试人员找出触发系统故障的错误事件序列,现有技术中,软件测试人员采用逐条测试的方法查找引起故障的错误事件序列,效率低,亟需一种快速准确的定位测试激励中的错误事件序列的方法。
发明内容
本发明的目的是提供一种快速准确的定位测试激励中的错误事件序列的方法。
为实现上述目的,本发明提供了如下方案:
一种事件序列故障定位方法,所述定位方法应用于测试系统中,所述定位方法包括:
根据所述测试系统中的测试结果,获得可能错误事件序列集;
根据所述可能错误事件序列集,获得强度为t的错误事件序列;根据所述强度为t的错误事件序列,获得多条测试激励;
逐条对所述多条测试激励触发,获得触发结果;
判断所述触发结果是否错误,如果是,将对应触发结果错误的测试激励加入到错误激励集合M中;否则,将对应触发结果正确的测试激励加入到正确激励集合N中;
根据所述正确激励集合N计算,获得所述测试系统的安全值集合;
根据所述安全值集合定位所述错误激励集合M中的每条所述测试激励中对应的错误事件序列,将所述错误事件序列存储在错误事件序列集H中,输出所述错误事件序列集H。
可选的,所述根据所述正确激励集合N计算,获得所述测试系统的安全值集合具体包括:
设所述正确激励具有k个事件;
从所述正确激励集合N中筛选出kt的正确激励,获得新的正确激励集合N′;
将所述新的正确激励集合N′中的每条所述正确激励对应的第i个事件至第i+t个事件的序列存储到所述安全值集合中,获得所述安全值集合,当kt时,i的取值为0,1,2,......,k-1。
可选的,根据所述安全值集合定位所述错误激励集合M中的每条所述测试激励中对应的错误事件序列具体包括:
设所述错误激励为T;
初始化所述错误激励T,获得集合A,所述集合A为1到k的整数;
判断所述集合A的强度是否大于t,如果是,继续进行;否则,采用所述安全值集合中的各元素逐一替换所述集合A中的各元素,定位所述集合A中的错误事件序列,获得所述错误事件序列;
将所述集合A平均分成t+1个互不相交的集合A1,A2,...,At+1;
采用所述集合A1,A2,...,At+1中的集合Aj将所述错误激励对应位置上的元素替换为所述安全值,获得t+1条附加测试激励;
当测试过程中出现m条所述附加测试激励触发错误,获取m条所述附加测试激励的交集对应的因素集A′;
根据所述因素集A′生成新的测试激励T′;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶工业综合技术经济研究院,未经中国船舶工业综合技术经济研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710278374.3/2.html,转载请声明来源钻瓜专利网。