[发明专利]基于测试级的类测试顺序确定方法无效
申请号: | 201210456315.8 | 申请日: | 2012-11-14 |
公开(公告)号: | CN102937933A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 张艳梅;袁冠;姜淑娟 | 申请(专利权)人: | 中国矿业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 高桂珍 |
地址: | 221000 江苏省徐州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 测试 顺序 确定 方法 | ||
技术领域
本发明涉及一种确定类测试顺序的方法,尤其是可以花费尽可能少的测试桩找到最佳测试顺序的基于测试级的类测试顺序确定方法。
背景技术
面向对象程序中,类测试顺序的确定是类簇级测试中最重要的问题之一。不同的类测试序列,需要不同的测试代价,所以,尽可能减少测试代价是确定类测试顺序的重要目标。如果类的静态依赖关系中不存在环路,类测试顺序问题可以通过简单的逆向拓扑排序来解决,而对于存在环路的情况,测试人员必须从中删除某些依赖关系,以打破其中的环路。在删除依赖关系时,需要引进测试桩。测试桩指的是当C1依赖C2,增量集成过程中,C1集成时,但C2尚未被集成,用来模拟C2的服务组件。
节省测试成本是选择测试顺序的一个重要目标,而在面向对象程序的测试中,开发测试桩是一项成本很高的工作,这是因为根据测试桩的定义可知,测试桩需要模拟的是待测试对象所依赖的类的服务组件,而由于一个类的对象行为依赖于对象当前状态,并且一个行为需要涉及到多个对象,因此要准确地模拟一个类的对象行为需要理解所有与之相关的类的对象行为,所以节省开发测试桩的开销是确定类测试顺序的一个重要任务。减少开发测试桩成本的方法主要有两类:一类是最小化所需测试桩的数目,另一类是最小化测试桩的复杂度。测试桩复杂度是用来衡量构建一个测试桩的难易程度。测试桩的复杂度不易控制,因为测试桩的复杂度标准难以制定,而且测试桩的复杂度在某种程度上取决于开发人员的编程能力,由于面向对象编程具有极大的灵活性,不同开发背景的程序员开发同一个类的测试桩,完全有可能生成复杂度相差很大的测试桩;目前,已有科研人员将测试顺序应用到集成测试中,他们证明先构建类的测试顺序,然后按照类的测试顺序来进行集成测试的方法,可以在一定程度上减少测试桩的数量。研究人员将类桩作为实际的测试桩,然而, 类桩的个数乘以它们的客户类的个数是一个更准确的评价标准,被称作特效桩(specific stubs)的个数。因此,当一个服务类被多个客户类使用时, 如果我们想降低风险,通常需要构造至少与客户类个数相同的测试桩。
目前,现有的类测试顺序研究方法大多只限于静态分析,而类间的动态依赖关系比较普遍,动态依赖关系同样会导致类关系图中环的形成,对类测试序列产生影响,在删除动态依赖关系时,需要引进动态依赖关系测试桩。忽略类间的动态依赖关系将导致测试桩的数目不足,使得测试不充分。
发明内容
为了解决现有的测试方法忽略类间的动态依赖关系而导致的测试桩的数目不足,难以完成最终测试的问题,本发明提供一种基于测试级的类测试顺序确定方法,该基于测试级的类测试顺序确定方法不但提供了有效的类测试顺序分配策略,而且提供了较好的静态依赖关系和动态依赖关系构成的环路中边的删除规则,降低了测试成本,节约了测试时间,增加了测试的准确度,给科研人员的工作带来了便利。
本发明解决其技术问题所采用的技术方案是:该基于测试级的类测试顺序确定方法包括构建扩展的对象关系图、统计EORD中环路个数、消除EORD中环路及类测试级排序,其步骤如下:
(1) 构建扩展的对象关系图EORD
在对象关系图ORD中增加表示动态依赖关系的边,用标有Dy的虚线边表示,可得到扩展的对象关系图,记为EORD={V,E},其中,V为表示程序中的各个类节点,E={EI∪EAg∪EAs∪EDy},EI、EAg、EAs分别表示类间继承边、聚集边和关联边。
(2) 统计EORD中环路个数
首先分别将SCCs中包含的每一个子强连通分量SCCi中所有边以树的形式组织在一起,规则是将由类编号从小到大表示的各个类依次作为根节点,SCCi中包含的边作为分支进行构建,每选择一个不同的根节点时构建一棵不同的查找树,构建一棵查找树时在一条路径中避免重复的节点,最后以与根节点相同的节点作为叶子节点,直到SCCi中的边不能满足树中叶子节点与根节点相同为止;然后对这些查找树进行前序遍历,去掉重复的路径,最后得到SCCi中包括的总的环路数目及所有环路及路径,SCCi中各边涉及的环路的数目。
(3) 消除EORD中环路
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210456315.8/2.html,转载请声明来源钻瓜专利网。