123 lines
8.8 KiB
Markdown
123 lines
8.8 KiB
Markdown
# “资深软件测试工程师”智能体用户使用手册
|
||
|
||
## Profile
|
||
|
||
* **author**: Wantsong
|
||
* **version**: V1.0
|
||
* **date**: 2025-05-30
|
||
|
||
欢迎使用“资深软件测试工程师”智能体!本智能体旨在协助您高效地完成软件测试相关的核心任务,特别是测试用例的设计与评估。为了充分发挥其潜力,请仔细阅读以下使用指南。
|
||
|
||
## 1. 智能体概述
|
||
|
||
* **我是谁?** 一位拥有多年Web应用(尤其管理类软件)测试经验,并具备能源行业业务背景的资深软件测试工程师。
|
||
* **我的目标?** 以提升软件质量、保障系统稳定为首要目标,辅助您进行全面、准确、高效的测试工作。
|
||
* **我能做什么?**
|
||
* 辅助生成**功能测试用例**。
|
||
* 辅助生成**接口测试用例**。
|
||
* 辅助生成**UI测试点/测试用例**。
|
||
* **检查现有测试用例的完整性** (对照需求/设计文档)。
|
||
* **我如何工作?** 我严格依赖您在**当前会话中提供的信息和文档**进行分析和设计。我不会凭空臆断或使用超出您提供范围的知识(通用测试方法论除外)。
|
||
|
||
## 2. 核心交互原则与最佳实践
|
||
|
||
与我高效协作的关键在于提供清晰、结构化的输入:
|
||
|
||
1. **明确您的任务意图:**
|
||
* 在对话开始时,请清晰说明您希望我做什么。例如:
|
||
* “请基于[文档A]为[功能X]生成功能测试用例。”
|
||
* “这是[API文档B],请帮我设计接口测试用例。”
|
||
* “请根据这份[UI设计稿C]和相关需求,列出主要的UI测试点。”
|
||
* “我有这份[用例文档D]和对应的[需求文档E],请帮我检查用例是否完整覆盖了需求。”
|
||
* 如果您的意图不明确,我会主动提问以澄清。
|
||
|
||
2. **提供结构化和相关的输入材料:**
|
||
* **质量胜于数量:** 我依赖您提供的具体信息。确保文档与当前任务紧密相关。
|
||
* **分门别类:** 如果可能,将不同类型的信息分开提供或清晰标注。
|
||
* **一次聚焦一个核心任务/模块:** 对于复杂的系统,建议将测试任务拆分为更小的、可管理的单元(例如,按功能模块、主要用户故事或API集合)。每个单元可以作为一个独立的会话任务。
|
||
* **上下文的重要性:** 我主要基于当前会话的上下文工作。若新任务与之前讨论的内容紧密相关,请明确指出。
|
||
|
||
3. **理解我的提问:**
|
||
* 当我提问时(例如,关于需求细节、文档中的矛盾点),这通常意味着我需要更多信息才能准确完成任务。您的清晰回答对我至关重要。
|
||
|
||
4. **提供具体有效的反馈:**
|
||
* 如果对我生成的测试用例或分析结果不完全满意,请提供具体的反馈。例如:
|
||
* “这个用例的步骤3不够清晰,能否详细描述一下?”
|
||
* “预期结果中似乎遗漏了对[某某状态]的校验。”
|
||
* “我认为还需要考虑[某种异常场景],请补充相关用例。”
|
||
* 我会根据您的反馈进行修改和优化。
|
||
|
||
## 3. 如何准备输入材料
|
||
|
||
我能处理多种类型的输入信息。以下是建议的准备方式:
|
||
|
||
* **通用基础材料 (通常在任务开始时提供):**
|
||
* **系统/模块/功能概述:** 简要描述被测对象的基本功能、目标用户、核心业务流程。这将帮助我理解上下文。
|
||
* **相关的数据库设计 (如适用):**
|
||
* 提供与当前测试任务**直接相关**的SQL建表语句。
|
||
* 如果业务逻辑依赖特定的初始数据状态,请提供相关的SQL初始化脚本。
|
||
* (对于大型数据库,请您摘录与当前任务最相关的部分。)
|
||
|
||
* **针对功能测试用例生成:**
|
||
* **核心输入:** 需求规格说明书、用户故事(含验收标准)、业务流程图、详细的功能描述文档。
|
||
* **关键信息点:** 明确的业务规则、输入项及其校验规则、输出项及其格式、不同用户角色的权限差异、状态转换图(如果复杂)。
|
||
|
||
* **针对接口测试用例生成:**
|
||
* **核心输入:** 详细的API设计文档(如Swagger/OpenAPI规范文档,或包含清晰定义的自定义文档)。
|
||
* **关键信息点:**
|
||
* API端点URL、HTTP请求方法 (GET, POST, PUT, DELETE等)。
|
||
* 请求头参数(如Content-Type, Authorization)。
|
||
* 请求体参数(JSON/XML结构,各字段名称、数据类型、是否必填、校验规则、示例值)。
|
||
* 响应体结构(JSON/XML结构,各字段含义)。
|
||
* 所有预期的HTTP状态码及其含义(200, 201, 400, 401, 403, 404, 500等)。
|
||
* 认证和授权机制。
|
||
|
||
* **针对UI测试点/用例生成:**
|
||
* **核心输入:** UI设计稿(截图、线框图、原型链接)、相关的交互说明文档。
|
||
* **关键信息点:**
|
||
* **单个界面聚焦:** 建议一次交互主要围绕一个或一组紧密相关的UI界面进行。
|
||
* **元素描述:** 清晰指出界面上的主要元素(按钮、输入框、下拉菜单、链接、文本、图片等)。
|
||
* **交互逻辑:** 描述用户与这些元素交互时系统的预期行为(例如,“点击‘提交’按钮后,若表单校验通过,则跳转到A页面,否则提示错误信息X”)。
|
||
* **视觉要求:** (可选)如果对布局、颜色、字体等有特殊要求,请说明。
|
||
* **数据展示:** 界面上动态数据的来源和显示规则。
|
||
|
||
* **针对测试用例完整性检查:**
|
||
* **核心输入1:** 您现有的测试用例文档(请确保其结构清晰,至少包含用例标题/目的)。
|
||
* **核心输入2:** 与这些用例对应的原始需求文档、API设计文档或UI设计稿。
|
||
* **您的目标:** 明确您希望我重点检查哪些方面(例如,是否覆盖所有需求点?是否包含必要的异常场景?)。
|
||
|
||
## 4. 理解我的输出
|
||
|
||
* **输出格式:** 我将主要以 **Markdown 表格** 的形式输出测试用例。
|
||
* **测试用例字段:**
|
||
* `用例ID`: 我会留空,由您根据您的管理规范填写。
|
||
* `模块名称`: 基于您提供的概述或指定。
|
||
* `标题`: 简明扼要地概括用例的测试目的。
|
||
* `优先级`: 如果您未指定,我会根据预设规则初步设定(高/中/低),并将其视为建议。
|
||
* `前置条件`: 执行测试前系统必须满足的状态。
|
||
* `操作步骤`: 清晰、可执行的测试步骤。
|
||
* `预期结果`: 明确、可验证的期望系统行为或状态。
|
||
* `备注`: 相关的额外说明。
|
||
* **内部检查:** 我在生成输出前,会根据一系列内部检查项(如需求覆盖、描述清晰性、正反例包含等)进行初步自查。
|
||
* **建议性内容:** 如果我提供了超越纯测试用例的建议(例如,关于开发或产品设计的建议),这些内容会明确标注为“建议”,供您参考。
|
||
|
||
## 5. 与我高效协作的技巧
|
||
|
||
* **从小处着手,逐步迭代:** 对于复杂功能,可以先让我针对核心路径生成用例,然后根据您的反馈,逐步补充边界、异常等场景。
|
||
* **利用我的专业知识:** 我了解多种测试方法论(场景法、边界值、等价类等)并具备能源行业背景。您可以在提问或要求时,引导我应用这些知识(例如,“请针对这个输入框,使用边界值分析方法设计测试数据点”)。
|
||
* **明确指定“模块名称”:** 在开始一个新模块的测试用例设计时,请告诉我模块的准确名称,这有助于我更好地组织输出。
|
||
* **耐心与清晰:** 我是一个AI,尽管努力做到最好,但有时可能需要您更具体或换种方式表达您的需求。
|
||
|
||
## 6. 常见问题 (FAQ)
|
||
|
||
* **Q: 我给的指令很简单,为什么你要求我补充信息?**
|
||
* A: 为了生成高质量、有针对性的测试用例,我需要足够具体的上下文和细节。我的提问是为了确保我准确理解您的需求和被测对象的特性。
|
||
* **Q: 你生成的用例不完全符合我的要求,怎么办?**
|
||
* A: 请提供具体的反馈!告诉我哪些地方需要修改、补充或删除,我会尽力根据您的指示进行调整。
|
||
* **Q: 我有一个非常大的系统需要测试,能一次性都交给你吗?**
|
||
* A: 为了保证质量和效率,我强烈建议您将大型任务拆分为若干个较小的、聚焦于特定模块或功能的子任务,然后我们逐个处理。
|
||
* **Q: 你能帮我执行测试吗?**
|
||
* A: 我目前的核心能力是辅助您**设计和分析**测试用例/测试点,以及检查用例的完整性。我不能实际执行测试操作。
|
||
* **Q: 你会记住我上次会话说的所有内容吗?**
|
||
* A: 我主要依赖**当前会话**的上下文。虽然我会尽力维护连贯性,但对于全新的、独立的测试任务,最好重新提供必要的背景信息,或明确指出与之前哪个具体内容的关联。
|