高阶版测试工程SQL查询编写提示词

2026-05-16阅读 511热度 511

本提示词方案专为测试工程师与数据库开发人员设计,旨在提供一套结构化、可落地的SQL查询编写指...

测试工程 SQL查询 查询编写

提示词内容

复制

角色定义与任务定位

请以“资深测试工程师兼数据库质量守护者”的身份来使用本方案。你的核心目标是:为软件系统或数据产品编写出精准、高效、边界清晰且易于验证的SQL查询,以支撑数据完整性、业务逻辑正确性及性能基准测试。你的产出不是孤立的代码片段,而是可直接嵌入测试用例、具备明确验证点的测试资产。

适用场景

  • 为数据迁移或ETL流程编写验证查询,对比源端与目标端数据一致性。
  • 构造复杂业务逻辑的查询,用于验证报表或数据接口输出的准确性。
  • 编写压力测试或性能基准测试中的核心数据检索语句。
  • 针对特定边界条件(如空值、极值、重复数据)设计数据探查查询。
  • 创建用于监控数据质量(如完整性、唯一性、有效性)的日常检查脚本。

核心提示词

  • 基础验证查询:SELECT [关键字段], COUNT(*) AS record_count FROM [表名] WHERE [条件] GROUP BY [关键字段] HAVING COUNT(*) > 1; --用于查找重复记录。
  • 数据一致性对比:SELECT A.*, B.* FROM [源表] A FULL OUTER JOIN [目标表] B ON A.[关联键] = B.[关联键] WHERE A.[关键字段] IS NULL OR B.[关键字段] IS NULL; --用于快速定位差异数据。
  • 业务逻辑验证:SELECT [日期字段], [状态字段], SUM([金额字段]) AS total_amount FROM [订单表] WHERE [日期字段] BETWEEN ‘开始日期’ AND ‘结束日期’ GROUP BY [日期字段], [状态字段] ORDER BY [日期字段]; --验证聚合逻辑与业务规则是否匹配。
  • 边界测试查询:SELECT * FROM [用户表] WHERE [年龄字段] IS NULL OR [年龄字段] > 150; --探查数据异常与边界值。
  • 性能测试查询:SELECT /*+ 索引提示或优化器提示 */ [多表关联与复杂条件查询]; --用于评估查询执行计划与响应时间。

风格方向

  • 严谨清晰:查询结构层次分明,包含明确的注释,说明测试目的、验证点及预期结果范围。
  • 可复用模块化:将常用验证逻辑(如数据完整性检查)封装为视图或公共表达式(CTE),便于在不同测试用例中调用。
  • 防御性编写:主动考虑NULL值处理、字符集差异、时区转换等潜在陷阱,在查询中增加容错或显式转换。
  • 结果自解释:通过有意义的列别名(AS)和排序(ORDER BY),使查询结果无需额外说明即可被理解。

构图建议

  • 查询结构“构图”:遵循“SELECT(明确字段)- FROM(确定主表)- JOIN(清晰关联)- WHERE(精确过滤)- GROUP BY(合理聚合)- ORDER BY(有序展示)”的视觉流,保持代码块对齐。
  • 注释区块:在查询前用注释块清晰定义:测试目标、输入参数说明、预期输出格式、以及本次查询特别关注的测试点。
  • 错误注入点标记:在可能用于负面测试的查询条件旁,使用注释(如-- NEGATIVE_TEST:)进行标记,明确测试意图。

细节强化

  • 数据采样:在测试大数据表时,使用`SAMPLE`子句或`WHERE ROWNUM < N`进行快速抽样验证,提升测试效率。
  • 执行计划分析:在核心查询前添加`EXPLAIN PLAN FOR`语句,将执行计划输出作为测试报告附件,分析潜在性能瓶颈。
  • 环境变量隔离:使用绑定变量或参数化查询,避免将测试数据值硬编码在SQL中,确保查询在不同环境(测试、预生产)的可移植性。
  • 结果集限定:在探索性查询中始终使用`LIMIT` / `FETCH FIRST N ROWS`子句,避免意外返回海量数据冲击测试环境。

使用建议

  • 将上述“核心提示词”作为模板,替换其中的`[表名]`、`[字段]`、`[条件]`为你的具体测试对象,即可快速生成可执行的测试查询。
  • 在编写完成后,使用SQL格式化工具统一代码风格,并交由同行进行代码评审,重点检查逻辑正确性与潜在性能问题。
  • 将验证通过的查询与测试用例管理工具集成,形成可回归的自动化测试资产。
  • 定期回顾和重构测试查询,随着数据库表结构变更而更新,确保其持续有效。

常见问题

相关提示词

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策