[发明专利]一种测试用例集生成方法有效
申请号: | 201010116844.4 | 申请日: | 2010-03-02 |
公开(公告)号: | CN102193858A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 程亮;张阳;冯登国 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试 用例集 生成 方法 | ||
技术领域
本发明属于操作系统安全技术领域,具体涉及一种测试用例集生成方法。
背景技术
随着Internet应用的广泛深入,以及计算机信息系统安全问题的日益凸显,安全操作系统的研究已吸引了越来越多的关注。然而,我们在研究工作中发现,相比于安全操作系统的研发,安全操作系统的测试与验证更是一项紧迫的工作。由于安全模型通常是独立于实现开发的,我们并不能从安全模型的正确性推出其实现是安全的。因此,比较理想的测试方法是采用自动化的方法生成测试用例(参考发明名称:一种可信密码模块的测试用例生成方法及其测试系统,专利号:ZL 200810104596.4的专利技术文献;一种基于关系的测试用例生成方法,专利号:200810089572.6;参考发明名称:一种实现测试用例自动化运行的方法,专利号:200510132220.0),将用例细化成具体的测试数据后,再利用合适的测试驱动在具体实现上自动运行测试用例,以验证实现与规范之间的一致性。
安全操作系统测试的自动化的基础是形式化方法。目前已经有很多形式化方法应用于自动化的测试用例生成(参考发明名称:基于模型转换的协议正确性验证和测试方法,专利号:ZL200510002613.X的专利技术文献)。形式化方法中的模型检测技术是一种基于模型的属性验证方法(参考发明名称:用于验证电路的模型检测中的模型抽象方法及其系统,申请号200910083790.3的专利技术文献),它以系统模型和待验证属性或安全需求作为输入,其优点在于验证过程的完全自动化,验证速度快、效率高。如果一个属性不满足,它可以立刻反馈出违反该属性的执行路径。对于安全操作系统测试来说,最后一点尤为重要,因为一个违反安全需求的执行路径直接对应安全模型或安全策略配置上的漏洞,对该路径细化之后就可以直接生成测试用例。然而,由于操作系统状态多,安全需求多,如果不对测试用例进行化简,测试的工作量会非常庞大。
目前出现的针对测试用例化简的研究可以分为以下三类(参考发明名称:一种测试用例集缩减技术,申请号200910020845.6的专利技术文献):第一类对测试需求集进行化简,这种方法通过寻找测试需求之间以及需求集与测试集之间的相互关系对测试需求集进行化简,这种方法化简方法简单直观,但是没有考虑到测试集中各测试集之间的内在联系,化简效果不太理想。第二类方法对模型检测器的检测算法进行优化,在模型检测器针对某 属性p产生了测试用例后,在该用例的基础上继续探索状态空间,如果发现路径满足新的属性p’,则将p’从需求集中删除,从而达到化简用例集的目的。该方法充分利用了模型检测器的性能,人工干预极少,然而从现有用例探索对新属性的满足性的过程完全是盲目的,而且探索的深度也难以控制:太浅效率难以保证,太深则资源消耗严重。第三类方法对已生成的测试集进行化简,这种方法在模型检测器生成一个测试序列之后寻找该测试序列和已生成测试集之间的内在联系,从而达到化简测试集的目的。这种方法目前仍以寻找不同测试序列中的相同安全状态为主要思路,没有考虑到安全状态迁移的影响,仍有继续化简的空间。
考虑到目前方法都是以测试路径中的系统状态为操作对象的,而在实际测试中,决定测试集大小的直接因素是状态迁移的数量,而不是状态的数量,如何提供一种简化的测试用例集,以提高安全操作系统的验证效率是目前急待解决的技术问题。
发明内容
本发明的目的在于提供一种基于安全状态迁移的测试用例集生成方法。首先将不存在相同安全状态迁移的测试序列组成的测试集定义为简并测试集。接着针对利用模型检测器生成的测试序列,寻找不同测试序列之间存在的相同安全状态迁移,加以化简。在化简的同时记录相关信息,以减少测试集中测试序列的数量;而且在测试失败时,也能根据所记录信息准确定位失败位置。从而最终得到简并测试集并达到尽可能化简测试集的目的。
本发明的技术方案为:
一种测试用例集生成方法,其步骤为:
1)从测试需求集SP中取出一安全属性p,取反后输入模型检测器生成该安全属性p的测试序列Tp;
2)提取测试序列Tp中所有的状态迁移,并与测试需求集中所有已存在的状态迁移进行对比,将状态迁移相同部分记录到集合EI中;
3)删除Knownedges或Tp中的与集合EI中相同部分的状态迁移;其中,Knownedges为测试需求集中已经存在的状态迁移集合;
4)对测试需求集SP中所有属性,重复步骤1)~3),生成简并测试序列集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010116844.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于本体的知识地图绘制系统
- 下一篇:基于物联网的物品管理方法及系统