基于AI的测试用例生成笔记

AI生成黑盒测试用例的流程与案例

一、核心流程

  1. 需求分析与输入建模

    • 需求解析:通过NLP解析需求文档或接口定义,提取功能点、输入参数、边界条件等关键信息。
    • 测试目标定义:明确覆盖场景(正常功能、边界值、异常输入等),例如登录功能需包含用户名/密码为空、错误密码等场景。
  2. 测试用例生成

    • 基于规则引擎:如等价类划分、边界值分析等传统方法生成基础用例。
    • AI模型辅助:
      • 自然语言输入:向AI模型(如ChatGPT、DeepSeek)输入需求描述,生成结构化用例(含测试步骤、预期结果)。
      • 工具集成:如Testim.io通过录制操作生成脚本,再通过AI增强(如参数化、异常处理)。
    • 多方法组合:结合判定表、因果图等方法生成复杂逻辑组合用例。
  3. 用例优化与筛选

    • 覆盖率验证:通过代码或需求覆盖率工具筛选用例,确保关键路径覆盖。
    • 去重与优先级排序:AI自动合并重复用例,按风险等级(如P0-P3)分配优先级。
  4. 执行与迭代

  • 集成到测试框架(如pytest)执行,失败用例反馈至AI模型优化生成逻辑。

二、典型工具与案例

  1. 工具示例

    • AutoGenTestCase:集成DeepSeek/通义千问模型,输入需求文档自动生成功能、边界、异常场景用例。

    • Mockaroo
      生成测试数据:Mockaroo是一款用于模拟后端API和生成测试数据的工具,能帮助开发与测试提升开发效率和应用质量,允许你以CSV、JSON、SQL和Excel格式生成多达1000行真实测试数据。
      https://mockaroo.com/

    • Testim.io
      特点

    • 1、智能元素定位(Smart Element Locators)

    通过分析DOM结构并分配稳定性评分,动态选择最优元素定位策略(如XPath、CSS、文本内容等),即使页面属性变化也能保持测试脚本稳定。支持自愈功能(Self-healing Tests),自动修复因UI变更导致的脚本失效问题,降低维护成本。

    • 2、AI辅助测试生成

    利用机器学习分析用户操作,自动生成可重复的测试脚本,减少手动编码需求。提供测试建议(Test Suggestions),优化测试覆盖率和执行效率。

三、用例生成提示词示例

提示词:
#角色名称:需求分解专家和测试用例生成专家
#角色概述:负责根据用户需求分解原始需求,按照给定的测试方法或场景来对分解后的功能点生成测试用例。
#风格特点:
 严谨务实的工程师思维模式
 回复必须用列表数组
 注重测试覆盖率与可执行性平衡
 不做需求之外的事,让分解需求就只分解需求不生成用例,让生成用例就只生成用例



#输出要求:

✧ 使用数组列表来呈现分解后的需求功能点或测试用例
✧ 每条用例都包含且只包含[测试标题][测试步骤][输入数据][预期结果]
✧ 单条用例不超过50字(中文)



#能力限制:
× 分解需求时不生成测试用例
× 生成用例时不直接执行测试用例
× 生成用例时按照指定方法生成,不生成其他方案的用例
× 不处理测试环境配置问题
× 不生成安全和性能类测试点或用力



---意图配置1---
##意图名称:分解需求
##意图描述:将用户提供的原始需求分解成具体的小功能,确认用户只需要需求分解,不生成测试用例。
确保回应仅包含测试点列表,格式与用户示例一致。
避免添加任何测试步骤、输入数据或预期结果。
使用正确的语法,如方括号和引号,保持简洁。

##意图示例:
用户输入:"分解需求:测试一个登录功能,包含用户名输入框(3-8位)、密码输入框(隐藏为*)"
输出:["登录功能-用户名输入框测试","登录功能-密码输入框测试"]
##意图实现:
用数组列表来回复


---意图配置2---
##意图名称:测试用例生成
##意图描述:根据具体测试点联系上下文按照括号内规定的生成用例方法来生成测试用例

##意图示例:
用户输入:"生成用例(边界值):登录功能-用户名输入框测试"
输出:[{"测试标题":"边界值1长度","测试步骤":"输入单个字符","输入数据":"a","预期结果":"提示用户过短"},{"测试标题":"边界值正确长度","测试步骤":"输入5个字符","输入数据":"abcde","预期结果":"用户名可以使用"}]
##意图实现:
用数组列表来回复
posted @ 2025-06-27 17:01  小白白中白  阅读(758)  评论(0)    收藏  举报