CN120849303A - 一种自动化黑盒测试方法及相关装置 - Google Patents
一种自动化黑盒测试方法及相关装置Info
- Publication number
- CN120849303A CN120849303A CN202511378891.9A CN202511378891A CN120849303A CN 120849303 A CN120849303 A CN 120849303A CN 202511378891 A CN202511378891 A CN 202511378891A CN 120849303 A CN120849303 A CN 120849303A
- Authority
- CN
- China
- Prior art keywords
- test
- testing
- application
- black box
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种自动化黑盒测试方法及相关装置,涉及软件技术领域,包括:获取待测应用的测试任务文本;通过大语言模型对测试任务文本进行解析得到待测应用的测试方案,测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤,并验证测试方案中每个测试步骤的执行结果。本申请使用大语言模型的动态规划和理解能力来替代僵化的脚本,实现高度智能化的自动化测试,另外,以视觉感知替代对代码选择器的依赖,解决了传统脚本脆弱性的问题,保证测试连续性,提高黑盒测试的效率和准确性。
Description
技术领域
本申请涉及软件技术领域,尤其涉及一种自动化黑盒测试方法及相关装置。
背景技术
黑盒测试 (Black-Box Testing)是测试人员在不了解程序内部代码结构和实现细节的情况下,在应用层面对软件功能进行测试的自动化测试方案。
传统黑盒测试严重依赖于UI元素的固定选择器(如ID, XPath)。一旦前端代码或UI布局发生微小变化,脚本就会失效,导致测试频繁中断,需要投入大量人力进行脚本维护。
发明内容
鉴于上述问题,本申请提供了一种自动化黑盒测试方法及相关装置,以实现提升黑盒测试的效率和质量的目的。具体方案如下:
本申请第一方面提供一种自动化黑盒测试方法,所述自动化黑盒测试方法包括:
获取待测应用的测试任务文本;
通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,所述测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;
以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,并验证所述测试方案中每个测试步骤的执行结果。
在一种可能的实现中,所述通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,包括:
通过所述大语言模型对所述测试任务文本进行语义理解得到所述待测应用的操作序列,所述操作序列包含多个测试操作,且每个测试操作具有相应的输入参数;
从黑盒测试知识库中依次检索所述操作序列中每个测试操作对应的测试知识,所述黑盒测试知识库为预置的基于图谱的知识库;
通过所述大语言模型对所述操作序列中每个测试操作对应的输入参数和测试知识进行语义理解得到所述测试方案。
在一种可能的实现中,所述以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,包括:
通过沙箱管理组件为所述待测应用创建测试环境;
针对所述测试方案中的每个测试步骤来说,截取所述待测应用经上一测试步骤后的第一界面图像;基于计算机视觉对所述第一界面图像进行分析,以从中定位与该测试步骤相匹配的UI元素;在所述测试环境下以该测试步骤对所述UI元素执行测试。
在一种可能的实现中,所述沙箱管理组件集成有录屏工具,所述自动化黑盒测试方法还包括:
通过所述录屏工具录制所述测试方案中所有测试步骤的执行过程,以生成测试视频。
在一种可能的实现中,所述验证所述测试方案中每个测试步骤的执行结果,包括:
针对所述测试方案中的每个测试步骤来说,获取所述待测应用经该测试步骤后的第二界面图像;基于计算机视觉对所述第一界面图像与所述第二界面图像进行对比,以根据对比结果确定该测试步骤的执行结果。
在一种可能的实现中,所述自动化黑盒测试方法,还包括:
获取所述测试方案中所有测试步骤的执行日志,并通过所述大语言模型对所述执行日志进行解析得到所述待测应用的测试报告。
本申请第二方面提供一种自动化黑盒测试装置,所述自动化黑盒测试装置包括:
任务获取模块,用于获取待测应用的测试任务文本;
任务解析模块,用于通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,所述测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;
测试执行模块,用于以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,并验证所述测试方案中每个测试步骤的执行结果。
本申请第三方面提供一种计算机程序产品,包括计算机可读指令,当所述计算机可读指令在电子设备上运行时,使得所述电子设备实现上述第一方面或第一方面任一实现方式的自动化黑盒测试方法。
本申请第四方面提供一种电子设备,包括至少一个处理器和与所述处理器连接的存储器,其中:
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,以使所述电子设备能够实现上述第一方面或第一方面任一实现方式的自动化黑盒测试方法。
本申请第五方面提供一种计算机存储介质,所述存储介质承载有一个或多个计算机程序,当所述一个或多个计算机程序被电子设备执行时,能够使所述电子设备实现上述第一方面或第一方面任一实现方式的自动化黑盒测试方法。
借由上述技术方案,本申请提供的一种自动化黑盒测试方法及相关装置,包括:获取待测应用的测试任务文本;通过大语言模型对测试任务文本进行解析得到待测应用的测试方案,测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤,并验证测试方案中每个测试步骤的执行结果。本申请使用大语言模型的动态规划和理解能力来替代僵化的脚本,实现高度智能化的自动化测试,另外,以视觉感知替代对代码选择器的依赖,解决了传统脚本脆弱性的问题,保证测试连续性,提高黑盒测试的效率和准确性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本申请实施例提供的一种自动化黑盒测试方法的流程示意图;
图2为本申请实施例提供的一种自动化黑盒测试方法的部分流程示意图;
图3为本申请实施例提供的一种自动化黑盒测试方法的另一部分流程示意图;
图4为本申请实施例提供的一种自动化黑盒测试装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
软件测试是保障软件质量的关键环节,其发展经历了从纯手动测试到自动化测试的演进。自动化测试旨在通过程序脚本代替人工执行重复性测试任务,以提高效率和覆盖率。黑盒测试作为自动化测试中的一个关键项,主要以基于UI(User Interface,用户界面)对象模型的脚本式自动化为主,代表性技术为Web端的Selenium和移动端的Appium。这些工具通过定位页面/应用视图中的UI元素,并调用API(Application ProgrammingInterface,应用程序编程接口)对其进行点击、输入等操作,来模拟用户行为。然而,随着前端技术(如React, Vue)的快速迭代和移动应用界面的日益复杂,UI的动态性和易变性愈发突出,这使得传统自动化测试方法的弊端日益显现。
传统黑盒测试依赖于基于固定选择器(Selector)的UI自动化测试框架。这类框架的工作流程通常是:测试工程师首先手动分析待测应用的UI结构,为需要交互的每一个元素(如输入框、按钮、链接)编写一个唯一的“定位符”或“选择器”(例如,HTML的ID属性id="login-button",或复杂的XPath路径/html/body/div[1]/div/button[1])。然后,在测试脚本中,通过框架提供的API(如driver.findElement(By.id("login-button")).click())来查找并操作这些元素。测试的验证环节也通常依赖于查找特定元素是否存在或其属性是否为某个期望值。整个过程是基于对应用内部代码结构(DOM树或View树)的预先了解和硬编码。这就存在以下根本性缺陷:
1)测试脚本与UI的实现代码强耦合。一旦前端开发人员修改了UI元素的ID、层级结构或类名,即使功能和外观完全没变,对应的选择器就会失效,导致测试脚本失败。在敏捷开发模式下,UI频繁变更,测试团队需要花费大量时间去定位、修复这些失效的脚本,维护成本极高。
2)缺乏泛化和适应能力。脚本是“死”的。它无法理解“登录”和“Sign In”在语义上的等价性。如果按钮文字改变,基于文字的定位就会失败。它也无法处理非预期的UI事件,如突然出现的广告弹窗或权限请求对话框,除非为每一种可能性都编写了额外的处理逻辑,这使得脚本变得异常臃肿和复杂。
3)跨平台实现割裂。Selenium专用于Web,Appium专用于移动端(iOS/Android)。尽管Appium试图统一API,但底层的驱动和定位机制完全不同。一个覆盖Web和App的业务流程,需要两套独立的脚本和环境,无法在一个统一的认知框架下进行端到端的自动化测试,技术壁垒和管理成本都很高。
为解决传统黑盒测试存在的脚本脆弱、缺乏泛化和适应能力以及跨平台能力弱的缺陷,实现更加鲁棒、智能、高效和统一的自动化测试,本申请提供一种自动化黑盒测试方法。下面结合附图对本申请实施例的自动化黑盒测试方法进行详细的介绍。
参见图1,图1为本申请实施例提供的一种自动化黑盒测试方法的流程示意图。如图1所示,本申请实施例提供的一种自动化黑盒测试方法,可以封装为一个AI Agent(智能体),具体可以包括步骤S101至S103,下面分别对这些步骤进行详细的描述。
S101,获取待测应用的测试任务文本。
本申请实施例中,待测应用为待执行黑盒测试的应用,AI Agent可以获取针对该待测应用的测试任务文本,该测试任务文本使用自然语言或者结构化形式描述,可以包括所在平台及版本(如Web Chrome, iOS 16, Android 13)、待测功能的功能描述、测试预期、测试环境要求等信息。举例来说,测试任务文本为“测试用户登录功能,使用账号’testuser’和密码’password123’,验证登录后页面出现'欢迎您'字样”。
S102,通过大语言模型对测试任务文本进行解析得到待测应用的测试方案,测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述。
本申请实施例中,将大语言模型作为AI Agent的核心大脑,借助大语言模型的动态规划和理解能力,将测试任务文本输入至大语言模型中,以通过大语言模型对测试任务文本进行语义理解得到相应的测试方案,该测试方案中包括多个具有时序关系的测试步骤,且每个测试步骤使用自然语言描述,也就是说,测试方案中每个测试步骤描述的是操作意图、而非硬编码。
在一种可能的实现中,大语言模型可以结合原始任务和增强知识为待测应用生成结构化的语义步骤列表。参见图2,图2为本申请实施例提供的一种自动化黑盒测试方法的部分流程示意图。如图2所示,本申请实施例提供的一种自动化黑盒测试方法,其中,步骤S102“通过大语言模型对测试任务文本进行解析得到待测应用的测试方案”,可以包括步骤S201至S203,下面分别对这些步骤进行详细的描述。
S201,通过大语言模型对测试任务文本进行语义理解得到待测应用的操作序列,操作序列包含多个测试操作,且每个测试操作具有相应的输入参数。
本申请实施例中,AI Agent将测试任务文本输入至大语言模型中进行初步的语义理解,识别为实现功能描述所需的操作序列,该操作序列包括多个具有时序关系的测试操作(比如登录操作、跳转操作等)、且每个测试操作具有相应的输入参数,比如登录操作的输入参数包括账号和密码。
S202,从黑盒测试知识库中依次检索操作序列中每个测试操作对应的测试知识,黑盒测试知识库为预置的基于图谱的知识库。
本申请实施例中,为了生成高质量的测试步骤,AI Agent通过MCP(Model ContextProtocol,模型上下文协议)查询一个预置的、基于图谱的黑盒测试知识库,结合在黑盒测试知识库中查询到的知识可以实现GraphRAG(Graph Retrieval-Augmented Generation)对大语言模型的,黑盒测试知识的加强。黑盒测试知识库中存储有通用的测试流程模式、场景UI控件的交互逻辑、测试用例生成依据、历史测试数据和最佳实践等信息。
以待测应用与操作序列中的每个测试操作为检索条件对黑盒测试知识库进行检索,以此从黑盒测试知识库中获得与每个测试操作相关的知识,将该知识作为每个测试操作对应的测试知识。
实际应用中,黑盒测试知识库除为图谱知识库外,还可以为向量数据库,实现标准的RAG对大语言模型进行知识增强。
S203,通过大语言模型对操作序列中每个测试操作对应的输入参数和测试知识进行语义理解得到测试方案。
本申请实施例中,AI Agent结合黑盒测试知识库与大语言模型的规划能力,将高阶测试目标(如测试用户登录功能)智能分解为一系列具体的、可执行的语义化操作步骤(例如,“1. 打开应用 -> 2. 定位并点击‘我的’按钮 -> ...”),形成最终的测试方案。
将操作序列中每个测试操作对应的输入参数及其测试知识输入至大语言模型中,通过该大语言模型进行语义理解得到多个使用自然语言描述的测试步骤,一个测试操作可以对应一个测试步骤。以下为生成一个todo.list的测试方案示例,包括六个测试步骤step1至step6:
step1.打开app或导航到web browser到url;step2. 如该功能需要登录,则优先登录,如未登录,则进行登录(自动化或人工介入);step3. 导航到要测试的要界面;step4.查看当前功能可操作的元素;step5. 根据元素生成多个测试用例;step6. 对测试用例逐个进行测试。
S103,以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤,并验证测试方案中每个测试步骤的执行结果。
本申请实施例中,AI Agent通过自动化平台控制组件可以获取待测应用的界面截图(比如web界面截图或者平台界面截图),并借助其集成的计算机视觉模型或多模态大语言模型识别界面截图中当前测试步骤需要操作的UI元素(如输入框、按钮),并调用底层自动化工具(比如Web的 MCP Web, IOS/Android 的 MCP Mobile)进行精确的模拟操作(如在特定坐标点击、输入文本、滑动等)来完成当前测试步骤,这种方式以视觉特征和文本内容为依据,而非脆弱的ID或XPath选择,从而极大增强了UI变化的适应性。并且,每个测试步骤完成后,AI Agent可以再次获取界面截图进行验证,以判断是否达到预期效果(例如点击“登录”按钮后,页面是否出现了“欢迎,XXX”的文字或跳转到了个人中心)。当然,在实际应用中,除计算机视觉模型或多模态大语言模型的方式识别UI元素外,也可以同时支持基于ID或者XPath等方式识别UI元素,具体可以调用相关的MCP接口来实现。
在一种可能的实现中,AI Agent可以自动调用并动态创建一个纯净、隔离的测试环境,在该测试环境对每个测试步骤进行基于计算机视觉的测试。参见图3,图3为本申请实施例提供的一种自动化黑盒测试方法的另一部分流程示意图。如图3所示,本申请实施例提供的一种自动化黑盒测试方法,其中,步骤S103中“以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤”,可以包括步骤S301至S302,下面分别对这些步骤进行详细的描述。
S301,通过沙箱管理组件为待测应用创建测试环境。
本申请实施例中,AI Agent可以查询内置数据库来获得待测应用对应的访问地址、安装包版本信息、以及初始化环境所需的脚本等信息。自动调用沙箱管理组件(Sandbox)为待测平台创建相应的测试环境。例如Web测试时启动一个内置Playwright的容器化浏览器实例,并作为MCP Server,等待Agent通过MCP协议调用;移动端测试时启动一个指定版本的Android/iOS模拟器,自动安装指定的App,并运行MCP Mobile作为MCP Server。这就可以确定每次测试都在隔离、可复现的环境中进行,并将测试环境的控制句柄(handle)返回给AI Agent。
实际应用中,沙箱管理组件暴露有符合MCP的接口,AI Agent可以基于playwright操控测试环境中的web页面、或者基于Mobile Agent操控测试环境中的平台界面。
S302,针对测试方案中的每个测试步骤来说,截取待测应用经上一测试步骤后的第一界面图像;基于计算机视觉对第一界面图像进行分析,以从中定位与该测试步骤相匹配的UI元素;在测试环境下以该测试步骤对UI元素执行测试。
本申请实施例中,AI Agent作为总指挥,可以按照测试方案逐一执行测试步骤,并且,在每个测试步骤中都模仿人类的测试行为。针对测试方案中的每个测试步骤来说,命令自动化工具截取待测应用经上一测试步骤后的界面图像(即第一界面图像),通过计算机视觉模型或多模态大语言模型在第一界面图像中定位到与该测试步骤相匹配的UI元素,并返回其边界框坐标(bounding box)或者browser的DOM元素,进一步,根据该测试步骤中测试操作命令自动化工具在测试环境下执行具体操作,例如在返回的边界框中心点执行一次点击、或者在输入框中键入文本,这完全不依赖于应用的内部代码结构。
在测试结束后,沙箱管理组件会关闭并清理本次测试所使用的浏览器实例或模拟器,释放系统资源。
在一种可能的实现中,可以选择在沙箱管理组件中集成录屏工具,以此录制黑盒测试的全过程。对此,本申请实施例提供的一种动化黑盒测试方法,该沙箱管理组件集成有录屏工具,该自动化黑盒测试方法还包括如下步骤:
通过录屏工具录制测试方案中所有测试步骤的执行过程,以生成测试视频。
本申请实施例中,启动沙箱管理组件中的录屏工具,可以录制待测应用中测试环境中的全测试步骤的执行过程,以此生成测试过程的全视频,输出测试视频。
在一种可能的实现中,AI Agent可以对每个测试步骤进行基于计算机视觉的验证。对此,本申请实施例提供的一种自动化黑盒测试方法,其中,步骤S103中“验证测试方案中每个测试步骤的执行结果”,可以采用如下步骤:
针对测试方案中的每个测试步骤来说,获取待测应用经该测试步骤后的第二界面图像;基于计算机视觉对第一界面图像与第二界面图像进行对比,以根据对比结果确定该测试步骤的执行结果。
本申请实施例中,针对测试方案中的每个测试步骤来说,AI Agent命令自动化工具截取待测应用经该测试步骤后的界面图像(即第二界面图像),通过计算机视觉模型或多模态大语言模型对第一界面图像与第二界面图像进行对比,根据对比结果确定该测试步骤的执行结果为通过或失败。举例来说,如果该测试步骤对应的测试操作为跳转操作,可以对比跳转前后的界面图像来确定跳转是否成功,当然,还可以分析跳转后的界面图像中的关键视觉特征来判断,本申请实施例对此不做限定。需要说明的是,第一界面图像与第二界面图像可以相同、也可以不同,本申请实施例对此不做限定。
此外,对于verify_presence这类验证,AI Agent还可以结合视觉模块OCR技术等技术在第二界面图像中检索相关描述的文本或元素,以此来完成该测试步骤的验证。
另外,对于执行结果为失败的测试步骤,AI Agent可以记录下该测试步骤的第二界面图像、期望结果和实际观察等信息,并触发大语言模型重新规划该测试步骤,例如大语言模型可以决策更换搜索关键词、处理意外弹窗或回退到上一步重试,这种基于视觉反馈的闭环控制机制是实现高度鲁棒性的关键。比如,点击“登录”后出现的是“密码错误”的红色提示,而非预期的主页,经大语言模型重新规划后,执行“重试输入密码”或“点击忘记密码链接”。
在一种可能的实现中,为方便用户总结测试过程,还可以生成人类可读的综合报告。对此,本申请实施例提供的一种自动化黑盒测试方法,还包括如下步骤:
获取测试方案中所有测试步骤的执行日志,并通过大语言模型对执行日志进行解析得到待测应用的测试报告。
本申请实施例中,AI Agent可以获取测试方案中所有测试步骤的执行日志,并将该执行日志输入至大语言模型中,由该大语言模型分析该执行日志得到待测应用的测试报告,其中,测试报告中包含整体测试结果(通过/失败)、各测试步骤的执行详情、执行结果为通过的这类测试步骤的截图、以及执行结果为失败的这类测试步骤的智能分析(例如“在点击‘登录按钮’后,未能找到‘欢迎您’文本,页面仍停留在登录页,可能原因为密码错误或服务异常”)。
经由以上描述,本申请实施例提供的一种自动化黑盒测试方法,使用视觉感知替代了对代码选择器的依赖,解决了传统脚本的脆弱性问题;使用统一的AI Agent替代了分散的测试框架,通过可插拔的底层驱动(如MCP Web, MCP mobile)控制包括Web、iOS和Android在内的多种目标平台,解决了跨平台适配的复杂性问题;使用大语言模型的动态规划和理解能力替代了僵化的脚本逻辑,真正实现了高度智能化的自动化测试。本申请可以替代人工黑盒测试,提升测试效率和测试质量。
具体来说,本申请采用计算机视觉来感知和定位UI元素,而非依赖脆弱的代码选择器,因此测试流程不再因前端代码的重构或UI布局的微调而中断,从而极大地提升了测试用例的鲁棒性,并显著降低了长期维护成本。另外,利用大型语言模型的强大规划和推理能力,使测试系统能够理解复杂的测试意图,并能适应UI的细微变化。再者,将Web、移动端等不同平台的测试逻辑统一到一个AI Agent下,从而打破了平台壁垒,实现了真正意义上的一体化、智能化、端到端的自动化测试,大幅提升了测试效率和覆盖广度,其生成的富含上下文和视觉证据的测试报告,也使得问题定位更加迅速。
以上介绍了本申请实施例提供的一种自动化黑盒测试方法,以下将介绍执行上述的自动化黑盒测试方法的装置。
参见图4,图4为本申请实施例提供的一种自动化黑盒测试装置的结构示意图。如图4所示,本申请实施例提供的一种自动化黑盒测试装置,包括:
任务获取模块401,用于获取待测应用的测试任务文本;
任务解析模块402,用于通过大语言模型对测试任务文本进行解析得到待测应用的测试方案,测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;
测试执行模块403,用于以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤,并验证测试方案中每个测试步骤的执行结果。
在一种可能的实现中,任务解析模块402,具体用于:
通过大语言模型对测试任务文本进行语义理解得到待测应用的操作序列,操作序列包含多个测试操作,且每个测试操作具有相应的输入参数;从黑盒测试知识库中依次检索操作序列中每个测试操作对应的测试知识,黑盒测试知识库为预置的基于图谱的知识库;通过大语言模型对操作序列中每个测试操作对应的输入参数和测试知识进行语义理解得到测试方案。
在一种可能的实现中,用于以视觉感知的方式对待测应用依次执行测试方案中的每个测试步骤的测试执行模块403,具体用于:
通过沙箱管理组件为待测应用创建测试环境;针对测试方案中的每个测试步骤来说,截取待测应用经上一测试步骤后的第一界面图像;基于计算机视觉对第一界面图像进行分析,以从中定位与该测试步骤相匹配的UI元素;在测试环境下以该测试步骤对UI元素执行测试。
在一种可能的实现中,沙箱管理组件集成有录屏工具,测试执行模块403,还用于:
通过录屏工具录制测试方案中所有测试步骤的执行过程,以生成测试视频。
在一种可能的实现中,用于验证测试方案中每个测试步骤的执行结果的测试执行模块403,具体用于:
针对测试方案中的每个测试步骤来说,获取待测应用经该测试步骤后的第二界面图像;基于计算机视觉对第一界面图像与第二界面图像进行对比,以根据对比结果确定该测试步骤的执行结果。
在一种可能的实现中,测试执行模块403,还用于:
获取测试方案中所有测试步骤的执行日志,并通过大语言模型对执行日志进行解析得到待测应用的测试报告。
需要说明的是,本申请实施例中各模块的细化功能可以参见上述自动化黑盒测试方法实施例对应公开部分,再此不再赘述。
本申请实施例中还提供一种电子设备。参见图5,图5为本申请实施例提供的一种电子设备的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,该电子设备可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机存取存储器(RAM)503中的程序而执行各种适当的动作和处理。在电子设备通电的状态下,RAM 503中还存储有电子设备操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如内存卡、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
本申请实施例中还提供一种包括计算机程序产品,包括计算机可读指令,当计算机可读指令在电子设备上运行时,使得电子设备实现本申请实施例提供的任一种自动化黑盒测试方法。
本申请实施例中还提供一种计算机可读存储介质,该存储介质承载有一个或多个计算机程序,当一个或多个计算机程序被电子设备执行时,能够使电子设备实现本申请实施例提供的任一种自动化黑盒测试方法。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (9)
1.一种自动化黑盒测试方法,其特征在于,所述自动化黑盒测试方法包括:
获取待测应用的测试任务文本;
通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,所述测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;
以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,并验证所述测试方案中每个测试步骤的执行结果;
其中,所述通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,包括:
通过所述大语言模型对所述测试任务文本进行语义理解得到所述待测应用的操作序列,所述操作序列包含多个测试操作,且每个测试操作具有相应的输入参数;
从黑盒测试知识库中依次检索所述操作序列中每个测试操作对应的测试知识,所述黑盒测试知识库为预置的基于图谱的知识库;
通过所述大语言模型对所述操作序列中每个测试操作对应的输入参数和测试知识进行语义理解得到所述测试方案。
2.根据权利要求1所述的自动化黑盒测试方法,其特征在于,所述以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,包括:
通过沙箱管理组件为所述待测应用创建测试环境;
针对所述测试方案中的每个测试步骤来说,截取所述待测应用经上一测试步骤后的第一界面图像;基于计算机视觉对所述第一界面图像进行分析,以从中定位与该测试步骤相匹配的UI元素;在所述测试环境下以该测试步骤对所述UI元素执行测试。
3.根据权利要求2所述的自动化黑盒测试方法,其特征在于,所述沙箱管理组件集成有录屏工具,所述自动化黑盒测试方法还包括:
通过所述录屏工具录制所述测试方案中所有测试步骤的执行过程,以生成测试视频。
4.根据权利要求2所述的自动化黑盒测试方法,其特征在于,所述验证所述测试方案中每个测试步骤的执行结果,包括:
针对所述测试方案中的每个测试步骤来说,获取所述待测应用经该测试步骤后的第二界面图像;基于计算机视觉对所述第一界面图像与所述第二界面图像进行对比,以根据对比结果确定该测试步骤的执行结果。
5.根据权利要求1所述的自动化黑盒测试方法,其特征在于,所述自动化黑盒测试方法,还包括:
获取所述测试方案中所有测试步骤的执行日志,并通过所述大语言模型对所述执行日志进行解析得到所述待测应用的测试报告。
6.一种自动化黑盒测试装置,其特征在于,所述自动化黑盒测试装置包括:
任务获取模块,用于获取待测应用的测试任务文本;
任务解析模块,用于通过大语言模型对所述测试任务文本进行解析得到所述待测应用的测试方案,所述测试方案由多个测试步骤组成、且每个测试步骤使用自然语言描述;
测试执行模块,用于以视觉感知的方式对所述待测应用依次执行所述测试方案中的每个测试步骤,并验证所述测试方案中每个测试步骤的执行结果;
其中,任务解析模块,具体用于:
通过所述大语言模型对所述测试任务文本进行语义理解得到所述待测应用的操作序列,所述操作序列包含多个测试操作,且每个测试操作具有相应的输入参数;从黑盒测试知识库中依次检索所述操作序列中每个测试操作对应的测试知识,所述黑盒测试知识库为预置的基于图谱的知识库;通过所述大语言模型对所述操作序列中每个测试操作对应的输入参数和测试知识进行语义理解得到所述测试方案。
7.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在电子设备上运行时,使得所述电子设备实现如权利要求1至5中任意一项所述的自动化黑盒测试方法。
8.一种电子设备,其特征在于,包括至少一个处理器和与所述处理器连接的存储器,其中:
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,以使所述电子设备能够实现如权利要求1至5中任意一项所述的自动化黑盒测试方法。
9.一种计算机存储介质,其特征在于,所述存储介质承载有一个或多个计算机程序,当所述一个或多个计算机程序被电子设备执行时,能够使所述电子设备实现如权利要求1至5中任意一项所述的自动化黑盒测试方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511378891.9A CN120849303A (zh) | 2025-09-25 | 2025-09-25 | 一种自动化黑盒测试方法及相关装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202511378891.9A CN120849303A (zh) | 2025-09-25 | 2025-09-25 | 一种自动化黑盒测试方法及相关装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN120849303A true CN120849303A (zh) | 2025-10-28 |
Family
ID=97415036
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202511378891.9A Pending CN120849303A (zh) | 2025-09-25 | 2025-09-25 | 一种自动化黑盒测试方法及相关装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120849303A (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117762802A (zh) * | 2023-12-25 | 2024-03-26 | 中国联合网络通信集团有限公司 | 一种自动化测试方法、装置、设备以及存储介质 |
| CN119645881A (zh) * | 2025-01-10 | 2025-03-18 | 格尔软件股份有限公司 | 一种自动化测试用例的生成与执行方法及其系统 |
| CN120123247A (zh) * | 2025-03-11 | 2025-06-10 | 深圳依时货拉拉科技有限公司 | 一种界面测试方法、装置、电子设备及存储介质 |
| CN120123248A (zh) * | 2025-03-13 | 2025-06-10 | 上海腾道信息技术有限公司 | 一种自动化ui功能测试方法、系统、电子设备及存储介质 |
-
2025
- 2025-09-25 CN CN202511378891.9A patent/CN120849303A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117762802A (zh) * | 2023-12-25 | 2024-03-26 | 中国联合网络通信集团有限公司 | 一种自动化测试方法、装置、设备以及存储介质 |
| CN119645881A (zh) * | 2025-01-10 | 2025-03-18 | 格尔软件股份有限公司 | 一种自动化测试用例的生成与执行方法及其系统 |
| CN120123247A (zh) * | 2025-03-11 | 2025-06-10 | 深圳依时货拉拉科技有限公司 | 一种界面测试方法、装置、电子设备及存储介质 |
| CN120123248A (zh) * | 2025-03-13 | 2025-06-10 | 上海腾道信息技术有限公司 | 一种自动化ui功能测试方法、系统、电子设备及存储介质 |
Non-Patent Citations (4)
| Title |
|---|
| 埃德•耶伯格: "《Vue.js应用测试》", 31 March 2020, 北京:机械工业出版社, pages: 6 - 9 * |
| 多模态: "Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告", Retrieved from the Internet <URL:https://developer.aliyun.com/article/1646956> * |
| 李建华等: "《网络空间安全技术丛书 等级保护测评理论及应用》", vol. 1, 30 June 2023, 北京:机械工业出版社, pages: 134 - 136 * |
| 联易融课题组: "《AIGC重塑供应链金融 大模型在供应链金融领域的应用与实践》", vol. 1, 30 November 2024, 北京:机械工业出版社, pages: 86 - 91 * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11907107B2 (en) | Auto test generator | |
| US10162612B2 (en) | Method and apparatus for inventory analysis | |
| US6941546B2 (en) | Method and apparatus for testing a software component using an abstraction matrix | |
| US10216377B2 (en) | Visual regression analysis | |
| US10515001B2 (en) | System and method for automating testing of software applications | |
| US20130254139A1 (en) | Systems and methods for building a universal intelligent assistant with learning capabilities | |
| US11074162B2 (en) | System and a method for automated script generation for application testing | |
| CN109144856A (zh) | 一种ui自动化测试方法、计算设备及存储介质 | |
| CN108345532A (zh) | 一种自动化测试用例生成方法和装置 | |
| CN112506778A (zh) | Web用户界面自动化测试方法、装置、设备和存储介质 | |
| CN112231213A (zh) | Web自动化测试方法、系统、存储介质及终端设备 | |
| Tierno et al. | Open issues for the automotive software testing | |
| CN114791885A (zh) | 接口测试方法、装置、设备及介质 | |
| CN119718908A (zh) | 一种ui自动化测试的方法及系统 | |
| CN117762802A (zh) | 一种自动化测试方法、装置、设备以及存储介质 | |
| WO2015116225A2 (en) | Test automation modeling | |
| Wang et al. | Large language model driven automated software application testing | |
| CN116560819B (zh) | 基于rpa的批量自动化操作方法、系统、设备及储存介质 | |
| CN118838822A (zh) | Web应用系统的测试方法及装置 | |
| CN120849303A (zh) | 一种自动化黑盒测试方法及相关装置 | |
| CN111124815A (zh) | 一种日志查看方法、装置、设备及存储介质 | |
| CN116719735A (zh) | 一种测试用例生成方法及装置 | |
| EP2782005A1 (en) | Verifying state reachability in a statechart model having computer program code embedded therein | |
| Mg | Learning Selenium Testing Tools | |
| CN120909948B (zh) | 国产化适配测试方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |