On Extracting Unit Tests from Interactive Programming Sessions
软件工程方法论建议开发人员应该捕获他们的努力,以确保程序在可重复和自动化的工件中正确运行,例如单元测试。然而,当从探索性测试到脚本测试的范围内观察开发人员活动时,我们发现许多工程活动都包括探索性测试的爆发。在本文中,我们建议利用这些探索性的测试突发自动提取脚本测试从这些会话的记录。为了做到这一点,我们窃听开发环境,这样我们就可以记录所有的程序输入,所有用户发出的函数调用,以及探索性测试会话的所有程序输出。然后,我们建议使用机器学习(即聚类)从这些记录中实时提取脚本测试用例。我们概述了两个早期原型,一个是静态的,一个是动态的。我们通过例子概述了这个想法如何融入编程的更大研究方向。
2012-12-08 cs.SE
An Exploratory Survey of Hybrid Testing Techniques Involving Symbolic Execution and Fuzzing
最近在实际符号执行方面的努力已经成功地在一定程度上缓解了路径爆炸问题,基于搜索的算法和组合方法。类似地,由于廉价多核商品计算机的性能提高,模糊作为一种可行的基于随机变异的测试方法也有希望。然而,结合符号执行和模糊,从而提供一个机会,以减轻彼此的缺点的可能性,还没有得到充分的探讨。例如,模糊可以加速符号执行中的路径探索,符号执行可以使模糊中的种子输入生成更有效。在我们看来,只有很少的混合解决方案提案以象征性的执行和模糊为中心。通过对77篇相关文献的分析,本文(1)对符号执行和模糊化的混合解决方案进行了综述,(2)分析了改进普通符号执行和模糊化的混合技术研究的差距,(3)提出了混合测试用例生成技术的新思路。
2017-12-19 cs.SE
Discovering Boundary Values of Feature-based Machine Learning Classifiers through Exploratory Datamorphic Testing
Oxford Brookes University(牛津布鲁克斯大学)
测试被广泛认为是人工智能应用的难点。本文提出了一套测试策略测试机器学习应用程序的数据变形测试方法的框架。在这些策略中,测试旨在探索分类或聚类应用程序的数据空间,以发现机器学习应用程序定义的类之间的边界。这使测试人员能够准确地理解被测软件的行为和功能。在本文中,提出了三种不同的探索性策略的算法中实现的自动数据变形测试工具Morphy。这些算法的正确性得到了形式化的证明。他们的能力和成本发现类之间的边界进行评估,通过一组控制实验与手动设计的主题和一组案例研究与真正的机器学习模型。
2022-01-26 cs.LG cs.SE
Testing Autonomous Driving Systems -- What Really Matters and What Doesn't
本文提出从内在有效性与效度评估ADS测试方法的框架,并通过八个开源自动驾驶仪实验揭示理性与确定性缺失对测试保证的根本影响。
2025-07-27 cs.SE
Using ML filters to help automated vulnerability repairs: when it helps and when it doesn't
University of Trento(特伦托大学);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学)
本文研究在自动化漏洞修复流程中用机器学习模型作为测试前初步过滤器的可行性,推导了精确率与召回率的理论界限,并据此评估了现有漏洞检测器相比仅基于测试的APR4Vuln流水线需要达到的速度条件。
2025-04-09 cs.CR cs.LG 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
Modelling Android applications through static analysis and systematic exploratory testing
SFI Lero & School of Computer Science, University College Dublin(都柏林大学学院计算机科学系);National Institute of Informatics(日本国立情报学研究所);School of Computer Science and Statistics, Trinity College Dublin(都柏林三一学院计算机科学与统计学院)
本文提出DroidGraph框架,结合静态分析与系统探索性测试为Android应用生成控制流模型,实验显示其能提升应用交互覆盖度并发现更多代码组件与回调链接。
2026-08-04 cs.SE
RippleGUItester: Change-Aware Exploratory Testing
Technical University of Munich(慕尼黑工业大学);CISPA Helmholtz Center for Information Security(CISPA 赫尔姆霍兹信息安全中心)
RippleGUItester通过基于大语言模型的变更影响分析,结合多模态bug检测,发现由代码变更引入的bug,提升测试效率和准确性。
2026-03-03 cs.SE
An Exploratory Study of How Specialists Deal with Testing in Data Stream Processing Applications
[背景]如今,在许多类型的系统中,数据量和速度都有巨大的增长。它为必须以低延迟和高吞吐量处理数据流的基础设施和应用程序带来了新的需求。测试处理此类数据流的应用程序已成为工程师面临的重大挑战。公司正在采取不同的方法来处理这个问题。一些开发了自己的测试解决方案,而另一些则采用了现有测试技术的组合。对于如何或在何种情况下实施这些解决办法,没有达成共识。[目的]就我们所知,没有关于该主题的统一文献。本文试图通过与从业人员进行探索性研究来填补这一空白。[方法]采用质的研究方法,特别是访谈法和问卷调查法。我们采访了12位从事数据流相关项目的专业人士,并对其他105位专业人士进行了问卷调查。访谈经过了转录和编码过程,并对问卷进行了分析,以加强调查结果。[结果]本研究介绍了当前数据流处理应用中围绕软件测试的实践。这些实践涉及方法、技术和工具。[结论]我们的主要贡献是从实践的角度测试流媒体应用程序时出现的许多挑战的替代方案的概要。
2019-09-24 cs.DC cs.SE
Exploratory Test Agents for Stateful Software Systems
对有状态软件系统进行充分的测试是一项困难而昂贵的工作。由复杂的有状态交互导致的故障可能具有很高的影响,并且很难复制由错误的有状态交互导致的故障。以自动化的方式解决这个问题将节省成本和时间,并提高行业中软件系统的质量。在本文中,我们提出了一种方法,使用代理来探索软件系统的意图,找到故障和获得知识。
2020-04-17 cs.SE
On the Distribution of "Simple Stupid Bugs" in Unit Test Files: An Exploratory Study
保证软件系统质量的一个关键方面是单元测试的实践。通过单元测试,开发人员验证产品源代码的正确性,从而验证系统在测试中的预期行为。然而,单元测试代码容易出现问题,从代码中的错误到糟糕的测试用例设计(即,测试气味)。在这项研究中,我们比较和对比了一种被称为“简单愚蠢错误”(SStuBs)的单语句错误修复在测试和非测试(即,生产)文件。我们的研究结果表明,SStuB更频繁地出现在非测试文件比在测试文件中,与大多数修复相关的代码与断言语句在测试文件中。此外,大多数显示SStuB的测试文件也显示测试气味。我们设想我们的研究结果使工具供应商能够更好地支持开发人员改善测试套件的维护。
2021-03-17 cs.SE
An Exploratory Study on the Usage and Readability of Messages Within Assertion Methods of Test Cases
单元测试是软件开发过程的重要组成部分,涉及开发人员编写代码来验证或断言产品代码。此外,为了帮助理解测试用例和解决问题,开发人员可以选择提供一条消息来解释断言失败的原因。在这个探索性的实证研究中,我们研究了20个开源Java系统的测试方法中包含的断言消息的特征。我们的研究结果表明,虽然开发人员很少使用提供消息的选项,但使用消息的人要么仅由字符串字面量、标识符或这两种类型的组合组成。使用标准的英语可读性测量技术,我们观察到,一个初学者的英语知识需要理解的消息只包含标识符,而四年级的教育水平需要理解的字符串文字组成的消息。我们还讨论了在断言消息构造中使用这种可读性度量技术和常见反模式的缺点。我们设想我们的结果纳入代码质量工具,评估断言消息的可理解性。
2023-03-01 cs.SE
Structuring and presenting data for testing of automotive electronics to reduce effort during decision making
汽车工程被认为是软件和机械工程的结合,因为汽车中基于软件的组件数量不断增加。由于汽车变得比以前更复杂,以确保鲁棒性,因此汽车电子产品的测试大量进行,产生大量的测试相关数据。本研究通过在领先的汽车公司之一沃尔沃汽车进行探索性案例研究,探讨了来自汽车电子测试的非结构化和分散的测试相关数据如何在测试工件的测试和分析过程中产生决策问题。根据探索性研究的结果,设计了一个原型,以改善汽车电子测试分析和诊断的数据和信息结构和表示。原型的结果表明,提供更好的数据和信息结构显着提高了效率,并减少了测试人员进行测试分析和诊断时的工作量。测试人员表明,由于更好的信息结构,演示,正确性和可访问性,与测试相关的任务的任务负荷减少。因此,这些改进有助于测试人员有效地做出关于失败测试的根本原因分析的决定。这项研究的结果可以帮助汽车公司系统地调查和改进汽车电子测试过程中管理和构建测试相关数据。关键词:测试,汽车电子,电子控制单元,ECU,非结构化数据。
2021-04-23 cs.IR cs.SE
instancespace: a Python Package for Insightful Algorithm Testing through Instance Space Analysis
本文介绍Python包instancespace,它实现了实例空间分析的自动化流水线,可提供客观无偏的算法性能分析,支撑算法选择与测试实例生成,助力优化等领域的算法研发与部署。
2025-01-28 cs.SE
An Automated Testing Framework For Smart TV apps Based on Model Separation
智能电视应用程序(app)是一种新的技术软件应用程序,可以处理智能电视设备添加更多的功能和特性。尽管它现在很重要,但到目前为止,人们对测试这种应用程序的系统方法关注太少了。本文提出了一种系统的基于模型的智能电视应用测试方法,该方法利用模型分离的新概念,使用基于用户偏好的子模型代替穷举测试生成测试用例。基于所构建的模型,我们生成了一组测试用例来评估应用程序中所选择的到所选目的地的路径。我们还为智能电视应用程序定义了新的变异算子来评估我们的测试方法。评估结果表明,与手动探索性测试相比,我们的方法可以用更少的时间生成更全面的智能电视应用程序模型。实验结果也表明,该方法可以生成有效的故障检测测试用例。
2020-02-02 cs.SE
Comparative Analysis of Quantum and Classical Support Vector Classifiers for Software Bug Prediction: An Exploratory Study
University of Saskatchewan(萨斯喀彻温大学);University of Prince Edward Island(爱德华王子岛大学)
本研究探讨了量子支持向量分类器(QSVC和PQSVC)在14个开源项目中检测有缺陷软件提交的应用,提出数据集划分、预测聚合和增量测试方法以克服量子特征映射挑战,证明了QML在缺陷预测中的有效性。
2025-01-08 cs.LG cs.SE
Human-AI Collaboration for Scaling Agile Regression Testing: An Agentic-AI Teammate from Manual to Automated Testing
Institute for Software and Systems Engineering, Technical University of Clausthal(克莱斯塔尔工业大学软件与系统工程研究所);Hacon Ingenieurgesellschaft mbH – A Siemens Company(Hacon工程公司(西门子旗下))
本文探讨了通过智能体AI系统生成系统级回归测试脚本,提升自动化测试效率,并强调持续的人机协作对敏捷测试的重要性。
2026-04-13 cs.SE
Assessing Exception Handling Testing Practices in Open-Source Libraries
现代程序设计语言(例如,Java和C#)提供了将错误处理代码与常规代码分离的功能,旨在增强软件的可理解性和可维护性。然而,异常处理(EH)代码的结构,在这样的语言可能会导致多个,不同的,复杂的控制流,这可能会影响软件的可测试性。以前的研究报告,EH代码通常被忽视,没有得到很好的测试,它的误用可能导致可靠性下降和灾难性的故障。然而,很少有人知道测试实践和EH测试有效性之间的关系。在这项探索性研究中,我们(i)测量了EH测试关于代码覆盖(指令,分支和方法)标准的充分程度;(ii)通过测量其检测人工注入故障(即,突变体)。我们的研究是使用来自开源生态系统的27个长寿Java库的测试套件进行的。我们的研究结果表明,指令和分支内的$\mathtt{catch}$块和$\mathtt{throw}$指令覆盖较少,与整体指令和分支的统计意义。尽管如此,大多数研究的图书馆提出的测试套件能够检测到超过70%的注入故障。在这项研究中创建的总共12,331个突变体中,测试套件能够检测到其中的68%。
2021-05-02 cs.SE
Automated Testing of the GUI of a Real-Life Engineering Software using Large Language Models
本文提出GERALLT系统,利用大型语言模型自动测试真实工程软件GUI,生成潜在不直观和不一致界面问题列表,经真实用例评估,能有效支持软件开发团队。
2025-05-23 cs.SE
DragonCrawl: A Generative, Intent-Based Framework for Scalable Mobile End-to-End Testing
Uber Technologies, Inc.(优步科技公司)
DragonCrawl是基于GPT-4o多模态的移动端到端测试框架,通过验证用户流程阻止问题提交,缩短测试入门时间,节省大量维护工作量,实现规模化持续质量保证。
2026-08-06 cs.AI cs.SE
Calibrated Decision Models for Autonomous Penetration-Testing Harnesses: JEV and Laya as System One Decision Layers for LLM-Driven Pentest Agents
Independent Researcher --- AI
本文针对自主渗透测试中LLM误判问题,提出系统一决策模型(JEV、Laya)支持裁决、校准、剪枝等决策,并设计Rave模型以提升框架可靠性。
2026-09-25 cs.AI cs.CR cs.SE
Understanding on the Edge: LLM-generated Boundary Test Explanations
Chalmers University of Technology and University of Gothenburg(查尔姆斯理工大学和哥德堡大学);Mid Sweden University(瑞典中部大学)
本文研究LLM生成的边界解释在软件测试中的有效性,通过调查和访谈发现,清晰结构、权威来源引用和可操作示例能提升解释质量,提出七项要求的检查表以指导未来工具设计。
2026-01-30 cs.SE
Test Before You Deploy: Governing Updates in the LLM Supply Chain
Department of Computer Science(计算机科学系)
本文提出了一种部署侧治理框架,通过定义模型行为规则、按部署风险分类的测试套件和兼容性门禁来管理LLM更新,解决模型演变中的兼容性问题。
2026-04-30 cs.AI cs.SE
On the Effectiveness of LLMs for Manual Test Verifications
Federal University of Alagoas (UFAL)(阿拉戈斯联邦大学);The Pennsylvania State University(宾夕法尼亚州立大学);University of Waterloo(滑铁卢大学)
本研究探索使用大语言模型生成手动测试验证,通过两项研究评估8种LLMs,发现开源模型表现与闭源相当,但专业测试人员一致性仅略超40%,生成了37,040个验证的数据集,需进一步提升准确性。
2024-09-19 cs.AI cs.SE