In software development process, the last step is usually the Graphic User In- terface(GUI) test, which is part of the final user experience (UE) test. Traditionally, there exist some GUI test tools in the market,...In software development process, the last step is usually the Graphic User In- terface(GUI) test, which is part of the final user experience (UE) test. Traditionally, there exist some GUI test tools in the market, such as Abbot Java GUI Test Framework and Pounder, in which testers pre-configure in the script all desired actions and instructions for the computer, nonetheless requiring too much of invariance of GUI environment; and they require reconfiguration in case of GUI changes, therefore still to be done mostly manually and hard for non-programmer testers to. Consequently, we proposed GUI tests by image recognition to automate the last process; we managed to innovate upon current algorithms such as SIFT and Random Fern, from which we develop the new algorithm scheme retrieving most efficient feature and dispelling inefficient part of each algorithm. Computers then apply the algorithm, to search for target patterns themselves and take subsequent actions such as manual mouse, keyboard and screen I/O automatically to test the GUI without any manual instructions. Test results showed that the proposed approach can accelerate GU! test largely compared to current benchmarks.展开更多
Recent years have witnessed the widespread adoption of mobile applications(apps for short).For quality-of-service and commercial competitiveness,sufficient Graphical User Interface(GUI)testing is required to verify th...Recent years have witnessed the widespread adoption of mobile applications(apps for short).For quality-of-service and commercial competitiveness,sufficient Graphical User Interface(GUI)testing is required to verify the robustness of the apps.Given that testing with manual efforts is time-consuming and error-prone,automated GUI testing has been widely studied.However,existing approaches mostly focus on GUI exploration while lacking attention to complex interactions with apps,especially generating appropriate text inputs like real users.In this paper,we introduce CamDroid,a lightweight context-aware automated GUI testing tool,which can efficiently explore app activities through(1)a model-based UI-guided testing strategy informed by the context of previous event-activity transitions and(2)a data-driven text input generation approach regarding the GUI context.We evaluate CamDroid on 20 widely-used apps.The results show that CamDroid outperforms non-trivial baselines in activity coverage,crash detection,and test efficiency.展开更多
移动应用是近10年来兴起的新型计算模式,深刻地影响人民的生活方式.移动应用主要以图形用户界面(graphical user interface,GUI)方式交互,而对其进行人工测试需要消耗大量人力和物力.为此,研究者提出针对移动应用GUI的测试自动生成技术...移动应用是近10年来兴起的新型计算模式,深刻地影响人民的生活方式.移动应用主要以图形用户界面(graphical user interface,GUI)方式交互,而对其进行人工测试需要消耗大量人力和物力.为此,研究者提出针对移动应用GUI的测试自动生成技术以提升测试效率并检测潜在缺陷.收集了145篇相关论文,系统地梳理、分析和总结现有工作.提出了“测试生成器-测试环境”研究框架,将该领域的研究按照所属模块进行分类.特别地,依据测试生成器所基于的方法,将现有方法大致分为基于随机、基于启发式搜索、基于模型、基于机器学习和基于测试迁移这5个类别.此外,还从缺陷类别和测试动作等其他分类维度梳理现有方法.收集了该领域中较有影响力的数据集和开源工具.最后,总结当前面临的挑战并展望未来的研究方向.展开更多
In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including fro...In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including front-end method of white box and follow-up black box method for integration testing. Moreover, two key opinions are proposed for the test suite construction for GUI software, the first one is that the “Triple-step method” should be used for unit testing with the prior disposing of data boundary value testing of input controls, and another one is that the “Grey-box approach” should be applied in integration testing for GUI software with necessary testing preparation in the precondition. At the same time, the testing of baseline version and the incremental testing should be considered for the test case construction to coordinate with the whole evolution of software product today. Additionally, all our opinion and thought are verified and tested with a typical case of GUI software—PQMS (Product Quality Monitoring Software/System), and results indicate that these methods and specific disposing are practical and effective.展开更多
In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, increme...In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, incremental testing strategy based on baseline version, testing strategy of circulating loop through the whole life, and the strategy of test suite construction, were briefly investigated. Moreover, for the code analysis, the FTA (Fault Tree analysis) is proposed to deal with the software change in regression testing. For test suite constructing, the constructing methods for baseline version and the incremental change are deeply discussed, in which main points focus on the testing strategy based on “Sheet/Form”, the “Grey-box approach” for integration testing process, and the application of the improved STD (State Transform Diagram) in state testing. At the same time, the suite construction of integration testing for two types, including small scale program and large scale software, is analyzed and discussed in detail. For testing execution, the specific method based on “Cross-testing” is investigated. Concurrently, by a lot of examples, all results of testing activity indicate that these strategies and methods are useful and fitted to integration testing for GUI software.展开更多
事件处理函数响应用户GUI(graphic user interface)操作并完成软件预定义功能,事件处理函数以及事件处理函数之间的关系实现是否与规约一致,是GUI测试的重点.针对现有的基于模型GUI测试用例自动生成过程中面临的测试用例规模庞大以及生...事件处理函数响应用户GUI(graphic user interface)操作并完成软件预定义功能,事件处理函数以及事件处理函数之间的关系实现是否与规约一致,是GUI测试的重点.针对现有的基于模型GUI测试用例自动生成过程中面临的测试用例规模庞大以及生成的测试用例无效问题,从分析事件处理函数的角度出发,提出了一种GUI测试模型EHG.针对此模型,结合事件处理函数及其代码结构,提出了两个测试覆盖准则:完整最短路径覆盖准则和完整最短路径定义-引用对覆盖准则;利用基于反馈的测试用例生成技术生成测试用例.实验结果表明,针对较为复杂的应用,该方法不仅能够有效控制测试用例规模,消除无效测试用例,而且生成的测试用例能有效提高事件处理函数的代码结构覆盖率.展开更多
以人工智能中智能规划方法为基础,对军用软件测试用例自动生成技术进行了研究。现有的许多规划器都不能避免组合爆炸问题的发生,而这一问题又是导致规划失败的一个重要问题,针对这一现象,以IPP规划器为例,提出目标分解法对规划器所需事...以人工智能中智能规划方法为基础,对军用软件测试用例自动生成技术进行了研究。现有的许多规划器都不能避免组合爆炸问题的发生,而这一问题又是导致规划失败的一个重要问题,针对这一现象,以IPP规划器为例,提出目标分解法对规划器所需事实文件进行划分,并对IPP规划器应用多事实文件处理算法进行扩展,扩展后的MF-IPP规划器能够处理多个事实文档,有效避免了组合爆炸问题的发生。将该方法应用到军用主控软件GUI(Graphical User Interface)测试用例自动生成中,主要思想是首先利用规划器生成初始测试用例,其次提出解扩展的方法来完善测试用例的生成。针对测试用例生成问题进行了比对分析,结果显示,MF-IPP可以很好地防止组合爆炸问题的发生。所生成的测试用例生成时间短、覆盖率高,不仅能够很好地辅助软件测试人员进行测试用例的编写,还能应用于自动化软件测试。展开更多
基金supported by the National Natural Science Foundation of China(Nos.61572316,61133009)National Hightech R&D Program of China(863 Program)(Grant No.2015AA015904)+3 种基金the Science and Technology Commission of Shanghai Municipality Program(No.13511505000)the Interdisciplinary Program of Shanghai Jiao Tong University(No.14JCY10)a grant from the Research Grants Council of Hong Kong(Project No.:28200215)a grant from The Education University of Hong Kong(Project No:FLASS/DRF/ECR-7)
文摘In software development process, the last step is usually the Graphic User In- terface(GUI) test, which is part of the final user experience (UE) test. Traditionally, there exist some GUI test tools in the market, such as Abbot Java GUI Test Framework and Pounder, in which testers pre-configure in the script all desired actions and instructions for the computer, nonetheless requiring too much of invariance of GUI environment; and they require reconfiguration in case of GUI changes, therefore still to be done mostly manually and hard for non-programmer testers to. Consequently, we proposed GUI tests by image recognition to automate the last process; we managed to innovate upon current algorithms such as SIFT and Random Fern, from which we develop the new algorithm scheme retrieving most efficient feature and dispelling inefficient part of each algorithm. Computers then apply the algorithm, to search for target patterns themselves and take subsequent actions such as manual mouse, keyboard and screen I/O automatically to test the GUI without any manual instructions. Test results showed that the proposed approach can accelerate GU! test largely compared to current benchmarks.
基金supported by the National Key R&D Program of China(No.2022YFB4500703)the National Natural Science Foundation of China(Nos.61902211 and 62202266)+1 种基金the China Postdoctoral Science Foundation(No.2022M721831)Microsoft Research Asia(No.100336949).
文摘Recent years have witnessed the widespread adoption of mobile applications(apps for short).For quality-of-service and commercial competitiveness,sufficient Graphical User Interface(GUI)testing is required to verify the robustness of the apps.Given that testing with manual efforts is time-consuming and error-prone,automated GUI testing has been widely studied.However,existing approaches mostly focus on GUI exploration while lacking attention to complex interactions with apps,especially generating appropriate text inputs like real users.In this paper,we introduce CamDroid,a lightweight context-aware automated GUI testing tool,which can efficiently explore app activities through(1)a model-based UI-guided testing strategy informed by the context of previous event-activity transitions and(2)a data-driven text input generation approach regarding the GUI context.We evaluate CamDroid on 20 widely-used apps.The results show that CamDroid outperforms non-trivial baselines in activity coverage,crash detection,and test efficiency.
文摘移动应用是近10年来兴起的新型计算模式,深刻地影响人民的生活方式.移动应用主要以图形用户界面(graphical user interface,GUI)方式交互,而对其进行人工测试需要消耗大量人力和物力.为此,研究者提出针对移动应用GUI的测试自动生成技术以提升测试效率并检测潜在缺陷.收集了145篇相关论文,系统地梳理、分析和总结现有工作.提出了“测试生成器-测试环境”研究框架,将该领域的研究按照所属模块进行分类.特别地,依据测试生成器所基于的方法,将现有方法大致分为基于随机、基于启发式搜索、基于模型、基于机器学习和基于测试迁移这5个类别.此外,还从缺陷类别和测试动作等其他分类维度梳理现有方法.收集了该领域中较有影响力的数据集和开源工具.最后,总结当前面临的挑战并展望未来的研究方向.
文摘In this paper, the test suite construction for GUI (Graphical User Interface) software may be executed centered on grey-box approach with the prior test design of window access controls for unit testing, including front-end method of white box and follow-up black box method for integration testing. Moreover, two key opinions are proposed for the test suite construction for GUI software, the first one is that the “Triple-step method” should be used for unit testing with the prior disposing of data boundary value testing of input controls, and another one is that the “Grey-box approach” should be applied in integration testing for GUI software with necessary testing preparation in the precondition. At the same time, the testing of baseline version and the incremental testing should be considered for the test case construction to coordinate with the whole evolution of software product today. Additionally, all our opinion and thought are verified and tested with a typical case of GUI software—PQMS (Product Quality Monitoring Software/System), and results indicate that these methods and specific disposing are practical and effective.
文摘In this paper, by means of effective testing practices, main strategies of integration testing for GUI software, including differentiating strategy for distinguished system, strategy of personnel organization, incremental testing strategy based on baseline version, testing strategy of circulating loop through the whole life, and the strategy of test suite construction, were briefly investigated. Moreover, for the code analysis, the FTA (Fault Tree analysis) is proposed to deal with the software change in regression testing. For test suite constructing, the constructing methods for baseline version and the incremental change are deeply discussed, in which main points focus on the testing strategy based on “Sheet/Form”, the “Grey-box approach” for integration testing process, and the application of the improved STD (State Transform Diagram) in state testing. At the same time, the suite construction of integration testing for two types, including small scale program and large scale software, is analyzed and discussed in detail. For testing execution, the specific method based on “Cross-testing” is investigated. Concurrently, by a lot of examples, all results of testing activity indicate that these strategies and methods are useful and fitted to integration testing for GUI software.
文摘事件处理函数响应用户GUI(graphic user interface)操作并完成软件预定义功能,事件处理函数以及事件处理函数之间的关系实现是否与规约一致,是GUI测试的重点.针对现有的基于模型GUI测试用例自动生成过程中面临的测试用例规模庞大以及生成的测试用例无效问题,从分析事件处理函数的角度出发,提出了一种GUI测试模型EHG.针对此模型,结合事件处理函数及其代码结构,提出了两个测试覆盖准则:完整最短路径覆盖准则和完整最短路径定义-引用对覆盖准则;利用基于反馈的测试用例生成技术生成测试用例.实验结果表明,针对较为复杂的应用,该方法不仅能够有效控制测试用例规模,消除无效测试用例,而且生成的测试用例能有效提高事件处理函数的代码结构覆盖率.
文摘以人工智能中智能规划方法为基础,对军用软件测试用例自动生成技术进行了研究。现有的许多规划器都不能避免组合爆炸问题的发生,而这一问题又是导致规划失败的一个重要问题,针对这一现象,以IPP规划器为例,提出目标分解法对规划器所需事实文件进行划分,并对IPP规划器应用多事实文件处理算法进行扩展,扩展后的MF-IPP规划器能够处理多个事实文档,有效避免了组合爆炸问题的发生。将该方法应用到军用主控软件GUI(Graphical User Interface)测试用例自动生成中,主要思想是首先利用规划器生成初始测试用例,其次提出解扩展的方法来完善测试用例的生成。针对测试用例生成问题进行了比对分析,结果显示,MF-IPP可以很好地防止组合爆炸问题的发生。所生成的测试用例生成时间短、覆盖率高,不仅能够很好地辅助软件测试人员进行测试用例的编写,还能应用于自动化软件测试。