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

成浩亮  等:一种手绘制导的移动应用界面测试方法                                                         3673


         的拖拽动作集.最终,我们的框架将动作序列从模型中导出,生成用户需要的界面测试用例.








                      (a)  弹弹堂游戏的测试界面                       (b)  测试导弹在不同角度和力度发射的手绘图形

                                   Fig.1    A test scenario example of bouncing ball
                                     图 1   一个弹弹堂游戏的测试场景示例
             在本文中,我们以近年来在相关文献中已用作移动应用界面测试的评估用例集为基准,来评估手绘图形界
         面测试方法的测试效果.评估结果表明:对于大多数移动应用程序,用户仅需进行 8 分钟左右手绘人力成本,就能
         使界面测试效果得到明显提升,手绘图形所表达的用户测试意图在制导移动应用界面测试上能起到非常关键
         的作用.
         1    手绘制导测试框架

             本文的应用程序界面测试框架主要包含两个部分:手绘前端用于帮助用户在待测应用界面图像上绘制图
         形,并按照手绘测试语言的语法进行识别,使之能准确刻画用户的测试意图;测试生成后端用于在此基础上建立
         测试模型并生成对应的测试用例.在实施测试时,本文框架还提供了交互式反馈机制,即,用户可以根据生成用
         例的测试效果,进一步补充新的手绘图形,使对应的测试意图更为准确.
         1.1   手绘前端
             手绘前端用于识别测试人员在应用界面图像上的手绘图形,然后根据识别结果生成布局文件.布局文件中
         包含了按照手绘测试语言所定义的各项参数,以及对应界面的控件信息.为了方便测试人员进行手绘并规范测
         试人员的手绘图形,本文的手绘测试语言定义了 4 种基本元素图形,分别是:(1)  用于表示各种基本测试动作的
         动作元素图形;(2)  用于申明动作元素作用范围的范围元素图形;(3)  用于表示动作范围约束的量词元素图
         形;(4)  用于以一定逻辑关系连接基本动作步的逻辑连接符元素图形.
             动作元素图形定义了测试中的单个动作,常见的测试动作有单击、双击(在某些设备上相当于长按)、拖拽
         等等(如图 2 所示),用户可以根据实际需要对动作元素图形进行扩展.

                          触发点           触发点                 拖拽起点


                                                                      拖拽终点
                               (a)  单击             (b)  双击或长按               (c)  拖拽
                                        Fig.2    Example of action elements
                                           图 2   动作元素图形示例
             另外,动作元素还需定义必要的参数,包括触发这个动作的触发点坐标,这个坐标就是图 2 中每个动作元素
         近似圆的部分的中心点坐标(对于双击元素而言,只取第 1 个近似圆的部分的中心点),以及这个坐标对应的控件
   2   3   4   5   6   7   8   9   10   11   12