[发明专利]一种似然蜕变关系构造方法有效
申请号: | 201810402135.9 | 申请日: | 2018-04-28 |
公开(公告)号: | CN108710567B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 闫仕宇;阳小华;吴取劲 | 申请(专利权)人: | 南华大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 421001 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 蜕变 关系 构造 方法 | ||
本发明公开了一种似然蜕变关系构造方法,该方法包括:将目标程序的输入数据作向量的笛卡尔乘积,获得输入集合;在预设输入关系库中查找与输入集合匹配的输入关系;在输入集合中确定出满足输入关系的输入子集,并在目标程序的输出数据中确定出输入子集对应的输出子集;在预设输出关系库中查找与输出子集匹配的输出关系;将输入关系与输出关系之间的对应关系确定为目标程序的似然蜕变关系。构造的似然蜕变关系有利于进一步发现更多的蜕变关系,而蜕变关系越多越有利于对目标程序进行蜕变测试,以便发现深层次缺陷,有助于提升目标程序质量。本发明还公开了一种似然蜕变关系构造装置、设备及可读存储介质,具有相应的技术效果。
技术领域
本发明涉及软件蜕变测试技术领域,特别是涉及一种似然蜕变关系构造方法、装置、设备及可读存储介质。
背景技术
蜕变测试技术是一种缓解软件测试判定难题(test oracle problem)的技术。该技术应用于测试的关键在于找出程序的蜕变关系。蜕变测试技术中的蜕变关系可以从已经存在测试用例(original test cases)来生成衍生测试用例(follow-up test cases)。进一步通过衍生测试用例来进行测试,揭示程序中潜藏的缺陷。
对于简单函数的计算程序的蜕变关系,通过数学分析其函数的性质得到蜕变关系,比如sin函数的性质sin(x)=sin(π-x)反应了程序不同输入及其结果之间的关系,就是程序的一条蜕变关系。但是,对于复杂函数的计算程序,通过分析其函数的性质得到蜕变关系是极其困难的。
综上所述,如何有效地解决复杂程序的蜕变关系构造等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种似然蜕变关系构造方法、装置、设备及可读存储介质,该似然蜕变关系构造方法是由程序已有的成功测试用例数据中找出似然蜕变关系,这些似然蜕变关系可以帮助发现程序的更多的蜕变关系,从而更好地用于程序测试。
为解决上述技术问题,本发明提供如下技术方案:
一种似然蜕变关系构造方法,包括:
将目标程序的输入数据作向量的笛卡尔乘积,获得输入集合;其中,所述输入数据为所述目标程序成功测试用例中的输入数据;
在预设输入关系库中查找与所述输入集合匹配的输入关系;
在所述输入集合中确定出满足所述输入关系的输入子集,并在所述目标程序的输出数据中确定出所述输入子集对应的输出子集;其中,所述输出数据为所述目标程序成功测试用例中的输出数据;
在预设输出关系库中查找与所述输出子集匹配的输出关系;
将所述输入关系与所述输出关系之间的对应关系确定为所述目标程序的似然蜕变关系。
优选地,所述在预设输入关系库中查找与所述输入集合匹配的输入关系,包括:
对所述预设输入关系库进行查找,直到找到符合所述输入集合中的预设数目的元素均对应的输入关系,并将所述输入关系确定为所述输入集合匹配的输入关系。
优选地,所述在预设输入关系库中查找与所述输入集合匹配的输入关系,包括:
遍历所述预设输入关系库,对每一个预设输入关系符合的所述输入集合中的元素数目进行标注;
将标注的元素数目最大的输入关系确定为所述输入集合匹配的输入关系。
优选地,所述在预设输出关系库中查找与所述输出子集匹配的输出关系,包括:
在预设输出关系库中查找,并将满足所述输出子集中的所有元素的输出关系确定为所述输出子集匹配的输出关系。
优选地,所述在预设输出关系库中查找与所述输出子集匹配的输出关系,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南华大学,未经南华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810402135.9/2.html,转载请声明来源钻瓜专利网。