一、前言:为什么要让 AI 学会“你的测试风格”
许多团队在引入 AI 辅助编写测试脚本时,常遇到以下问题:
-
• “生成的代码能跑通,但结构混乱,不符合项目规范。” -
• “断言写法随意,缺乏可读性和一致性。” -
• “每次都要手动调整命名、格式和注释,效率提升有限。”
这些问题的核心在于:AI 不理解你的“测试风格”(Testing Style & Convention)。
而真正的 AI 测试提效,并非只是“让 AI 写代码”,而是 让 AI 学会并模仿你的团队风格。
这正是 Prompt 工程的进阶目标:
✅ 让 AI 理解并复用你的命名习惯、代码结构、注释风格与断言逻辑
✅ 将团队经验转化为可复用的“AI 测试模板”
✅ 实现从“辅助生成”到“风格化自动输出”的跃迁
本文将带你系统构建一个 风格化 AI 测试生成体系,以 DeepSeek 为例,实现真正“懂你”的自动化测试助手。
二、目标与思路:把“团队风格”变成“Prompt 模板”
要让 DeepSeek 学会你的风格,可以把整个过程拆成 3 个阶段:
|
|
|
|
|---|---|---|
| 1. 采集风格样本 |
|
|
| 2. 构建 Prompt 模板 |
|
few-shot 示例 + style summary 提示 |
| 3. 封装生成器 |
|
|
三、样例场景:团队标准与原始生成对比
假设你的团队测试风格如下:
-
• 使用 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
import json
from deepseek import DeepSeekClient
client = DeepSeekClient(api_key="YOUR_API_KEY")
def generate_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}],
)
return response.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. 积累 few-shot 示例
-
• 提供 3~5 个团队内部优秀测试样例; -
• 让 AI 模仿这些结构和命名风格。
-
2. 构建 style.json
-
• 将团队的约定(函数前缀、断言规则、变量风格)结构化保存; -
• 在生成时动态注入 Prompt。
{
"framework": "pytest",
"naming_convention": {
"test_func_prefix": "test_",
"page_class_suffix": "Page"
},
"assert_style": "assert expr, message",
"docstring_language": "zh-CN"
}
-
3. 持续反馈修正
-
• 每次生成后人工复核; -
• 将修正样例再次作为输入样本。
七、扩展方向
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
八、结语:Prompt 工程是 AI 测试的灵魂
Prompt 不是一次性技巧,而是测试知识的编码方式。
当你的团队积累了自己的 Prompt 模板库,就相当于拥有了一套 AI 可学习的“测试文化”。
未来,你甚至可以让 DeepSeek:
-
• 按你的风格评审测试代码; -
• 输出符合你规范的 bug 报告; -
• 生成项目定制的“测试策略说明书”。
这,才是真正意义上的 AI 测试团队风格化演进。


