[发明专利]模糊测试方法和装置在审
申请号: | 201510729492.2 | 申请日: | 2015-10-30 |
公开(公告)号: | CN106649075A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 唐文 | 申请(专利权)人: | 西门子公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 李慧 |
地址: | 德国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模糊 测试 方法 装置 | ||
技术领域
本发明涉及软件安全领域,尤其涉及一种模糊测试方法和装置。
背景技术
模糊测试是一种在上世纪九十年代引入的新型黑盒测试技术,用于查找各种软件中的故障。模糊测试在实际应用中取得了巨大的成功。模糊测试提供一些“模糊”(随机的或错误的)数据作为待测软件的输入,然后检查软件是否正常响应。相应地,如果软件出现了错误(例如崩溃或输出意外响应),就能够检测出相应的错误。模糊测试被认为能够提高提高软件的安全性、可靠性和有效性,这是因为模糊测试经常能够找出被忽略的缺陷。由于生成测试用例的成本相对较低,并且可以完全自动实现,因此,近年来,模糊测试变得越来越普遍。此外,通过模糊测试找到的错误经常是可以被攻击者使用的严重的、可利用的错误。
模糊测试取得了广泛的应用。例如,在电力、电信、运输、供水、石油、天然气、制造以及商业等领域都要用到不同的协议进行通信。随着为这些重要产业的基础设施提供通信,网络协议的安全性变得越来越重要。缓冲区溢出、格式字符串、代码注入、竞争条件等网络协议的弱点可能导致非预期的结果。例如,服务崩溃、DoS攻击、反常状态或响应等。攻击者可能获得权限,从而干扰或完全控制重要的控制系统。因此,无论对于学术研究或是工业开发,网络协议的安全性和健壮性都已经成为关键性的问题。模糊测试可用于检测通信协议的安全性,发现上述缺陷。
尽管模糊测试在上述的实际应用中能够发现很多安全弱点,但模糊测试完全是一种黑盒测试,其必须利用大量的测试用例以暴力方式来实现查找潜在弱点的目标。因此,测试过程是昂贵、费时的。并且,即使执行了很多测试用例,也不一定能够为软件的正确性提供可信的依据。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的测试方法和装置。
根据本发明的一个方面的实施例,提供了一种模糊测试方法,包括:利用第一测试用例集中的测试用例对测试对象进行模糊测试;确定部分测试用例对测试对象进行的模糊测试的测试覆盖率;以及如果所确定的测试覆盖率不再提高且小于目标测试覆盖率,则利用第二测试用例集中的测试用例对所述测试对象进行模糊测试。重复上述过程,直至达到目标测试覆盖率为止。
其中,所述确定包括:监测测试对象在部分测试用例下的运行行为信息,基于所监测的运行行为信息,获取测试对象中已被部分测试用例测试到的单元的数量,以及计算所获取的单元的数量与测试对象包含的单元的总数的比值,作为所述确定的覆盖率。
其中,单元包括测试对象的代码或路径。
其中,第二测试用例集是基于所述测试对象中未被所述部分测试用例测试到的单元确定的。
其中,方法还包括:如果确定的测试覆盖率继续提高,则继续利用第一测试用例集中的剩余测试用例对测试对象进行测试。
根据本发明另一个方面的实施例,提供了一种模糊测试装置,包括:测试模块,用于利用第一测试用例集中的部分测试用例对测试对象进行模糊测试,以及在覆盖率分析模块确定的测试覆盖率不再提高且小于目标测试覆盖率时,利用第二测试用集中的测试用例对测试对象进行模糊测试;覆盖率分析分析模块,用于确定第一测试用例集的部分测试用例对测试对象进行的模糊测试的测试覆盖率。
其中,覆盖率分析模块进一步用于:监测测试对象在部分测试用例下的运行行为信息,基于所监测的运行行为信息,获取测试对象中已被部分测试用例测试到的单元的数量,以及计算所获取的单元的数量与测试对象包括的单元的总数的比值作为所述确定的测试覆盖率。
其中,所述单元包括所述测试对象的代码或路径。
其中,测试模块还用于:基于测试对象中未被第一测试用例集中的部分 测试用例测试到的单元来确定第二测试用例集。
其中,测试模块还用于:当覆盖率分析模块确定测试覆盖率继续提高时,继续利用第一测试用例集中的剩余测试用例对测试对象进行测试。
根据本发明上述实施例的模糊测试方法或装置,确定测试对象在模糊测试的第一测试用例集中的部分测试用例下的测试覆盖率,来判断第一测试用例集是否能够覆盖更多的代码或覆盖其他路径,若判断为不能,则略过第一测试用例集中剩下的测试用例,选择第二测试用例集。通过该方案,可以略过冗余测试用例,节省测试成本和测试时间。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。在附图中:
图1示出了根据本发明一个实施例的测试方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子公司,未经西门子公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510729492.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能卡的程序调试方法及装置
- 下一篇:一种应用程序测试方法及系统