| 本文已被:浏览 4191次 下载 7465次 |
 码上扫一扫! |
|
|
| 基于事件处理函数的GUI测试用例集约简技术 |
|
陈军成1,2,3, 薛云志1,2, 陶秋铭1,2, 赵琛1,2
|
|
1.中国科学院 软件研究所 基础软件测评实验室, 北京 100190;2.基础软件国家工程研究中心(中国科学院 软件研究所), 北京 100190;3.中国科学院大学, 北京 100049
|
|
| 摘要: |
| GUI测试用例集约简是降低GUI软件测试成本的有效手段.GUI软件的消息循环机制以及事件驱动特性,导致传统的基于控制流和数据流的测试用例集约简技术难以直接应用于GUI测试用例集约简.如何在尽可能保持原有测试用例集缺陷发现能力的基础上,尽可能地降低GUI测试用例集规模,是GUI测试用例集约简的一个挑战.以事件处理函数为核心,结合控制流和数据流技术,根据事件处理函数代码结构特征以及事件处理函数之间的数据依赖关系定义测试冗余规则,制定并实现了3种测试用例集约简技术.实验结果表明:与已有技术相比,其中两种根据事件处理函数之间的数据依赖关系制定的测试用例集约简技术达到了较好的约简效果. |
| 关键词: GUI测试用例 测试用例集约简 事件处理函数 定义-引用 冗余测试用例 |
| DOI:10.13328/j.cnki.jos.004711 |
| 分类号: |
| 基金项目:国家自然科学基金(61100067, 61100070); 国家重大科技专项(2012ZX01039-004) |
|
| GUI Test Suite Reduction Techniques Based on Event Handler Functions |
|
CHEN Jun-Cheng1,2,3, XUE Yun-Zhi1,2, TAO Qiu-Ming1,2, ZHAO Chen1,2
|
|
1.Laboratory of Fundamental Software Testing and Evaluation, Institute of Software, The Chinese Academy of Sciences, Beijing 100190, China;2.National Engineering Research Center for Fundamental Software (Institute of Software, The Chinese Academy of Sciences), Beijing 100190, China;3.University of Chinese Academy of Sciences, Beijing 100049, China
|
| Abstract: |
| GUI test suite reduction is an effective approach to reduce test cost. Due to the mechanics of message loop and the event- driven characteristic of GUI software, it is difficult to directly apply traditional test suite reduction techniques, such as control-flow based technique and data-flow based technique, to GUI test suite reduction. How to eliminate more redundant test cases without loss of the ability of finding errors is still a great challenge. Combining control flow technique and data flow technique, this paper proposes three test reduction techniques based on source code structure of event handler functions and the data dependencies among them. Experimental results show that two of the techniques that based on the data dependency among event handler functions achieve good results. |
| Key words: GUI test case test suite reduction event handler function def-use redundant test case |