Page 8 - 《软件学报》2020年第12期
P. 8

3674                                Journal of Software  软件学报 Vol.31, No.12, December 2020

         信息.例如对于图 2(c)的拖拽动作元素,它定义的参数包括拖拽起点、拖拽终点以及位于拖拽起点上的控件的
         信息.
             范围元素图形用于申明测试动作的作用范围.它一般由一个封闭的圈状结构构成(如图 3 所示),在圈范围内
         及位于圈轨迹上的所有控件都是测试动作的作用范围.例如在图 3(b)中,范围元素圈出了菜单项中的 5 个按钮,
         表明动作元素将会作用于这 5 个按钮上.在一些难以获得控件信息的游戏类应用中,范围元素将直接圈出测试
         动作的作用像素范围,此时将以像素坐标作为测试基准.






















                                    (a)                                          (b)

                                        Fig.3    Example of range elements
                                           图 3   范围元素图形示例

             量词元素图形须与范围元素图形同时使用,以表示测试动作在该范围内的数量约束.在本文的手绘测试语
         言中,我们定义了 4 种典型的量词元素,包括存在量词、全称量词、递归存在量词以及递归全称量词,其对应的
         手绘量词元素图形分别如图 4(a)~图 4(d)所示.









                            (a)  存在量词        (b)  全称量词      (c)  递归存在量词     (d)  递归全称量词
                                       Fig.4    Sketch of quantifier elements
                                             图 4   量词元素图形
             存在量词表示仅需在该范围内找到一个满足测试目标的测试动作,全称量词表示须反复验证是否该范围
         内的动作均能满足测试目标.为了加强量词的表达能力,在本文的手绘测试语言中,我们进一步引入了递归存在
         量词和递归全称量词.这些递归量词以对应范围元素所圈定的测试动作作为起始动作,递归地探索更深层次的
         动作序列组合,如果由该动作开始的所有动作序列均满足测试目标,那么它符合递归全称量词;同理,如果至少
         存在一个由该动作开始的动作序列满足测试目标,那么它就符合递归存在量词.以图 3(a)为例,假设测试人员绘
         制的是单击元素和递归存在量词,并以图 3(a)中的范围元素表明单击元素的作用范围,这就代表测试人员希望
   3   4   5   6   7   8   9   10   11   12   13