返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Prompt 工程进阶——让 DeepSeek 学会你的测试风格

[复制链接]
链载Ai 显示全部楼层 发表于 5 天前 |阅读模式 打印 上一主题 下一主题

一、前言:为什么要让 AI 学会“你的测试风格”

许多团队在引入 AI 辅助编写测试脚本时,常遇到以下问题:

  • • “生成的代码能跑通,但结构混乱,不符合项目规范。”
  • • “断言写法随意,缺乏可读性和一致性。”
  • • “每次都要手动调整命名、格式和注释,效率提升有限。”

这些问题的核心在于:AI 不理解你的“测试风格”(Testing Style & Convention)

而真正的 AI 测试提效,并非只是“让 AI 写代码”,而是让 AI 学会并模仿你的团队风格
这正是Prompt 工程的进阶目标

✅ 让 AI 理解并复用你的命名习惯、代码结构、注释风格与断言逻辑
✅ 将团队经验转化为可复用的“AI 测试模板”
✅ 实现从“辅助生成”到“风格化自动输出”的跃迁

本文将带你系统构建一个风格化 AI 测试生成体系,以 DeepSeek 为例,实现真正“懂你”的自动化测试助手。

二、目标与思路:把“团队风格”变成“Prompt 模板”

要让 DeepSeek 学会你的风格,可以把整个过程拆成 3 个阶段:

阶段
目标
方法与工具
1. 采集风格样本
提取团队真实的测试代码特征
收集历史测试脚本(pytest/unittest/Playwright)
2. 构建 Prompt 模板
将风格规则结构化,引导 AI 模仿
使用few-shot示例 +style summary提示
3. 封装生成器
实现一键生成风格化测试代码
CLI 工具 / API 接口 / IDE 插件

三、样例场景:团队标准与原始生成对比

假设你的团队测试风格如下:

  • • 使用 pytest 框架;
  • • 所有测试函数以 test_ 开头;
  • • 断言采用 assert actual == expected 格式;
  • • 页面对象统一命名规则为 Page 后缀;
  • • 变量命名简洁、英文动词开头,如 click_login_button()。

而普通 AI(默认 Prompt)生成的代码可能是这样的👇:

def login_test():
page.click('#login')
assert "Welcome" in page.text_content('#msg')

经过“风格提示强化”的 Prompt 模板,DeepSeek 输出的代码会变成:

import pytest
from pages.login_page import LoginPage

@pytest.mark.ui
def test_user_can_login_successfully(page):
"""验证用户登录功能是否正常"""
login = LoginPage(page)
login.open()
login.login("standard_user", "secret_sauce")
assert login.is_logged_in(), "登录后应跳转到主页面"

可以看到,经过 风格引导后:

  • • ✅ 命名更清晰;
  • • ✅ 注释规范化;
  • • ✅ 断言更具语义;
  • • ✅ 更贴近团队的测试风格。

四、Prompt 模板设计:从模仿到风格固化

模板结构

下面是一个适用于 DeepSeek 的风格化 Prompt 模板:

你现在是一个资深自动化测试工程师,擅长 Playwright + Pytest。
请根据下面的上下文和风格要求,生成符合我们团队规范的测试代码。

【上下文】
{{ test_description }}
{{ page_structure }}
{{ element_actions }}

【风格规范】
- 使用 pytest
- 每个测试函数以 test_ 开头
- 每个测试函数都要有中文 docstring,简短描述测试目标
- 页面对象类以 Page 结尾
- 断言使用 assert 表达式
- 变量命名应简洁、有意义

【输出格式】
```python
# 完整可执行代码

这种 Prompt 模板属于“Prompt Schema”,可以反复复用,只需要替换测试目标部分。


五、实践:构建风格化测试生成器

示例脚本:stylegen.py

importjson
fromdeepseekimportDeepSeekClient

client = DeepSeekClient(api_key="YOUR_API_KEY")

defgenerate_test_with_style(description, style_rules):
prompt =f"""
你是一名测试专家。请根据以下说明生成测试代码。

【测试说明】
{description}

【风格规则】
{style_rules}

【输出要求】
生成可运行的 pytest + playwright 测试代码,包含中文注释和断言。
"""
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role":"user","content": prompt}],
)
returnresponse.choices[0].message.content

if__name__ =="__main__":
desc ="验证用户可以正常登录 saucedemo 网站,并成功看到产品列表"
rules ="""
- pytest 风格
- 页面对象模式(POM)
- 中文注释
- assert 断言风格
"""
print(generate_test_with_style(desc, rules))

运行后,DeepSeek 会自动输出风格一致的 Python 测试文件。

六、让 AI 真正“学会你”:微调与示例积累

如果希望 DeepSeek 更贴近你团队风格,可以:

  1. 1. 积累 few-shot 示例
  • • 提供 3~5 个团队内部优秀测试样例;
  • • 让 AI 模仿这些结构和命名风格。
  1. 2. 构建 style.json
  • • 将团队的约定(函数前缀、断言规则、变量风格)结构化保存;
  • • 在生成时动态注入 Prompt。
{
"framework": "pytest",
"naming_convention": {
"test_func_prefix": "test_",
"page_class_suffix": "age"
},
"assert_style": "assert expr, message",
"docstring_language": "zh-CN"
}
  1. 3. 持续反馈修正
  • • 每次生成后人工复核;
  • • 将修正样例再次作为输入样本。

七、扩展方向

场景
可扩展点
团队统一规范
将 style.json 转换为 Prompt 模板仓库
自动生成报告
AI 在生成代码同时附带“风格一致性得分”
教学场景
结合 Prompt 学习测试设计模式(POM、AAA)
开源项目
提供 “测试风格插件” 实现不同团队风格迁移

八、结语:Prompt 工程是 AI 测试的灵魂

Prompt 不是一次性技巧,而是测试知识的编码方式。
当你的团队积累了自己的 Prompt 模板库,就相当于拥有了一套 AI 可学习的“测试文化”。

未来,你甚至可以让 DeepSeek:

  • • 按你的风格评审测试代码;
  • • 输出符合你规范的 bug 报告;
  • • 生成项目定制的“测试策略说明书”。

这,才是真正意义上的 AI 测试团队风格化演进。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ