[发明专利]针对给定规则集生成测试用例的方法和装置在审
申请号: | 201610141058.7 | 申请日: | 2016-03-11 |
公开(公告)号: | CN107179987A | 公开(公告)日: | 2017-09-19 |
发明(设计)人: | 黄琦珍;钟朝亮 | 申请(专利权)人: | 富士通株式会社 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 朱胜,江河清 |
地址: | 日本神*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 给定 规则 生成 测试 方法 装置 | ||
1.一种针对给定规则集生成测试用例的方法,包括:
将给定规则集所涉及的对象集中的对象分类为其中对象的属性都是基本类型的第一集合和其中对象的属性包含非基本类型的第二集合;
依次对第一集合中的对象和第二集合中的对象进行初始化,来构造测试用例链表,所述测试用例链表中的每个元素表示用于对规则进行测试的一个测试用例,所述每个元素包括对象编号、对象类型、对象的属性以及规则链表;以及
对所述给定规则集进行遍历执行以下处理:针对所述给定规则集中的每条规则,将所述测试用例链表中的对象与该规则中的条件进行比较,根据比较结果来添加、修改或删除所述测试用例链表中的元素,从而确定最终的测试用例链表。
2.根据权利要求1所述的方法,其中,所述规则链表被布置在所述对象类型及每个对象的属性之后,表示该对象或者该属性在哪些规则中使用。
3.根据权利要求1所述的方法,其中,在对第一集合中的对象和第二集合中的对象进行初始化的步骤之后,所述方法还包括:
根据所述给定规则集中各个规则的优先级和基于属性流动图确定的顺序对规则进行排序。
4.根据权利要求1所述的方法,其中,所述第一集合中的对象的属性类型包括随机初始化的数值型、字符串型、布尔型以及日期型,所述第二集合中的对象的属性包括类或链表类型。
5.根据权利要求4所述的方法,其中,对第一集合中的对象和第二集合中的对象进行初始化包括:
先初始化所述第一集合中的对象,再初始化所述第二集合中的对象;对于所述第一集合中的对象,将数值型属性初始化为具体数字,将字符串 型属性初始化为随机字符串,将布尔型属性初始化为false,将日期型属性初始化为当前日期,将规则链表初始化为空链表。
6.根据权利要求5所述的方法,其中,初始化所述第二集合中的对象包括:
对于所述第二集合中的每个对象,如果某个属性的类型是所述第一个集合中的对象类型,则把所述第一集合中已初始化的该类型的对象赋值给该属性;如果某个属性的类型是链表,则将该链表初始化为空链表。
7.根据权利要求1所述的方法,其中,对于链表对象,对象类型的值为List,对象的属性的值为链表元素包含的对象。
8.根据权利要求1所述的方法,其中,对所述给定规则集中的每条规则,将所述测试用例链表中的对象与该规则中的条件进行比较,根据比较结果来添加、修改或删除所述测试用例链表中的元素包括:
如果所述测试用例链表中的对象与该规则中的条件的每个限定表达式都匹配,将该规则添加到对应的规则链表中,对下一条规则执行处理,
否则,如果所述测试用例链表中没有该规则中的限定表达式中的对象或链表,则创建一个符合限定表达式的所有属性约束的对象或链表,将该规则添加到所创建的对象或链表对应的规则链表中,并将该对象或链表添加到所述测试用例链表中;
否则,对与该规则中的限定表达式不匹配的属性,查看所述测试用例链表中包含该限定表达式的属性的规则链表是否为空链表,
如果为空,则对该属性的属性值进行修改使其与该限定表达式匹配,并将该规则添加到该属性的规则链表中,
否则,在所述测试用例链表中新添加一个对象,使该对象的属性与该限定表达式匹配,并将该规则添加到新添加的对象的该属性的规则链表中。
9.根据权利要求8所述的方法,其中,对所述给定规则集中的每条 规则,将所述测试用例链表中的对象与该规则中的条件进行比较,根据比较结果来添加、修改或删除所述测试用例链表中的元素还包括:删除所述测试用例链表中的所有规则链表都为空链表的元素。
10.一种针对给定规则集生成测试用例的装置,包括:
分类单元,被配置为将给定规则集所涉及的对象集中的对象分类为其中对象的属性都是基本类型的第一集合和其中对象的属性包含非基本类型的第二集合;
初始化单元,被配置为依次对第一集合中的对象和第二集合中的对象进行初始化,来构造测试用例链表,所述测试用例链表中的每个元素表示用于对规则进行测试的一个测试用例,所述每个元素包括对象编号、对象类型、对象的属性以及规则链表;以及
测试用例链表生成单元,被配置为对所述给定规则集进行遍历执行以下处理:针对所述给定规则集中的每条规则,将所述测试用例链表中的对象与该规则中的条件进行比较,根据比较结果来添加、修改或删除所述测试用例链表中的元素,从而确定最终的测试用例链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于富士通株式会社,未经富士通株式会社许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610141058.7/1.html,转载请声明来源钻瓜专利网。