Visual Testing of GUIs by Abstraction
确保图形用户界面(GUI)的正确视觉外观非常重要,因为视觉错误可能会给企业造成重大损失。在自动化测试中,应用程序可能在功能上表现正确,但视觉错误可能会使GUI实际上对用户不可用。目前大多数的视觉测试方法都是基于像素的,并且往往具有图像差异的特征缺陷。例如,微小和不重要的视觉变化通常会导致误报,这会使用户混淆不必要的错误报告。我们的想法是引入一个抽象的GUI状态(AGS),在这里我们定义结构关系,以确定相关的GUI的变化,并忽略那些从用户的角度来看是不重要的。此外,我们探讨了几种策略来解决GUI元素识别问题的AGS。这使我们能够提供丰富的诊断信息,帮助用户更好地解释变化。基于golden master测试的原则,我们可以通过使用AGS来支持全自动的可视化测试方法。我们已经实现了我们的方法来视觉测试网页和我们的实验表明,我们能够可靠地检测GUI的变化。
2020-07-20 cs.SE
Classifying and Qualifying GUI Defects
图形用户界面(GUI)是软件系统的组成部分,需要用户进行交互。在过去的十年中,软件测试人员特别关注GUI测试,并设计了有效发现几种GUI错误的技术。然而,在GUI中引入新类型的交互(例如,直接操作)呈现了当前测试技术没有针对的新类型的错误。我们相信,为了推进GUI测试,社区需要一个全面的、高层次的GUI故障模型,它包含了所有类型的交互。本文的主要工作包括以下四个方面:1)建立了GUI故障模型,对GUI故障进行识别和分类。2)一个实证分析,用于评估所提出的故障模型对实际GUI中发现的故障的相关性。3)针对这些故障,对两种GUI测试工具(即GUITAR和Jubula)进行了实证评估。4)我们根据故障模型开发的GUI变种人。这些突变体是免费提供的,并且可以被开发人员重用,用于对他们的GUI测试工具进行基准测试。
2017-03-28 cs.SE
GUICop: Approach and Toolset for Specification-based GUI Testing
用于测试图形用户界面(GUI)程序的Oracle需要考虑复杂的因素,例如在将观察到的GUI元素与预期的GUI元素进行比较时屏幕分辨率或颜色方案的变化。研究人员提出了模糊比较规则和计算昂贵的图像处理技术来驯服比较过程,因为否则天真的匹配比较将过于约束,因此不切实际。另外,本文提出了GUICop,一种新的方法与支持的工具集,采取(1)一个GUI程序和(2)用户定义的GUI规范表征的GUI元素的渲染行为,并检查程序的执行轨迹是否满足规格。GUICop包括以下内容:1)GUI规约语言; 2)驱动程序; 3)插装GUI库; 4)求解器;以及5)代码编织器。用户使用GUI规约语言定义主题GUI程序的规范。驱动程序遍历程序的GUI结构并生成驱动其执行的事件。检测GUI库捕获GUI执行跟踪,即,关于GUI元素的位置和可见性的信息。由Code Weaver注入的代码启用的Solver检查跟踪是否满足规范。使用四个开源GUI应用程序(包括八个缺陷,即Jajuk、Gason、JEdit和TerpPaint)成功评估了GUICop。
2016-11-17 cs.SE
Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing
自动化GUI测试被广泛用于帮助确保移动应用程序的质量。然而,许多GUI需要适当的文本输入才能进入下一页,这仍然是测试覆盖率的一个突出障碍。考虑到有效输入的多样性和语义要求(例如,航班起飞、电影名称),但是使文本输入生成自动化具有挑战性。受预先训练好的大语言模型(LLM)在文本生成方面取得显著进展的启发,提出了一种基于LLM的QTypist方法,用于根据GUI上下文智能地生成语义输入文本。为了提高LLM在移动测试场景中的性能,我们开发了一种基于数据库的数据构建和调优方法,该方法自动提取模型调优的提示和答案。我们对来自Google Play的106个应用程序进行了QTypist评估,结果显示QTypist的通过率为87%,比最佳基线高出93%。我们还将QTypist与自动化GUI测试工具集成,与原始工具相比,它可以覆盖42%的应用程序活动,52%的页面,并随后帮助揭示122%的错误。
2022-12-09 cs.SE
Make LLM a Testing Expert: Bringing Human-like Interaction to Mobile GUI Testing via Functionality-aware Decisions
本文提出 GPTDroid 框架,将移动 GUI 测试转化为问答任务,让 LLM 与应用交互生成测试脚本,并引入功能感知记忆提示机制指导长期探索,在 93 个应用上测试覆盖率提升 32%,发现更多 bug 并识别出 53 个新 bug。
2023-10-24 cs.SE
AUITestAgent: Automatic Requirements Oriented GUI Function Testing
针对移动应用GUI测试人力成本高的问题,提出首款自然语言驱动的自动化测试工具AUITestAgent,通过动态智能体提取交互、多维策略验证,在基准测试中表现优于现有工具,且在企业实际部署中有效检出功能缺陷。
2024-07-12 cs.SE
Defect Prediction Guided Search-Based Software Testing
如今,大多数自动化测试生成器,例如基于搜索的软件测试(SBST)技术,都致力于实现高代码覆盖率。然而,高代码覆盖率不足以最大限度地提高发现的bug数量,特别是在测试预算有限的情况下。在本文中,我们提出了一个自动化的测试生成技术,也是由估计的源代码的缺陷程度的指导。代码中可能有更多缺陷的部分比缺陷较少的部分得到更多的测试预算。为了测量缺陷的程度,我们利用了Schwa,一种著名的缺陷预测技术。我们将我们的方法实现到EvoSuite中,EvoSuite是Java的最先进的SBST工具。我们在Defects4J基准测试上的实验证明了缺陷预测引导测试生成的效率提高,并证实了我们的假设,即在可能有缺陷的部件上花费更多的时间预算会增加在相同时间预算中发现的错误数量。
2021-09-26 cs.SE
REST API Fuzzing by Coverage Level Guided Blackbox Testing
随着Web应用程序的增长,REST API已成为服务之间的主要通信方法。为了保证系统的可靠性和安全性,软件质量可以通过有效的测试方法来保证。黑盒模糊测试是进行大规模测试的有效方法之一。然而,传统的黑盒模糊测试产生随机数据而不判断输入的质量。我们为REST API实现了一个黑盒模糊测试方法。通过测试覆盖水平反馈,解决了在不知道突变有效性的情况下盲目突变的问题。我们还通过降低REST API的测试复杂度来增强变异策略,生成更合适的测试用例来覆盖可能的路径。我们通过测试两个大型开源项目来评估我们的方法,并报告和确认了89个错误。此外,我们在APIs.guru中发现了来自64个远程API服务的351个错误。该工作在https://github.com/iasthc/hsuan-fuzz上。
2021-12-31 cs.SE
Gamified GUI testing with Selenium in the IntelliJ IDE: A Prototype Plugin
本文提出GIPGUT,一个集成在IntelliJ IDEA中用于Selenium GUI测试的游戏化插件原型,通过成就、奖励和个性化定制提升测试参与度;初步评估显示高可用性和积极反馈,但需更大规模研究验证其有效性。
2024-03-14 cs.SE
NaviDroid: A Tool for Guiding Manual Android Testing via Hint Moves
作为自动GUI测试的补充,手动测试是应用质量的最后一道防线,特别是在发现可用性和可访问性问题方面。然而,重复的动作和容易丢失的一些功能,使手工测试耗时,劳动密集和效率低下。受糖果粉碎游戏的启发,我们开发了一个名为NaviDroid的工具,用于通过突出显示的下一个操作来导航人类测试人员,以实现更有效和高效的测试。在NaviDroid中,它构建了一个丰富的状态转换图(STG),其中触发器动作作为两个相关状态的边。NaviDroid在STG的基础上,利用动态规划算法规划探索路径,并在运行时GUI中增加可视化提示动作,使测试人员能够快速探索未测试的状态,避免重复。自动化实验证明了NaviDroid的高覆盖率和高效的路径规划。用户研究进一步证实了它的有用性,在参与者覆盖更多的状态和活动,检测更多的错误在更短的时间内与对照组相比。NaviDroid演示视频:https://youtu.be/lShFyg_nTA0。
2022-05-27 cs.SE
A Systematic Literature Review of Automated Techniques for Functional GUI Testing of Mobile Applications
上下文已经提出并开发了多种用于移动应用GUI测试的自动化技术,旨在提高有效性、效率和实用性。有效性,效率和实用性是测试技术的三个基本特征,需要不断改进,以便为研究人员和从业人员以及整个社区提供有用的解决方案。Objective.在这个系统的审查,我们试图提供一个广泛的现有的移动测试工具,整理和分析他们的概念,也包括估计的有效性,效率和实用性的性能特征。法为了实现我们的目标,我们指定了3个主要的,和14个次要的审查问题,并进行了25个主要研究的分析。我们首先单独分析每个主要研究,然后将主要研究作为一个整体进行分析。我们制定了一个审查方案,其中定义了我们系统性审查的所有细节。结果从有效性方面,我们得出结论,测试技术,实现模型检查,符号执行,约束求解,基于搜索的测试生成方法往往是更有效的比那些实现随机测试生成。从效率,我们得出结论,测试技术,实现基于代码搜索的测试方法往往比那些实现GUI模型为基础的更有效。从实际出发,我们得出结论,测试技术越有效,效率就越低。结论对于有效性,我们观察到现有的自动化测试技术不够有效,目前它们达到了预期有效性水平的近一半。对于效率,我们观察到,目前的自动化测试技术是不够有效的。
2018-12-30 cs.SE
Towards Benchmarking GUI Compatibility Testing on Mobile Applications
GUI是连接用户和应用程序的桥梁。现有的GUI测试任务可以分为两组:功能测试和兼容性测试。功能性测试侧重于检测应用程序运行时的错误,而兼容性测试旨在检测由于设备或平台差异而导致的错误。为了自动化测试过程和提高测试效率,以前的工作已经提出了几十个工具。为了评估这些工具,在功能测试中,研究人员发布了测试基准。相比之下,在兼容性测试中,“现有方法是否确实有效地帮助测试用例重放?””没有得到很好的回答。为了回答这个问题,推动GUI兼容性测试的相关研究,我们提出了一个GUI兼容性测试基准。在我们的实验中,我们比较了现有工具的重放成功率。根据实验结果,我们总结了可能导致无效的测试用例重放的原因,并提出了改进的机会。
2022-12-27 cs.HC cs.SE
Fault Detection Effectiveness of Source Test Case Generation Strategies for Metamorphic Testing
变形测试是解决软件测试中的预言问题的一种著名方法。这种技术需要使用源测试用例作为后续测试用例生成的种子。测试用例的系统化设计是保证测试质量的关键。因此,源测试用例生成策略对变形测试的故障检测效果有很大影响。以往的变形测试研究大多使用随机测试数据或已有的测试用例作为源测试用例。针对变形测试的系统化源测试用例生成问题,目前的研究还很有限。本文综合评价了源测试用例生成技术对变形测试故障发现效果的影响。我们评估了行覆盖、分支覆盖、弱变异和随机测试生成策略在源测试用例生成中的有效性。实验进行了77个方法从4个开源代码库。我们的研究结果表明,通过系统地创建源测试用例,我们可以显着提高故障发现效率的变质测试。此外,在本文中,我们介绍了一个简单的变形测试工具,称为“METtester”,我们使用这些方法进行变形测试。
2018-02-20 cs.SE
What Do Contribution Guidelines Say About Software Testing?
Department of Computer Science, UFMG(计算机系,巴西联邦大学)
本文通过分析200个开源项目贡献指南,发现78%的项目提供测试文档,其中多数位于CONTRIBUTING文件中,但关于编写测试的指导较少,单元测试覆盖率较高,而集成和端到端测试较少被提及。
2026-02-03 cs.SE
Hybrid Concolic Testing with Large Language Models for Guided Path Exploration
Quandary Peak Research(夸德里峰研究)
本文提出一种结合大语言模型与协同执行的混合测试方法,通过引导路径探索提升程序状态空间探索效率和缺陷检测能力。
2026-01-18 cs.SE
Chatting with GPT-3 for Zero-Shot Human-Like Mobile Automated GUI Testing
提出GPTDroid,利用大语言模型将移动GUI测试转化为问答任务,通过迭代对话生成类人测试脚本,在86个应用上覆盖率提升32%,缺陷检测增加36%。
2023-05-16 cs.SE
Grey-box GUI Testing: Efficient Generation of Event Sequences
图形用户界面(GUI),由于其事件驱动的性质,提出了一个潜在的无限空间的所有可能的方式与软件进行交互。在测试过程中,有必要对该空间进行有效采样。在本文中,我们开发的算法,采样GUI的输入空间,只生成序列,(1)允许的GUI的结构,和(2)链在一起,只有那些事件,它们的事件处理程序之间的数据依赖关系。我们创建了一个新的抽象,称为GUI的事件依赖关系图(EDG),它捕获事件处理程序代码之间的数据依赖关系。我们开发了EDG和现有的黑盒用户级模型的GUI的工作流,称为事件流图(EFG)之间的映射。我们已经在一个分析每个事件处理程序的字节码的工具中实现了EDG的自动构造。我们评估我们的“灰箱”的方法,使用四个开源应用程序,并将其与当前最先进的EFG方法进行比较。我们的研究结果表明,使用EDG减少了测试用例的数量,同时仍然达到至少相同的覆盖率。此外,我们能够在主题应用程序中检测到2个新错误。
2012-05-22 cs.SE
LLM-Assisted Model-Based GUI Testing for Vue.js Web Applications
Macau University of Science and Technology(澳门科技大学);Beihang University(北京航空航天大学);Macau University of Science and Technology Zhuhai MUST Science and Technology Research Institute(澳门科技大学珠海MUST科学研究院);University of Nottingham Ningbo China(宁波诺丁汉大学);Dalian Maritime University(大连海事大学);University of Tokyo(东京大学);University of Alberta(阿尔伯塔大学)
提出LLMVue框架,利用大语言模型从Vue.js源码生成页面转换图,实现模型驱动GUI测试,在10个开源项目上验证了高精度和高效性。
2026-06-29 cs.SE
Maintenance of Automated Test Suites in Industry: An Empirical study on Visual GUI Testing
验证与确认(Verification and Validation,V&V)活动在实践中占软件系统总开发成本的20%到50%。测试自动化被提出来降低这些V&V成本,但现有的研究只提供了有限的经验数据,从工业实践中的维护成本的自动化测试和影响这些成本的因素。特别是,这些成本和因素对于基于GUI的自动化测试是未知的。目的:本文通过分析与工业实践中基于GUI的自动化测试维护相关的成本和因素,解决了这种知识的缺乏。方法:在两个公司,西门子和萨博,实证研究报告的采访,和实证工作,可视化GUI测试进行获取数据的技术的维护成本和可行性。结果:观察到13个因素,影响维修,如测试人员的知识/经验和测试用例的复杂性。此外,统计分析表明,开发新的测试脚本比维护成本更高,但频繁的维护比不频繁的大爆炸维护成本更低。此外,成本模型,在以前的工作的基础上,提出了估计的时间,以积极的投资回报率(ROI)的测试自动化相比,手动测试。结论:它的结论是,测试自动化可以降低一个项目的整体软件开发成本,同时也对软件质量有积极的影响。然而,维护成本仍然是相当可观的,公司目前花在手动测试上的时间越少,在自动化之后达到积极的、经济的ROI之前需要的时间就越多。
2016-02-03 cs.SE
Effective, Platform-Independent GUI Testing via Image Embedding and Reinforcement Learning
针对移动与 Web GUI 自动化测试依赖平台、覆盖率不足等问题,提出 PIRLTest,融合图像嵌入与强化学习,实现跨平台状态表示和好奇心驱动探索。
2024-06-12 cs.SE
Interoperability-Guided Testing of QUIC Implementations using Symbolic Execution
网络协议(如QUIC)标准化的主要原因是确保实现之间的互操作性,这是一项具有挑战性的任务。手动测试目前用于测试不同的现有实现的互操作性,但鉴于网络协议的复杂性,很难涵盖所有可能的边缘情况。最先进的自动化软件测试技术,如符号执行(Symbolic Execution,SymbEx),已经证明自己能够分析复杂的真实世界的软件,并发现难以检测的错误。我们提出了一种基于SymEx的方法来发现QUIC实现中的互操作性问题,并在分析picoquic和QUANT互操作性的案例研究中探索其优点。我们发现,虽然SymEx能够分析不同实现之间的深层交互,并发现了几个错误,为了实现有效的互操作性测试,实现需要提供有关其当前协议状态的额外信息。
2018-11-29 cs.SE
Practical, Automated Scenario-based Mobile App Testing
本文提出ScenTest方法,通过GUI图像理解构建事件知识图谱(EKG),将领域知识融入基于场景的移动应用测试,首次实现目标场景的全自动化测试生成,并能揭示80多个真实缺陷。
2024-06-12 cs.SE
Deep Learning Framework Testing via Heuristic Guidance Based on Multiple Model Measurements
针对现有深度学习框架测试仅依赖单一模型度量的问题,本文提出 DLMMM,融合缺陷检测性能、算子组合多样性与执行时间,并进行多层次启发式引导,实验证明其在 TensorFlow、PyTorch 和 MindSpore 上更有效、更高效。
2025-10-21 cs.SE
Scenario-Based Field Testing of Drone Missions
本文针对无人机现场测试缺乏结构化指导的问题,提出了现场测试场景管理方法,利用基于场景的需求工程和行为驱动开发定义可重用测试场景,评估表明该方法能有效促进无人机现场测试与数据分析。
2025-01-28 cs.SE
Testing Criteria for Mobile Apps Based on Callback Sequences
应用程序质量已被证明是应用程序采用的最重要指标。为了保证质量,开发人员主要使用测试来发现应用程序中的错误,并应用结构和GUI测试覆盖标准。然而,移动应用程序的行为比GUI操作更多,例如,应用程序还处理来自传感器的事件,并通过Android API调用服务和AsyncTasks执行长时间运行的后台任务。我们的研究发现,通过回调交互的重要应用行为应该在测试中涵盖,因为回调之间的数据共享很常见,并且是许多现有错误的原因。我们设计了一系列基于回调序列的测试准则,并使用回调控制流自动机(CCFA)来测量测试的覆盖率。我们的实验表明,在我们的标准的指导下,测试可以发现更多的错误和触发错误比最先进的工具更快。
2019-11-20 cs.SE
FuncDroid: Towards Inter-Functional Flows for Comprehensive Mobile App GUI Testing
FuncDroid通过跨功能流导向的GUI测试方法,有效提升移动应用测试的覆盖率和bug检测能力。
2026-07-15 cs.SE
Coverage-Guided Testing for Deep Learning Models: A Comprehensive Survey
本文全面综述了深度学习模型的覆盖引导测试(CGT)方法,包括测试覆盖率分析、输入生成与优化,并系统分类了现有方法、评估实践及未来挑战,为DL模型质量保证提供路线图。
2025-07-01 cs.SE
Perception-Guided Fuzzing for Simulated Scenario-Based Testing of Autonomous Driving Systems
提出SimsV,一种面向多模块自动驾驶系统的感知引导模糊测试方法,通过高保真模拟器生成测试输入和预言机,成功发现商业级4级ADS Apollo的感知弱点及碰撞等严重问题。
2024-08-24 cs.SE
Leveraging Large Vision Language Model For Better Automatic Web GUI Testing
本文提出首个LVLM驱动的端到端Web GUI测试技术VETL,通过视觉问答选择GUI元素并利用多臂老虎机引导探索,相比WebExplor多发现25%的独特动作,并揭露了真实商业网站的功能性Bug。
2024-10-16 cs.SE
PopSweeper: Automatically Detecting and Resolving App-Blocking Pop-Ups to Assist Automated Mobile GUI Testing
本文提出 PopSweeper,利用深度学习视觉方法实时检测移动应用阻塞弹窗并定位关闭按钮,以低开销提升自动化 GUI 测试的连续性、准确性与效率。
2024-12-04 cs.SE
CoCoFuzzing: Testing Neural Code Models with Coverage-Guided Fuzzing
基于深度学习的代码处理模型在预测方法名称、总结程序和注释生成等任务上表现出了良好的性能。然而,尽管取得了巨大的进步,但深度学习模型往往容易受到对抗攻击,这可能会导致这些模型对意外输入的错误分类,从而严重威胁到这些模型的鲁棒性和可推广性。为了解决上述问题,已经提出了许多深度学习测试方法,然而,这些方法主要集中在测试图像、音频和文本分析等领域中的深度学习应用,由于程序的独特性质,其不能直接应用于神经模型以用于代码。在本文中,我们提出了一个基于覆盖率的模糊框架CoCoFuzzing,用于测试基于深度学习的代码处理模型。特别是,我们首先提出了十个变异算子自动生成有效的和语义保持源代码的例子作为测试,然后我们提出了一个基于神经元覆盖的方法来指导测试的生成。我们研究了CoCoFuzzing在三种最先进的神经代码模型上的性能,即,NeuralCodeSum、CODE2SEQ和CODE2VEC。我们的实验结果表明,CoCoFuzzing可以生成有效的和语义保留的源代码的例子,用于测试这些模型的鲁棒性和泛化能力,并提高神经元的覆盖率。此外,这些测试可用于通过对抗性再训练来提高目标神经代码模型的性能。
2021-06-17 cs.SE
NovaQ: Improving Quantum Program Testing through Diversity-Guided Test Case Generation
针对量子程序可靠性保障需求,本文提出多样性引导测试框架NovaQ,结合分布式生成器与新颖性评估模块,实验显示其在多样性和bug检测上优于现有基线。
2025-09-05 cs.SE
WebCQ: Cooperative Multi-Agent Deep Reinforcement Learning for Scalable Web GUI Testing
Research Institute of Trustworthy Autonomous Systems, Southern University of Science and Technology(可信自主系统研究院,南方科技大学);Department of Computer Science and Engineering, Southern University of Science and Technology(计算机科学与工程系,南方科技大学)
提出WebCQ方法,利用QTRAN和轻量同步机制实现多智能体协调,通过动作向量与策略网络在动态动作空间中进行DQN决策,在8个大型商业网站上比MARG多探索33.3%状态、执行42.2%独特动作,并触发更多故障。
2026-06-23 cs.SE
Search-based software test data generation using evolutionary computation
基于搜索的软件工程已被用于许多软件工程活动。基于搜索的软件工程的一个应用领域是测试数据生成。演化测试指定使用元启发式搜索方法来生成测试用例。搜索空间是测试对象的输入域,每个单独的或潜在的解决方案是该测试对象的输入的编码集合。适应度函数被定制为找到正在进行的测试类型的测试数据。进化测试(ET)使用优化搜索技术(例如进化算法)来生成测试数据。并将基于遗传算法的测试系统与随机测试系统进行了有效性比较。对于简单的程序,两种测试系统都能很好地工作,但随着程序复杂度或输入域复杂度的增加,基于遗传算法的测试系统明显优于随机测试。
2011-03-01 cs.SE
Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves
移动应用程序是人们日常生活中不可或缺的。与自动化GUI测试相辅相成,手动测试是应用质量的最后一道防线。然而,重复的操作和容易丢失的功能使得手动测试耗时且效率低下。受糖果粉碎游戏的启发,华丽的糖果作为玩家的提示动作,我们提出了一种名为NaviDroid的方法,通过突出显示的下一个操作,更有效和高效的测试导航测试。在NaviDroid中,我们构建了一个丰富的状态转换图,其中触发动作作为两个相关状态的边缘。在此基础上,利用动态规划算法规划探索路径,并在GUI中增加可视化提示,使测试人员能够快速探索未测试的活动,避免重复探索。自动化实验证明了NaviDroid的高覆盖率和高效的路径规划,用户研究进一步证实了其实用性。NaviDroid可以帮助我们开发更强大的软件,在更关键的任务设置中工作,不仅通过执行更彻底的测试,而且通过将这些技术集成到开发管道的不同部分。
2022-01-28 cs.HC cs.SE
NiCro: Purely Vision-based, Non-intrusive Cross-Device and Cross-Platform GUI Testing
提出非侵入式跨设备与跨平台GUI测试系统NiCro,利用最先进控件检测器和多模态匹配方法,结合虚拟设备集群与机械臂实现自动化测试,在8种设备28个应用的107个测试用例中验证了有效性。
2023-05-24 cs.SE
Towards Automated Crowdsourced Testing via Personified-LLM
Technical University of Munich(慕尼黑工业大学);Nanjing University(南京大学)
本文提出PersonaTester框架,通过注入三种维度的拟人化特征,模拟多样化的测试行为,提升自动化众包GUI测试的现实性和有效性。
2026-04-15 cs.SE
Deep Reinforcement Learning for Automated Web GUI Testing
本文提出WebRLED,一种基于深度强化学习的Web应用自动化GUI测试方法,通过网格动作值学习、动作判别器和好奇心驱动奖励模型提升探索效率,在代码覆盖率和故障检测率上优于现有SOTA技术。
2025-04-27 cs.SE
GUITestScape: Towards Open-set Evaluation on Exploratory GUI Testing
Beijing Jiaotong University(北京交通大学);Independent Researcher(独立研究者)
提出GUITestScape基准和GUIJudge评估器,通过覆盖交互与显示缺陷的508个预设缺陷及过程感知评估方法,解决现有GUI测试评估局限于预定义标注和交互缺陷的问题。
2026-10-30 cs.AI cs.SE
Understanding Automated Web GUI Testing: An Empirical Study Across Exploration Strategies and State Abstractions
SCS, Peking University(北京大学计算科学研究所);Key Lab of HCST (PKU), MOE(北京大学智能技术与系统国家重点实验室);University of Texas at Dallas(德克萨斯大学达拉斯分校);National Engineering Research Center of Software Engineering, MOE(软件工程国家工程研究中心)
通过实证研究分析自动化Web GUI测试中探索策略(基于模型、强化学习、大语言模型)与状态抽象如何共同影响测试有效性,发现不同策略在代码覆盖、状态覆盖和故障发现上互补,状态抽象是关键因素。
2026-06-16 cs.SE
Autonomous Large Language Model Agents Enabling Intent-Driven Mobile GUI Testing
KAIST(韩国科学技术院);Chalmers University of Technology(查尔姆斯理工大学)
提出基于大语言模型的Android自主GUI测试智能体DroidAgent,实现意图驱动测试,在Themis基准上达到61%活动覆盖率,优于现有技术,并能自主创建现实任务。
2023-11-15 cs.AI cs.SE
DinoDroid: Testing Android Apps Using Deep Q-Networks
对移动设备的大量需求引起了对移动应用程序(app)质量的重大关注。开发人员需要在向市场发布之前保证移动应用程序的质量。有许多方法使用不同的策略来测试移动应用程序的GUI。然而,由于其有限的有效性,它们仍然需要改进。在本文中,我们提出了DinoDroid,这是一种基于深度Q网络的方法,可以自动测试Android应用程序。DinoDroid从一组现有的应用程序中学习行为模型,学习的模型可用于探索和生成新应用程序的测试。DinoDroid能够捕获GUI事件的细粒度细节(例如,GUI小部件的内容),并将其用作输入深度神经网络的特征,深度神经网络充当引导应用探索的代理。DinoDroid在探索过程中自动适应学习的模型,而不需要任何建模策略或预定义的规则。我们对64个开源Android应用程序进行了实验。测试结果表明,DinoDroid在代码覆盖率和bug检测方面优于现有的Android测试工具。
2022-10-12 cs.SE
EpiDroid: Dependency-Guided Recomposition for Deep State Discovery in Mobile GUI Testing
Zhejiang University(浙江大学);University of Electronic Science and Technology of China(电子科技大学);Hangzhou City University(杭州城市学院);Shenzhou Aerospace Software Technology Company Limited(神州航天软件技术有限公司)
EpiDroid通过语义状态依赖意识增强现有探索器,利用重组-回放范式和LLM进行影响推理,提升深度应用状态探索效率,实验证明其在代码覆盖率提升方面优于传统方法。
2026-04-02 cs.SE
SpecOps: A Fully Automated AI Agent Testing Framework in Real-World GUI Environments
Purdue University(普渡大学);University of Texas at San Antonio(德克萨斯大学圣安东尼奥分校)
SpecOps是一种全新的自动化AI代理测试框架,通过专门设计的LLM代理处理四个阶段,实现对真实GUI环境中复杂代理的高效测试与验证。
2026-03-10 cs.SE
Distinguishability-guided Test Program Generation for WebAssembly Runtime Performance Testing
本文提出WarpGen方法,通过从历史问题触发测试程序中提取算子并插入种子程序生成测试程序,并以可区分性指标评估质量,在三个Wasm运行时中发现七个新性能问题。
2024-12-28 cs.SE
Using Relative Lines of Code to Guide Automated Test Generation for Python
原始代码行(Raw Lines of Code,简写为Raw)是一个度量标准,乍一看,它似乎对自动化测试生成并不十分有用。它高度依赖于语言,在语义上,在一种语言中并不是非常有意义:一个编码器可以用比另一个编码器少得多的行来产生同样的效果。然而,同一项目的组件之间的相对一致性,被证明是自动化测试的一个非常有用的度量。在本文中,我们利用一个启发式的基础上的测试功能的计数,以显着提高自动测试生成的有效性。这种方法在收集代码覆盖率数据来指导测试的语言中特别有价值。我们使用TSTL(模板脚本测试语言)工具将启发式应用于基于属性的Python测试。在我们的实验中,简单的启发式算法可以大幅提高分支和语句覆盖率(通常超过20%,最高可达40%或更多),并提高故障检测率(通常超过75%,最高可达400%或更多)。该启发式也很容易与其他方法相结合,并且可以与两种用于指导随机测试的成熟方法相媲美,并且可能更有效。
2021-03-11 cs.SE
Test Plan Generation for Live Testing of Cloud Services
Concordia University(康科迪亚大学);Ericsson Canada Inc.(爱立信加拿大公司)
针对云服务在线测试中手动制定测试计划繁琐易出错的问题,提出自动化测试计划生成方法,以减少生产环境测试引发的服务中断,并通过案例研究验证该方法。
2025-11-12 cs.SE
Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing
由Simulink或Ptolemy建立的控制逻辑模型在工业现场得到了广泛的应用。保证控制逻辑模型的安全性和可靠性是一个迫切需要解决的问题。测试用例生成技术被广泛应用于保证软件的安全性和可靠性。最先进的模型测试工具采用模型检验技术或基于搜索的方法来生成测试用例。传统的基于Simulink仿真的搜索技术存在速度慢、开销大等问题。传统的模型检验技术如符号执行在处理非线性元素和复杂循环时性能有限。最近,覆盖率引导模糊技术被认为是有效的测试用例生成,由于其高效率和令人印象深刻的效果,在复杂的分支循环。在本文中,我们应用模糊方法来改善模型测试,并证明了有效性。模糊化方法旨在通过变异有价值的种子来覆盖更多的程序分支。受此启发,我们提出了一种新的集成技术SPsCGF,它利用有界模型检验的符号执行,产生测试用例作为初始种子,然后进行模糊的基础上,这些有价值的种子。以这种方式,我们的工作结合了模型检验方法和模糊技术的优点,在一个新的方式。由于控制逻辑模型总是接收信号输入,因此我们专门为信号设计了新型变异算子,以改进模型测试中现有的模糊方法。在由工业案例组成的评估基准上,SPsCGF可以实现8%到38%的模型覆盖率和3倍到10倍的时间效率。
2022-11-09 cs.SE
BehAVExplor: Behavior Diversity Guided Testing for Autonomous Driving Systems
针对自动驾驶测试用例冗余、失效多样性不足的问题,提出 BehAVExplor,通过 BehaviorMiner 行为抽象与能量引导的种子选择、变异发现更多样的安全违规。
2023-07-14 cs.SE
Presentation Proposal: Towards Efficient Data-flow Test Data Generation Using KLEE
数据流覆盖率是白盒测试的标准之一,它关注变量定义与其使用之间的关系,一些实证研究证明了数据流测试比控制流测试更有效。然而,由于缺乏有效的工具支持,数据流测试在实践中仍然没有得到采用。为此,我们提出了一个指导符号执行的方法来有效地搜索程序路径,以满足数据流覆盖标准。我们在KLEE上实现了这种方法,并用30个程序主题进行了评估,这些程序主题是由以前的数据流测试文献、SIR、SV-COMP基准中使用的主题构建的。此外,我们正计划将数据流测试技术集成到新提出的符号执行引擎SmartUnit中,SmartUnit是一种基于云的工业软件单元测试服务,支持基于覆盖率的测试。已成功帮助国内多家知名企业和机构在实践中采用基于覆盖率的测试,累计测试了超过百万行的行业真实代码。
2019-03-19 cs.SE
Automated Testing of the GUI of a Real-Life Engineering Software using Large Language Models
本文提出GERALLT系统,利用大型语言模型自动测试真实工程软件GUI,生成潜在不直观和不一致界面问题列表,经真实用例评估,能有效支持软件开发团队。
2025-05-23 cs.SE
Coverage-Guided Road Selection and Prioritization for Efficient Testing in Autonomous Driving Systems
University of Milano-Bicocca(米兰比可卡大学);Technical University of Munich(慕尼黑工业大学);fortiss(福蒂斯研究所)
本文提出了一种覆盖引导的道路选择与优先级分配方法,通过减少冗余并保持多样性,提高自动驾驶系统测试效率,实现测试套件大小减少89%并提升故障检测能力95倍。
2026-01-13 cs.SE
TATG: Tracking-Aware Testing Objective for LLM-based Test Generation
University of Limerick(利默里克大学);University of Ottawa(渥太华大学)
针对复杂Java方法自动化单元测试生成难的问题,TATG提出基于大语言模型的单元测试生成方法,引入统一目标表示跟踪测试需求,采用两阶段工作流程,实验证明其相比其他方法有显著提升。
2026-11-09 cs.SE
Enhancing Path-Oriented Test Data Generation Using Adaptive Random Testing Techniques
在本文中,我们已经开发了一种方法来产生测试数据的路径覆盖为基础的测试。这类测试的主要挑战在于它是否能够有效地构建这样一个测试套件,以尽量减少拒绝的数量。我们解决这个问题,一个新的分治的方法,基于自适应随机测试策略。我们的方法作为输入的可执行路径的约束,并计算一个紧密的过近似的相关子域使用动态域分区的方法。我们实现了这种方法,并得到了实验结果,显示了实际的好处相比,现有的方法。我们的方法产生较少的无效输入,并能够获得许多复杂的约束子域。
2017-11-29 cs.SE