[发明专利]一种测试用例集自动生成方法在审
申请号: | 201711204079.X | 申请日: | 2017-11-27 |
公开(公告)号: | CN107748721A | 公开(公告)日: | 2018-03-02 |
发明(设计)人: | 谢祥南;魏延栋;徐志鑫;曹明华 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国航空专利中心11008 | 代理人: | 王迪 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明为一种测试用例集自动生成方法,包括以下具体步骤步骤1获取逻辑表达式的条件集及条件前置逻辑符集、条件/判定集及条件/判定前置逻辑符集信息;所述的条件集是指逻辑表达式的所有条件的集合,所有条件包括耦合条件,每一个条件表示为C1~Cn,设总条件数为N,相异条件数为M,且按照表达式中出现顺序排列;所述的条件/判定集是逻辑表达式的所有条件和判定的集合,判定包括父判定和子判定,根据排序原则对判定和条件进行排序,排序原则为按照从属关系和出现顺序进行排序,从属关系优先,条件在相应判定之后;所述的前置逻辑符是指逻辑表达式中出现在该条件或判定前面的逻辑符号“&&”或“||”,或者无逻辑符号即设为空。 | ||
搜索关键词: | 一种 测试 用例集 自动 生成 方法 | ||
【主权项】:
一种测试用例集自动生成方法,其特征在于,包括以下具体步骤:步骤1:获取逻辑表达式的条件集及条件前置逻辑符集、条件/判定集及条件/判定前置逻辑符集信息;所述的条件集是指逻辑表达式的所有条件的集合,所有条件包括耦合条件,每一个条件表示为C1~Cn,设总条件数为N,相异条件数为M,且按照表达式中出现顺序排列;所述的条件/判定集是逻辑表达式的所有条件和判定的集合,判定包括父判定和子判定,根据排序原则对判定和条件进行排序,排序原则为:按照从属关系和出现顺序进行排序,从属关系优先,条件在相应判定之后;所述的前置逻辑符是指:逻辑表达式中出现在该条件或判定前面的逻辑符号“&&”或“||”,或者无逻辑符号即设为空;步骤2:依次选取条件集中的条件作为独立条件,获取一组赋值,保证该组赋值代入表达式的输出结果由独立条件的赋值决定;所述的独立条件是指,当前独立影响逻辑表达式输出结果的条件;对于耦合条件,则赋值由当前测试用例中的前次设定值为依据;对于零耦合条件逻辑表达式和弱耦合条件逻辑表达式,步骤2可以分解为如下步骤:步骤2.1A:选取条件集的第一个条件作为独立条件,然后获取条件集的一组有效赋值;步骤2.1.1A:选取C1作为独立条件,赋值为False;步骤2.1.2A:依次选取后续受控条件为比较条件,设比较条件为Ci,i>=2,在条件/判定集中找到所有比较判定D1~Dn,n>=1,其中,D1为同父判定,当n>=2,其中D2为一级比较子判定;从Dn开始往前遍历,基于“决定条件判定法”判断Ci是否为当前判定的决定条件,如果是,则继续向前查找,直到找到决定条件不为Ci的比较判定Dj,此时j>=1;当j>=2,则Ci的设定值由Dj‑1的前置逻辑符决定,当j=1时,则为Ci的前置逻辑符决定;如果遍历到D2,Ci依然为决定条件,则如果比较条件出现在独立条件之前,则其值由一级独立子判定,如果比较条件出现在独立条件之后,则为C1的前置符号决定,否则,则由D2的前置符号决定,当n=1时,则为Ci的前置逻辑符决定,然后依次获取其余受控条件的设定值;所述的受控条件是指,条件集中除当前独立条件以外的条件;所述的比较条件是指,条件集中当前准备处理的受控条件;所述的独立判定是指,当前条件/判定集中独立影响逻辑表达式输出结果的判定,包含独立条件,在条件/判定集中至少有一个;所述的受控判定是指,条件/判定集中除当前独立判定以外的判定;所述的比较判定是指,条件/判定集中当前准备处理的受控判定,即含比较条件的判定;所述的同父判定是指,当前条件/判定集中同时包含独立条件与比较条件且离独立条件最近的判定;所述的一级独立子判定是指,同父判定下一级包含独立条件的判定,即当前条件/判定集中紧接着同父判定的含独立条件的判定;所述的一级比较子判定是指,同父判定下一级包含比较条件的判定,即当前条件/判定集中紧接着同父判定的含比较条件的判定;所述的决定条件判定法是指:该判定从左至右第一个未曾在当前赋值组中设定过,或者设定的判断依据为当前判定的条件;当基准的前置逻辑符为“&&”时,条件赋值为True,当基准的前置逻辑符为“||”时,条件赋值为False;步骤2.2A:选取后续条件为独立条件,获取条件集的其余N‑1组赋值;步骤2.2.1A:依次选取后续条件为独立条件,赋值与上一组赋值中赋值相反;步骤2.2.2A:依次选取受控条件作为比较条件,赋值方法参照步骤2.1.2A;对于强耦合条件逻辑表达式,步骤2可以分解为如下步骤:步骤2.1B:选取条件集的第一个条件作为独立条件,然后获取条件集的一组条件赋值;步骤2.1.1B:选取C1作为独立条件,设条件赋值为False;步骤2.1.2B:依次选取后续受控条件为比较条件,设比较条件为Ci,i>=2,找到所有比较判定D1~Dn,n>=1,则D1为同父判定,如果存在一级比较子判定D2,则Ci的值由该判定的前置符号决定,如果不存在,则由Ci的前置符号决定;步骤2.2B:选取后续条件为独立条件,获取条件集的其余N‑1组赋值;步骤2.2.1B:依次选取后续条件为独立条件,独立条件的赋值与上一组独立条件的赋值中的赋值相反;步骤2.2.2B:然后依次选取受控条件作为比较条件,如果比较条件出现在独立条件之前,则比较条件的值由一级独立子判定决定,如果不存在一级独立子判定,则由独立条件的前置符号决定;如果当前比较条件出现在独立条件之后,则按照2.1.2B方法取值;步骤3:补充步骤2产生的各组赋值的补集,所述的补集获取方法为:独立条件及其耦合条件的原赋值取反,受控条件赋值保持不变;步骤4:将步骤2和步骤3产生的各赋值组构造成原始真值表,然后剔除其中重复的赋值组,得到总真值表;对于零耦合条件表达式,步骤3和步骤4可以简化为:仅补充步骤2.1所产生的赋值组补集,并与步骤2产生的所有赋值组合并,即可得到总真值表;步骤5:检查每个条件的真值对,确定所得真值表是否有效;所述的真值对由每个独立条件的所述的赋值组及其补集构成;步骤5.1A:对于零耦合条件逻辑表达式,仅需找到一对赋值组,满足独立条件取值相反,受控条件取值相同,且表达式输出值相反即可;步骤5.1B:对于耦合条件逻辑表达式,非耦合条件按照步骤5.1即可;耦合条件则需要找到多组赋值对,同样满足独立条件及耦合条件取值相反,受控条件取值相同,且表达式输出值相反即可;所述的步骤5.1A和步骤5.1B的两套检查算法,仅保证对步骤1~4所获得的测试用例集算法有效,通过其它算法获得的测试用例集的检查可参考上述算法;步骤6:根据真值表中赋值,将其转化为测试用例集;即删减掉耦合条件值,同时针对每个条件的具体关系式进行逻辑量赋值,从而获得相应的测试用例。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711204079.X/,转载请声明来源钻瓜专利网。