发明名称 一种基于四值逻辑的位运算测试用例生成方法
摘要 本发明公开了一种基于四值逻辑的位运算测试用例生成方法,属于软件测试中测试用例生成技术领域,具体步骤包括:步骤一、分别设定四值逻辑运算的方法和四值逻辑运算的逆运算方法;步骤二、将位运算约束分解为逻辑运算约束;步骤三、将逻辑运算约束对应为约束满足问题;步骤四、依据四值逻辑运算和逆运算的方法使用搜索算法求解逻辑运算约束;步骤五、将逻辑运算约束的解合成为位运算约束的解。优点在于:应用多值逻辑来计算变量的值域,从而提高搜索空间和位运算的搜索效率,进一步提高了位运算的测试用例生成效率。
申请公布号 CN105005530A 申请公布日期 2015.10.28
申请号 CN201510416680.X 申请日期 2015.07.15
申请人 北京邮电大学 发明人 金大海;李峰;宫云战;王雅文;黄俊飞
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 赵文利
主权项 一种基于四值逻辑的位运算测试用例生成方法,其特征在于,具体步骤如下:步骤一、分别设定四值逻辑运算的方法和四值逻辑运算的逆运算方法;四值逻辑运算是指将逻辑变量的值域抽象成四种取值,分别表示为:⊥,0,1,T;其中<img file="FDA0000760086590000011.GIF" wi="158" he="58" />0={0}、1={1}、T={0,1};逻辑运算的逆运算是指,已知逻辑运算xRy=z,通过y和z求x的运算称为R的逆运算,记为x=zR<sup>‑1</sup>y;R是位运算符,R∈{&amp;、|、^};基于四值逻辑的运算式包括:x与y,x或y,x异或y,以及x按位取反;分别用符号表示为:x&amp;y,x|y,x^y和~x;四值逻辑的逆运算式包括:x与y的逆运算,x或y的逆运算,x异或y的逆运算和x按位取反的逆运算;分别用符号表示:z&amp;<sup>‑1</sup>y,z|<sup>‑1</sup>y,z<sup>^‑1</sup>y和~z<sup>‑1</sup>;步骤二、将位运算约束分解为逻辑运算约束;位运算约束的形式有两种:①一元约束:~x=y;②二元约束:xRy=z;其中,x、y、z是整数;将位运算约束中的整型变量表示成二进制形式,则二进制形式中的每一位对应一个逻辑运算约束;步骤三、将逻辑运算约束对应为约束满足问题;约束满足问题表示成三元组&lt;X,D,C&gt;;X是变量集,D是与变量集对应的值域集,C是变量的约束集;步骤四、依据四值逻辑运算和逆运算的方法使用搜索算法求解逻辑运算约束;步骤401、应用四值逻辑运算和逆运算的方法对约束集C进行抽象计算;得到变量集X中各个子集的抽象结果;变量集X中的元素即为子集,用x<sub>i</sub>表示基于四值逻辑的位运算生成的测试用例的二进制形式;步骤402、从变量集X的抽象结果中选择一个子集变量x<sub>i</sub>进行处理;步骤403、选定子集变量x<sub>i</sub>后,从对应的值域集D中选择一个子集D<sub>i</sub>;步骤404、将&lt;x<sub>i</sub>,D<sub>i</sub>&gt;代入约束集C,如果发生矛盾,则从值域集D中重新选择子集D<sub>i</sub>;否则,继续选择下一组&lt;x<sub>i+1</sub>,D<sub>i+1</sub>&gt;,直至变量集X中所有变量都赋值;步骤405、变量集X中所有变量都赋值且满足约束,求解成功;变量集X的一个赋值如果是约束求解问题的一个解,满足当且仅当该赋值包含所有变量且满足所有约束;步骤五、将逻辑运算约束的解合成为位运算约束的解,该位运算约束的解为生成的测试用例。<pb pnum="1" />
地址 100876 北京市海淀区西土城路10号
您可能感兴趣的专利