一种基于四值逻辑的位运算测试用例生成方法_3

文档序号:9288376阅读:来源:国知局
选择x2=0 ;
[0127] 如果选择变量x3,再从x3值域0中选择一个值,只有一种选择x3= 0;
[0128] 如果选择变量x4,再从x4值域T中选择一个值,比如x4=0 ;
[0129] 变量集X中所有变量都赋值:即Xi=1,x2= 0,x3= 0,x4= 0 ;
[0130] 由于所有变量都已经赋值且满足约束,所以求解成功。
[0131] 最后应用步骤五将逻辑运算约束的解合成为位运算约束的解:
[0132] 求出变量x的每个二进制位Xj(jG1,2, 3, . . .,n)的解,然后将所有\的解合并 起来,即可得到变量x的值,合成为整数解:整数x的二进制形式x=Xlx2X3x4= 1000,转换 成十进制形式后,整数x为8 ;基于四值逻辑的位运算生成的测试用例就是8。
[0133]比如约束为:x&〇= y,变量集X= {x、y};值域集D= {Dx= [0,2n_l],Dy = [0,2n-l]}如果使用现有的搜索算法,搜索空间为|DX|X|Dy| = 2nX2n= 22n| ;使用四值逻 辑运算的方法和四值逻辑运算的逆运算方法后,依据"x的值为T,y为0则x&y的结果为0", 也就是T&0 = 0,无论x是什么,x&O的结果都是0 ;所以Dy= {0}则搜索空间为|Dx |X|Dy =2nXl= 2、即搜索空间减小一半。
【主权项】
1. 一种基于四值逻辑的位运算测试用例生成方法,其特征在于,具体步骤如下: 步骤一、分别设定四值逻辑运算的方法和四值逻辑运算的逆运算方法; 四值逻辑运算是指将逻辑变量的值域抽象成四种取值,分别表示为:丄,0, 1,T;其中 丄=0、0 = {0}、1 = {1}、T= {0, 1}; 逻辑运算的逆运算是指,已知逻辑运算xRy=Z,通过y和Z求X的运算称为R的逆运 算,记为X=zRV;R是位运算符,RG{&、I、1 ; 基于四值逻辑的运算式包括:x与y,X或y,X异或y,W及X按位取反;分别用符号表 示为:x的,XIy,x~y和~X; 四值逻辑的逆运算式包括:x与y的逆运算,X或y的逆运算,X异或y的逆运算和X按 位取反的逆运算;分别用符号表示:Z&V,ZIV,zV和~Z1; 步骤二、将位运算约束分解为逻辑运算约束; 位运算约束的形式有两种:①一元约束:~X=y;②二元约束:xRy=Z;其中,x、y、z是整数;将位运算约束中的整型变量表示成二进制形式,则二进制形式中的每一位对应一 个逻辑运算约束; 步骤=、将逻辑运算约束对应为约束满足问题; 约束满足问题表示成=元组〈X,D,C〉;X是变量集,D是与变量集对应的值域集,C是变 量的约束集; 步骤四、依据四值逻辑运算和逆运算的方法使用捜索算法求解逻辑运算约束; 步骤401、应用四值逻辑运算和逆运算的方法对约束集C进行抽象计算;得到变量集X中各个子集的抽象结果; 变量集X中的元素即为子集,用表示基于四值逻辑的位运算生成的测试用例的二进 制形式; 步骤402、从变量集X的抽象结果中选择一个子集变量进行处理; 步骤403、选定子集变量后,从对应的值域集D中选择一个子集D1; 步骤404、将<Xi,Di>代入约束集C,如果发生矛盾,则从值域集D中重新选择子集Di;否 贝1J,继续选择下一组<xw,Dw〉,直至变量集X中所有变量都赋值; 步骤405、变量集X中所有变量都赋值且满足约束,求解成功; 变量集X的一个赋值如果是约束求解问题的一个解,满足当且仅当该赋值包含所有变 量且满足所有约束; 步骤五、将逻辑运算约束的解合成为位运算约束的解,该位运算约束的解为生成的测 试用例。2. 如权利要求1所述的一种基于四值逻辑的位运算测试用例生成方法,其特征在于, 所述的步骤一中四值逻辑运算的方法如下: (l)x的:x的值为丄时,无论y是什么值,X的的结果都为丄; X的值为0时,y从丄、0、1或T中选取,当y为丄,则X的的结果为丄;当y为0、1或T中任一值时,X的的结果为0 ; X的值为1时,y从丄、0、1或T中选取,当y为丄,则X的的结果为丄;当y为0则X的 的结果为0,当y为1贝IJX的的结果为1,当y为T,则X的的结果为T; X的值为T时,y从丄、0、1或T中选取,当y为丄,则X的的结果为丄,当y为0则X的 的结果为0,当y为1贝IjX的的结果为T,当y为T,则X的的结果为T; (2) XIy:x的值为丄时,无论y是什么值,XIy的结果都为丄; X的值为0时,y从丄、0、1或T中选取,当y为丄,则x|y的结果为丄,当y为0,则x|y的结果为0,当y为1,则x|y的结果为1,当y为T则x|y的结果为T; X的值为1时,y从丄、0、1或T中选取,当y为丄,则x|y的结果为丄,否则,当y为0、 1或T中任一值时,XIy的结果为1 ; X的值为T时,y从丄、0、1或T中选取,当y为丄,则x|y的结果为丄,当y为0,则x|y的结果为T,当y为1,则XIy的结果为1,当y为T,则XIy的结果为T; (3)x~y:x的值为丄时,无论y是什么值,的结果都为丄; X的值为0时,y从丄、0、1或T中选取,当y为丄,则x~y的结果为丄,当y为0则x~y的结果为0,当y为1则x~y的结果为1,当y为T则x~y的结果为T; X的值为1时,y从丄、0、1或T中选取,当y为丄,则x~y的结果为丄,当y为0则x~y的结果为1,当y为1则x~y的结果为0,当y为T则x~y的结果为T; X的值为T时,y从丄、0、1或T中选取,当y为丄,则x~y的结果为丄,否则当y为0、1 或T中任一值时,的结果为T; (4)~X:x的值为丄时,~X为丄;X的值为0时,~X为1 ;x的值为1时,~X为0;x 的值为T时,~X为T; 四值逻辑运算的逆运算方法如下: 妨Z&V:z的值为丄时,y从丄、0、1或T中选取,当y为丄,则Z&V的结果为T,否则 当y为0、1或T中任一值时,Z&V的结果为丄; Z的值为0时,y从丄、0、1或T中选取,当y为丄,则Z&V的结果为丄,当y为0则Z&V的结果为T,当y为1则Z&V的结果为0,当y为T则Z&V的结果为T; Z的值为1时,y从丄、0、1或T中选取,当y为丄,则Z&V的结果为丄,当y为0则Z&V的结果为丄,当y为1则Z&V的结果为1,当y为T则Z&V的结果为1 ; Z的值为T时,y从丄、0、1或T中选取,当y为丄,则Z&V的结果为丄,否则当y为0、 1或T中任一值时,Z&V的结果为T; (6) ZIV:z的值为丄时,y从丄、0、1或T中选取,当y为丄,则ZIV的结果为T,否则, 当y为〇、1或T中任一值时,z|V的结果为丄; Z的值为0时,y从丄、0、1或T中选取,当y为丄,则z|V的结果为丄,当y为0,则z|V的结果为0,当y为1,则z|V的结果为丄,当y为T,则z|V的结果为0; Z的值为1时,y从丄、0、1或T中选取,当y为丄,则z|V的结果为丄,当y为0,则z|V的结果为1,当y为1,则z|V的结果为T,当y为T,则z|V的结果为T; Z的值为T时,y从丄、0、1或T中选取,当y为丄,则ZIV的结果为丄,否则当y为0、 1或T中任一值时,z|V的结果为T; (7)z~V:z的值为丄时,y从丄、0、1或T中选取,当y为丄,现JZV的结果为T,否则当y为〇、1或T中任一值时,ZV的结果为丄; Z的值为0时,y从丄、0、1或T中选取,当y为丄,则ZV的结果为丄;当y为0则ZV的结果为0,当y为1,则ZV的结果为1 ;当y为T,则ZV的结果为T; Z的值为1时,y从丄、0、1或T中选取,当y为丄,则ZV的结果为丄;当y为0则ZV 的结果为1,当y为1,则zV的结果为0 ;当y为T,则zV的结果为T; Z的值为T时,y为丄则zV的结果为丄;否则当y为0、1或T中任一值时,zV的结 果为T; 做~zS当Z的值为丄时,~Z为丄;当Z的值为0时,~Z为1 ;当Z的值为1时,~Z为0;当Z的值为T时,~Z为T。3.如权利要求1所述的一种基于四值逻辑的位运算测试用例生成方法,其特征在于, 所述的步骤二,位运算约束的形式符号化描述如下: ~X = y一~又1又2. . . Xi. . . Xn= y172. . . Yi. . . y。一~X 1= y 1 A~X 2= y 2. . . A~Xi = Yi...八~Xn=yn,其中Xi,yiG{0,:[}; xRy = Z一X1X2. . . Xi. . . XnRyiYz. . . Yi. . . Yn= Z 1Z2. . . Zi. . . Zn一X脚1= Z 1AX 2RY2 = Z2八? . . X iRy;= z i...八XnRyn= z n 其中,Xi,yi,ZiG{0,1} ;n为整数,表示二进制形式下的位数。
【专利摘要】本发明公开了一种基于四值逻辑的位运算测试用例生成方法,属于软件测试中测试用例生成技术领域,具体步骤包括:步骤一、分别设定四值逻辑运算的方法和四值逻辑运算的逆运算方法;步骤二、将位运算约束分解为逻辑运算约束;步骤三、将逻辑运算约束对应为约束满足问题;步骤四、依据四值逻辑运算和逆运算的方法使用搜索算法求解逻辑运算约束;步骤五、将逻辑运算约束的解合成为位运算约束的解。优点在于:应用多值逻辑来计算变量的值域,从而提高搜索空间和位运算的搜索效率,进一步提高了位运算的测试用例生成效率。
【IPC分类】G06F11/36
【公开号】CN105005530
【申请号】CN201510416680
【发明人】金大海, 李峰, 宫云战, 王雅文, 黄俊飞
【申请人】北京邮电大学
【公开日】2015年10月28日
【申请日】2015年7月15日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1