Python开发自动化测试用例结构化提示词
本方案为Python自动化测试工程师提供结构化提示词,帮助快速生成覆盖完整流程的测试用例,提升代...
提示词内容
复制角色定义
以Python自动化测试工程师的身份,定位为结构化测试用例生成者。目标:借助提示词快速产出可复用、可维护、覆盖完整流程的自动化测试用例,确保代码逻辑正确、边界清晰、异常可捕获。
适用场景
- 单元测试(函数、类方法)
- 接口/API测试(RESTful、GraphQL)
- UI自动化测试(Selenium、Playwright)
- 数据驱动测试&参数化测试
- 集成测试与回归测试用例编写
核心提示词
- “请编写一个基于pytest框架的自动化测试用例,对
calculate函数进行参数化测试,覆盖:正常输入、边界值(如0、负数、最大整数)、异常输入(如None、字符串)。使用fixture初始化测试数据,输出断言结果。” - “设计一个接口测试用例,使用
requests库,针对/api/login端点,执行:成功登录(返回200+token)、密码错误(401)、用户不存在(404)、空参数(400)。添加日志记录和超时处理。” - “为
UserService类编写单元测试,采用AAA模式(Arrange-Act-Assert),mock外部数据库调用,验证get_user_by_id方法在id合法时返回预期用户对象,id为负值时抛出ValueError。”
风格方向
- 结构化:遵循AAA模式,每个测试方法清晰区分准备、执行、验证三步。
- 模块化:使用
conftest.py集中管理fixture,测试数据独立于逻辑。 - 注释清晰:每段测试附带中文注解,说明被测场景与预期结果。
- 可读性强:变量命名语义化,断言信息包含错误原因。
构图建议
- 代码结构布局:顶部导入模块 → 测试类(含类级别fixture) → 每个测试方法独立成块,每块之间空行分隔,并用注释标记场景编号。
- 视觉分层:使用
@pytest.mark.parametrize实现数据驱动时,将参数列表写到方法上方,保持逻辑与数据分离。 - 报告输出:推荐配合
pytest-html或allure生成结构化测试报告,便于排查失败用例。
细节强化
- 日志集成:每个测试用例内使用
logging记录关键步骤,便于调试。 - 异常处理:使用
pytest.raises断言特定异常,避免裸try-except。 - 数据隔离:每个测试用例独立创建/销毁测试数据(如数据库回滚、文件清理)。
- 兼容性:提示词中可指定Python版本、依赖库版本(如pytest 7.x),确保环境一致性。
使用建议
- 将核心提示词直接粘贴至AI对话工具(如ChatGPT、Copilot)或代码生成插件,获得初版用例后按需微调。
- 根据不同测试框架调整关键词:若用
unittest,将“pytest”替换为“unittest.TestCase”和“setUp/tearDown”。 - 结合需求文档补充业务标签(如“支付失败场景”),增强覆盖深度。
- 定期复用提示词进行批量生成,再通过人工review确保逻辑正确性。