传统测试用例编写存在很多痛点,比如人工成本高、覆盖不全、易遗漏边界场景等。在人工智能时代,AI技术介入软件测试已经成为一种必需,AI能力可以帮助用户实现提升测试效率、增强测试覆盖度、支持快速迭代开发场景等目标。本文将介绍基于MeterSphere V3版本实现AI生成功能测试用例的具体方法,以及一些在功能测试场景中应用AI能力的实践经验。
一、AI生成功能测试用例的实践方法
AI生成测试用例是一种基于自然语言处理(NLP)的自动化测试用例生成技术,支持输入的文档主要是软件需求文档,例如用户故事、PRD(产品需求文档)等。在生成测试用例时,用户输入需求描述后(例如功能点、业务流程、用户场景等),AI模型会识别关键功能逻辑、输入输出、业务规则等,然后基于等价类划分、边界值分析等测试设计方法自动生成测试场景。在此基础之上,AI生成包含测试步骤、预期结果、前置条件、边界条件等内容的结构化测试用例。
通过AI生成测试用例的优势体现在,能够快速覆盖核心功能、降低人工设计门槛,并且支持需求变更时的快速更新。通过AI生成测试用例的过程包括:
前期准备
■ 需求文档标准化(使用Markdown、JSON等结构化格式规范化文档);
■ 配置AI模型的训练数据(例如历史用例、业务规则模板等)。
执行步骤
■ 输入需求文档,启动AI生成流程;
■ 审核与补充:人工校验用例逻辑,补充特殊场景(例如异常流程)。
注意事项
■ 需求描述的清晰程度直接影响生成用例的质量;
■ 对复杂业务逻辑需结合领域知识进行二次优化。
二、MeterSphere的AI生成测试用例功能介绍
MeterSphere V3版本目前支持通过AI生成功能测试用例、接口测试用例。以下是在MeterSphere中使用AI生成测试用例功能的具体方法。
1. 配置AI模型。AI生成测试用例功能依赖于大语言模型的能力,因此第一步需要在MeterSphere系统中配置大语言模型。配置入口为:在MeterSphere中依次选择“系统设置”→“系统”→“系统参数”→“模型设置”。注意,这一步需要有系统管理权限的用户进行配置。
▲图1 MeterSphere“模型设置”界面
MeterSphere目前支持添加三个供应商的模型,分别是DeepSeek、OpenAI和智谱AI。在添加模型时,选择供应商后,点击“添加模型”按钮,即可打开“添加模型”对话框。基础模型提供默认选项,如果想添加其他模型可以直接输入模型的名称,API域名和API Key则需要通过对应的账号获取。
选择模型之后,需要设置模型参数。这里需要关注temperature、maxTokens参数的值。建议将maxToken的值设置为模型支持的最大值,这样可以避免在生成用例较多时中断输出。temperature参数的默认值为1,建议保持在0.7至1之间。模型配置完成后,需要启动,才能在生成用例时使用。
▲图2 MeterSphere模型参数配置对话框
以下是关于temperature参数的简单解释:
temperature是一个用于调整模型生成文本时创造性和多样性的超参数。它是一个大于0的数值,通常在0到1之间。该参数影响模型生成文本时采样预测词汇的概率分布。当模型的temperature值较高时(如0.8、1或更高),模型会更倾向于从较多样且不同的词汇中选择,这使得生成的文本风险性更高、创意性更强,但也可能产生更多的错误和不连贯之处。而当temperature值较低时(如0.2、0.3等),模型主要会从具有较高概率的词汇中选择,从而产生更平稳、更连贯的文本。但此时,生成的文本可能会显得过于保守和重复。因此在实际应用中,需要根据具体需求来权衡选择合适的temperature值。
2. 生成功能用例
在MeterSphere中配置好大语言模型并启动后,在“测试用例”模块中会展示“AI生成”功能按钮,点击后,即可进入AI生成用例界面。
▲图3 MeterSphere AI生成测试用例入口
在“AI生成”对话框中,您可以选择或切换已配置的模型,设置用例生成的配置,包括用例模板、设计方法等,均可以根据自己的需要进行配置。设置完成后,就可以输入用例生成提示词生成测试用例了。提示词只需要包含需求、特殊要求、需要生成的用例条数(大致估计)即可。
▲图4 MeterSphere“AI生成”对话框
用例生成后,可以展开进行查看。如果不满意,可以完善提示词,重新生成用例。对于满意的用例,可以在“AI生成”对话框中点击“同步用例”按钮,将其添加到用例列表中。注意:在勾选用例后,系统才会出现“同步用例”按钮,点击即可同步用例。
▲图5 MeterSphere AI生成用例对话
同步用例后,可以对用例进行审核、修改、补充,以满足实际测试的要求。
▲图6 MeterSphere AI生成用例列表
每次生成用例的对话,都会记录对话的上下文。因此,对于不同的需求或测试点,需要在不同的对话中进行用例生成,以避免上下文的混淆和干扰。针对不同的用例生成任务,可以开启新对话,在独立对话中完成用例生成。
三、MeterSphere AI生成测试用例的实际案例
MaxKB是一款开源企业级智能体平台产品。在TAPD中,这个产品的需求写得很详细,内容也比较多。但是这些需求内容是不能直接拿给AI用来生成测试用例的。原因是内容太多,直接提供给AI不仅输入输出Tokens消耗过多,而且因为需求比较零散,关联性没有进行整理,导致输出的测试用例质量不高。
因此我们需要先将一个大的需求文档,拆分成各个独立的功能需求文档。然后将独立的功能按照其子功能进行分类整理,将子功能中的一些测试点进行挖掘和梳理,形成一个个单独的可以输入给AI的需求提示词。以“资源文件夹”功能测试为例,我们将需求整理如下:
输入需求提示词,生成测试用例
以下是整理好的“资源文件夹”子功能测试需求,可以将其作为提示词进行输入:
文件夹功能
1. 应用、知识库、工具三类资源支持按文件夹分类;
2. 不同工作空间的文件夹互相独立;
3. 不同资源的文件夹互相独立;
4. 文件夹目录树可以隐藏/展开;
5. 左侧选择文件夹目录后,右侧显示所选目录下的资源和子文件夹;
6. 文件夹目录树支持按名称模糊搜索,需要覆盖查询有结果、无结果的场景。
▲图7 在AI生成对话中输入测试需求提示词
需求整理完成后,就可以生成用例了。我们可以先选择合适的模型,并在“AI生成”对话框点击用例生成配置的齿轮图标,进入“配置”对话框,选择需要使用的用例模板和设计方法。在“用例模板”选项卡中,我们选择“步骤描述”模板。在“设计方法”选项卡中,我们勾选设计方法栏目的全部选项。正是因为用例模板和设计方法为配置项,所以我们的提示词就可以写得简单一些,然后输入整理好的一段子功能需求,并且添加用例数量要求。然后,在“AI生成”对话框中点击“发送”按钮,就可以等待用例生成完成了。
▲图8 “用例模板”选项卡
▲图9 “设计方法”选项卡
对生成的测试用例进行审核与筛选
▲图10 AI生成测试用例效果
上图是AI生成的测试用例。下表中列出了自动生成的用例标题,我们可以看到,除了需求明确要求的一些用例外,AI还会自动思考、扩展出一些用例,有的是可以使用的,有的却是无效的,也有的可能是你不想在当前需求中生成,考虑在后续的需求中生成的用例。因此,AI生成的用例还需要进行人工审核,将有效的用例进行保留,剔除不需要的用例。
附表:AI生成测试用例标题与审核结果示例表
我们可以选取有效的用例,然后将其同步至用例列表。至于有效的但是需要在后续功能中详细生成的测试用例,可以选择保留,作为后续生成用例的补充;也可以选择舍弃,后续功能的详细用例一般都会包含这些用例。
▲图11 在AI生成对话中可以同步选中的用例
在用例审核时我们发现,“验证文件夹在不同资源之间独立”的用例,其操作步骤与实际不符,我们可以手动对其进行修改,以符合实际操作步骤。
▲图12 用例的操作步骤支持手动修改
至此,一个大功能中的子功能测试用例已经通过AI生成完毕,并且添加至用例库。接下来可以按照上述步骤,依次生成其他子功能的测试用例。
整个功能的所有子功能用例生成完毕后,需要再次评审所有生成的用例,确认整个用例集的覆盖率是否完全,关联场景的用例是否缺失。针对互有关联的功能,可以单独整理相关测试校验点,交给AI再次生成用例,最终形成一个符合测试要求的用例集。