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)中的范围元素表明单击元素的作用范围,这就代表测试人员希望