首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 515 毫秒
1.
Oracles used for testing graphical user interface (GUI) programmes are required to take into consideration complicating factors such as variations in screen resolution or colour scheme when comparing observed GUI elements with expected GUI elements. Researchers proposed fuzzy comparison rules and computationally expensive image processing techniques to tame the comparison process because otherwise the naïve matching comparison would be too constraining and consequently impractical. Alternatively, this paper proposes GUICop, a novel approach with a supporting toolset that takes (1) a GUI programme and (2) user‐defined GUI specifications characterizing the rendering behaviour of the GUI elements and checks whether the execution traces of the programme satisfy the specifications. GUICop comprises the following: (1) a GUI Specification Language; (2) a Driver; (3) Instrumented GUI Libraries; 4) a Solver; and (5) a Code Weaver. The user defines the specifications of the subject GUI programme using the GUI Specification Language. The Driver traverses the GUI structure of the programme and generates events that drive its execution. The Instrumented GUI Libraries capture the GUI execution trace, ie, information about the positions and visibility of the GUI elements. And the Solver, enabled by code injected by the Code Weaver, checks whether the traces satisfy the specifications. GUICop was successfully evaluated using 4 open source GUI applications that included 8 defects, namely, Jajuk, Gason, JEdit, and TerpPaint.  相似文献   

2.
陈军成  薛云志  赵琛 《软件学报》2013,24(12):2830-2842
事件处理函数响应用户GUI(graphic user interface)操作并完成软件预定义功能,事件处理函数以及事件处理函数之间的关系实现是否与规约一致,是GUI 测试的重点.针对现有的基于模型GUI 测试用例自动生成过程中面临的测试用例规模庞大以及生成的测试用例无效问题,从分析事件处理函数的角度出发,提出了一种GUI 测试模型EHG.针对此模型,结合事件处理函数及其代码结构,提出了两个测试覆盖准则:完整最短路径覆盖准则和完整最短路径定义-引用对覆盖准则;利用基于反馈的测试用例生成技术生成测试用例.实验结果表明,针对较为复杂的应用,该方法不仅能够有效控制测试用例规模,消除无效测试用例,而且生成的测试用例能有效提高事件处理函数的代码结构覆盖率.  相似文献   

3.
4.
Graphical user interfaces are pervasive in modern software systems, and to ensure their quality it is important to test them. Two primary classes of automated GUI testing approaches, those based on static models and those based on dynamic event-extraction, present tradeoffs in cost and effectiveness. For example, static model-based GUI testing techniques can create test cases that contain nonexecutable events, whereas dynamic event-extraction based GUI testing techniques can create larger numbers of duplicate test cases. To better understand the effects of these tradeoffs, we created a GUI testing framework that facilitates fair comparison of different GUI testing techniques, and we conducted a controlled experiment comparing representative versions of static-model based and dynamic event-extraction based testing techniques on several GUI-based Java applications. Our study reveals several cost and effectiveness tradeoffs between the techniques, with implications for research and practice.  相似文献   

5.
为了解决基于深度学习的GUI元素识别方法表现不佳以及无法判断是否可触控的问题,提高GUI测试的效率与覆盖率,提出有效的面向GUI测试的可触控控件训练与检测方法。首先定义可触控控件的检测类别,用于直接检测具备可触发属性的控件;考虑到UI页面存在堆叠元素,对数据集中不可见的控件进行过滤,并剔除视图层次结构与屏幕截图不同步的数据;通过分析安卓机制将UI页面中可触控控件进行了标记。最后基于YOLO v5s训练获得一个轻量级训练模型。结果表明,提出的训练及检测方法优于现有深度学习方法和经典方法,其F1达到了82%,在GUI测试中具有良好的使用价值。  相似文献   

6.
The increasingly prevalent use of mobile devices has raised the popularity of mobile applications. Therefore, automated testing of mobile applications has become an extremely important task. However, it is still a challenge to automatically generate tests with high coverage for mobile applications due to their specific nontrivial structure and the highly interactive nature of graphical user interfaces (GUIs). In this paper, we propose a novel automated GUI testing technique for mobile applications, namely, Mobolic. In this approach, tests with high coverage are automatically generated and executed by combining the online testing technique and customated input generation. Employing the online testing technique, Mobolic systematically explores the app GUI without falling in a loop. It generates relevant events “on the fly” that are followed by an immediate execution. In addition, involving the customated input generation, Mobolic automatically generates relevant user inputs such as user‐predefined, concrete, or random ones. We implemented Mobolic and evaluated its performance on 10 real‐world open‐source Android applications. Our experimental results show the effectiveness and efficiency of Mobolic in terms of achieved code coverage and overall exercising time.  相似文献   

7.
提出了一种基于工作站、UNIX操作系统,采用C++语言、Tcl/Tk语言及Gu库实现图形用户界面(GUI)的新方法。文章重点介绍了所采用的注册机制。与其他的设计方法相比,该GUI的设计具有良好的适用性和可维护性;同时,又有易实现性,省去了设计者了解底层布图算法内容的繁琐过程。测试结果表明该GUI实现了预期的功能。目前,该GUI已应用到在研的Data-Path布图项目之中。  相似文献   

8.
王皓亮  高建华 《计算机科学》2017,44(9):190-194, 199
基于模型的GUI测试方法(MBGT)可自动化生成测试用例,在MBGT中引入多级形态模型(Multilevel Morphology Model,MMM)可以实现从不同的形态角度考察系统,可控地提高模型的错误检测效力。但多级形态模型只能整体扩展到高阶,且随着模型的扩展,测试用例的长度与数量急剧增长,极大地影响了测试效率。对此提出一种可进行局部扩展的多级形态模型的分割方法以及相应的测试用例生成策略。该方法通过GUI事件的分类,实现了对基础模型的分割与化简,并采用广度优先搜索(BFS)与中国邮递员问题(CPP)求解算法生成测试用例。该方法使得GUI模型的表达更为清晰直观,在有效区分测试重点的同时,缩小了测试集规模,极大地提高了多级形态模型在GUI测试中的灵活性与测试效率。实验证明,经模型分割后的多级形态模型具有与未分割模型基本等同的错误检测效力,且随着模型级数的提高,模型分割对测试效率的提升增大。  相似文献   

9.
10.
This paper presents a generic formal framework to specify and test autonomous e‐commerce agents. First, the formalism to represent the behaviour of agents is introduced. The corresponding machinery to define how implementations can be tested follows. Two testing approaches are considered. The first of them, which can be called active, is based on stimulating the implementation under test (IUT) with a test. The peculiarity is that tests will be defined as a special case of autonomous e‐commerce agent. The second approach, which can be called passive, consists of observing the behaviour of the tested agent in an environment containing other agents. As a case study the framework is applied to the e‐commerce system Kasbah. Copyright © 2005 John Wiley & Sons, Ltd.  相似文献   

11.
With the growing complexity of industrial software applications, industrials are looking for efficient and practical methods to validate the software. This paper develops a model‐based statistical testing approach that automatically generates online and offline test cases for embedded software. It discusses an integrated framework that combines solutions for three major software testing research questions: (i) how to select test inputs; (ii) how to predict the expected results of a test; and (iii) when to stop testing software. The automatic selection of test inputs is based on a stochastic test model that accounts for the main particularity of embedded software: time sensitivity. Software test practitioners may design one or more test models when they generate random, user‐oriented, or fault‐oriented test inputs. A formal framework integrating existing and appropriate specification techniques was developed for the design of automated test oracles (executable software specifications) and the formal measurement of functional coverage. The decision to stop testing software is based on both test coverage objectives and cost constraints. This approach was tested on two representative case studies from the automotive industry. The experiment was performed at unit testing level in a simulated environment on a host personal computer (automatic test execution). The two software functionalities tested had previously been unit tested and validated using the test design approach conventionally used in the industry. Applying the proposed model‐based statistical testing approach to these two case studies, we obtained significant improvements in performing functional unit testing in a real and complex industrial context: more bugs were detected earlier and in a shorter time. Copyright © 2012 John Wiley & Sons, Ltd.  相似文献   

12.
近来针对Android应用程序的基于GUI(图形用户界面)的分析和测试方法已经成为一个研究热点. 自动化技术和较高的GUI覆盖率可以提高大部分方法的效率和效果. 然而以前的工作并不能充分满足自动化和高GUI覆盖率的要求. 提出了一种在不需要程序源代码的情况下遍历Android应用程序GUI的自动化方法. 其主要思想是通过模拟用户的行为自动探测Android应用程序的GUI. 我们的工作主要解决了UI元素提取和处理、用户行为模拟、GUI遍历算法设计和模型构建三方面中的一些关键问题. 实验结果表明, 该方法能获得较高的GUI覆盖率可以有效遍历应用程序的GUI. 此外, 该方法也将有助于程序安全分析、GUI测试等其他研究.  相似文献   

13.
Graphical user interfaces (GUIs) are by far the most popular means used to interact with today's software. The functional correctness of a GUI is required to ensure the safety, robustness and usability of an entire software system. GUI testing techniques used in practice are resource intensive; model‐based automated techniques are rarely employed. A key reason for the reluctance in the adoption of model‐based solutions proposed by researchers is their limited applicability; moreover, the models are expensive to create. Over the past few years, the present author has been developing different models for various aspects of GUI testing. This paper consolidates all of the models into one scalable event‐flow model and outlines algorithms to semi‐automatically reverse‐engineer the model from an implementation. Earlier work on model‐based test‐case generation, test‐oracle creation, coverage evaluation, and regression testing is recast in terms of this model by defining event‐space exploration strategies (ESESs) and creating an end‐to‐end GUI testing process. Three such ESESs are described: for checking the event‐flow model, test‐case generation, and test‐oracle creation. Two demonstrational scenarios show the application of the model and the three ESESs for experimentation and application in GUI testing. Copyright © 2007 John Wiley & Sons, Ltd.  相似文献   

14.
基于事件权重的GUI测试路径生成方法   总被引:1,自引:0,他引:1  
江琴  刘琳岚  苏曦  蔡轲 《计算机应用》2009,29(5):1382-1384
针对GUI事件驱动特性产生无限多个测试路径的问题,提出在事件流图中考虑事件权重的GUI测试路径生成方法。分析了事件流图模型,采用层次分析法计算事件的权重,通过遍历事件流图生成GUI测试路径。该方法减少了测试路径的数目,生成的测试路径更具有效性,提高了测试效率。  相似文献   

15.
Testing the correctness of a GUI-based application is more complex than the conventional code-based application. In addition to testing the underlying codes of the GUI application, the space of possible combinations of events with a large GUI-input sequence also requires creating numerous test cases to confirm the adequacy of the GUI testing. Running all GUI test cases and then fixing all found bugs may be time-consuming and delaying the project completion. Hence, it is important to advance the test cases that uncover the most faults as fast as possible in the testing process. Test-case prioritization has been proposed and used in recent years because it can improve the rate of fault detection during the testing phase. However, few studies have discussed the problem of GUI test-case prioritization. In this paper, we propose a weighted-event flow graph for solving the non-weighted GUI test case and ranking GUI test cases based on weight scores. The weighted scores can either be ranked from high to low or be ordered by dynamic adjusted scores. Finally, three experiments are performed, and experimental results show that the adjusted-weight method can obtain a better fault-detection rate.  相似文献   

16.
基于Robot Framework提出了一种面向MVC GUI模块的自动化测试框架。该框架将GUI自动化测试分为四大方面:用户界面功能测试、信息设置功能测试、信息查询功能测试和特殊项测试。整个框架将上层 GUI和底层Database进行结合测试,使GUI自动化测试范围得以全面覆盖;并根据不同系统环境,编写Python脚本,灵活调用底层数据;而选用黑盒与白盒有机结合的测试方式,使测试者可以迅速锁定代码缺陷,保证了开发程序的正确性和完整性。同时,就OpenWRT LuCI模块作为具体实例,验证了本框架的适用性。  相似文献   

17.
针对目前GUI自动化测试方法中存在着一定程度的手工依赖性以及对测试用例和测试覆盖率缺乏系统管理等问题,本文结合Microsoft UI Automation框架开发了一个基于事件流图的GUI自动化测试系统。该系统先对被测标准GUI进行逆向工程以得到GUI的事件流图和期望的结果,然后分别采用基于蚁群算法的日常冒烟测试用例生成算法和基于宽度优
先搜索的深度回归测试用例生成算法生成测试用例,并用这些生成的测试用例来测试新的GUI。测试结果表明,该GUI自动化测试模型是切实可用的,为在Windows环境下提高GUI测试的自动化程度提供了一种更为有效的途径。  相似文献   

18.
基于界面构件关联图的软件功能测试技术   总被引:21,自引:0,他引:21  
针对具有图形用户界面(GUI)且进行事务处理软件系统的功能测试,从界面构件间关联特征出发,提出了界面构件关联图,描述界面中各个构件之间相互联结,制约关系,进而提出了基于界面构件关联图的软件测试覆盖准则和测试用例生成方法,最后给出一个利用界面构件关联图进行软件测试的应用实例。  相似文献   

19.
Complex graphical user interfaces (GUIs) that support a large amount of user interaction require a fast response time, a rich set of building blocks for an esthetic look‐and‐feel, and a development environment that supports ongoing change. On the World Wide Web, client‐side technologies offer more of these features than do server‐side solutions. Java and JavaScript are the two most popular languages used for client‐side GUI implementations. Java implementations require a user to download a plug‐in that contains a virtual machine to execute the Java byte‐code. The installation and maintenance of this plug‐in is sometimes an unsurmountable barrier to using Java. JavaScript lacks some of the desirable features of Java, such as easy to use object‐oriented features and having a GUI class library, but does not require a plug‐in. We have enhanced JavaScript by implementing a new language Object‐JavaScript (OJS) and by providing an OJS library of GUI components, thus making it a viable alternative to Java. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

20.
ContextGUI testing is system testing of a software that has a graphical-user interface (GUI) front-end. Because system testing entails that the entire software system, including the user interface, be tested as a whole, during GUI testing, test cases—modeled as sequences of user input events—are developed and executed on the software by exercising the GUI’s widgets (e.g., text boxes and clickable buttons). More than 230 articles have appeared in the area of GUI testing since 1991.ObjectiveIn this paper, we study this existing body of knowledge using a systematic mapping (SM).MethodThe SM is conducted using the guidelines proposed by Petersen et al. We pose three sets of research questions. We define selection and exclusion criteria. From the initial pool of 230 articles, published in years 1991–2011, our final pool consisted of 136 articles. We systematically develop a classification scheme and map the selected articles to this scheme.ResultsWe present two types of results. First, we report the demographics and bibliometrics trends in this domain, including: top-cited articles, active researchers, top venues, and active countries in this research area. Moreover, we derive the trends, for instance, in terms of types of articles, sources of information to derive test cases, types of evaluations used in articles, etc. Our second major result is a publicly-accessible repository that contains all our mapping data. We plan to update this repository on a regular basis, making it a “live” resource for all researchers.ConclusionOur SM provides an overview of existing GUI testing approaches and helps spot areas in the field that require more attention from the research community. For example, much work is needed to connect academic model-based techniques with commercially available tools. To this end, studies are needed to compare the state-of-the-art in GUI testing in academic techniques and industrial tools.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号