Skill: cassianran/test-case-design-senior (version 1.0.3)

# test_case_design_senior - 高级功能测试用例设计 ## 技能概述 具备高级功能测试工程师的测试用例设计能力，可输出结构标准、覆盖率高、逻辑清晰、考虑全面的高质量测试用例；**支持页面跳转、详情页跳转、关联页面跳转、路由参数、页面联动等复杂场景**；严格按照标准模板输出，包含测试用例编号、测试类型、功能模块、子功能、测试标题、用例级别、预置条件、测试步骤、预期结果、实际结果等完整字段，满足企业级测试规范与质量要求。 --- ## 核心能力 ### 1. 标准用例结构输出 - **严格遵循完整字段模板（严格按照输出模板输出测试用例）** - 测试用例编号：唯一标识，便于追踪和管理 - 测试类型：功能测试、性能测试、安全测试、兼容性测试等 - 功能模块：所属的业务模块或系统组件 - 子功能：具体的功能点或操作场景 - 测试标题：简明扼要地描述测试目的 - 用例级别：P0(关键)、P1(重要)、P2(一般)、P3(可选) - 预置条件：执行测试前必须满足的状态或数据准备 - 测试步骤：详细的操作步骤，确保可重复执行 - 预期结果：每个步骤对应的预期产出或状态变化 - 实际结果：测试执行后的真实结果记录 ### 2. 深度需求拆解与测试点提取 - **识别显性测试点**：从需求文档、UI 设计、流程图、接口文档、代码等软件开发相关文档中直接获取的功能规格 - **挖掘隐性测试点**：基于经验推导的用户行为模式、异常场景 - **确保全覆盖**：功能完整性验证、数据正确性验证、界面一致性验证 - **优先级划分**：根据业务重要性和风险程度确定测试重点 ### 3. 高覆盖率用例设计 - **主流程用例**：正常用户操作流程验证 - **分支流程用例**：各种条件分支路径覆盖 - **异常场景用例**：错误输入、异常操作、系统故障处理 - **边界值用例**：输入范围边界、数量边界、时间边界 - **异常参数用例**：特殊字符、超长字符串、非法格式 - **权限校验用例**：不同角色权限隔离和访问控制 - **数据一致性用例**：数据跨模块同步、事务一致性 - **并发场景用例**：多人同时操作、数据竞争检测 ### 4. 用例逻辑严谨清晰 - **步骤简洁可执行**：避免歧义描述，每个步骤可独立验证 - **预期结果明确无歧义**：使用客观可测量的表述，非主观判断 - **可读性强**：结构化呈现，便于快速理解测试意图 - **复用性强**：通用场景可抽象为测试套件，支持批量调用 ### 5. 高级用例设计方法应用 - **等价类划分法**：将输入域划分为有效/无效等价类，减少冗余用例 - **边界值分析法**：针对边界情况设计专项测试，发现常见错误 - **场景法**：基于用户业务流程构建端到端测试场景 - **判定表驱动法**：多条件组合场景，穷举所有可能性 - **错误推测法**：基于历史缺陷数据和开发经验预测潜在问题 - **风险驱动测试**：优先覆盖高风险区域和高频使用场景 ### 6. 复杂业务场景覆盖 - **跨模块集成测试**：多个系统/模块间的协作验证 - **上下游依赖测试**：数据源、外部接口、消息队列等依赖验证 - **接口联动测试**：REST API、GraphQL、WebSocket 等多协议接口协同 - **异常兜底测试**：服务降级、熔断、重试机制的有效性验证 - **逆向操作测试**：撤销、回滚、补偿操作的正确处理 ### 7. 用例规范化与可落地性 - **格式统一**：符合企业规范的表格或文档格式 - **字段完整**：必填信息不缺失，元数据齐全 - **可执行性强**：直接用于人工测试或自动化脚本生成 - **回归友好**：易于维护和更新，支持版本迭代 - **自动化对接**：步骤可映射为测试代码，预期结果可断言 - **质量评估支撑**：覆盖率指标可量化，缺陷密度可统计 ### 8. 页面跳转与路由测试 - **页面跳转测试**：按钮跳转、列表跳详情页、菜单跳转、外部链接跳转 - **详情页跳转测试**：从列表页点击进入详情页，校验数据展示完整性 - **关联页面跳转**：从当前页面跳转到业务关联页面（如订单→用户、商品→店铺） - **路由参数测试**：URL 参数传递、query 参数、path 参数、参数缺失/错误处理 - **跳转权限校验**：未登录跳转登录页、无权限跳转 403、越权访问拦截 - **跳转回退测试**：浏览器后退、返回按钮、面包屑导航、历史栈管理 - **异常跳转测试**：404 页面、空数据页面、错误参数跳转、循环跳转检测 ### 9. 跳转后页面校验 - **页面渲染校验**：页面元素完整、布局正确、无错位/缺失 - **数据加载校验**：详情数据与列表一致、数据格式正确、空状态处理 - **标题匹配校验**：页面标题与内容匹配、动态标题更新正确 - **参数传递校验**：路由参数正确传递到目标页、参数解析无误 - **页面状态校验**：加载状态、成功状态、错误状态、空状态显示正确 - **交互功能校验**：详情页内按钮、表单、Tab 切换等功能正常 ### 10. 跨页面联动逻辑 - **多页面业务关联**：分析页面间的业务流程关系，设计端到端测试 - **数据传递测试**：页面间数据传递、表单数据携带、状态共享 - **状态同步测试**：一个页面操作后，关联页面状态同步更新 - **缓存一致性**：页面返回后数据是否刷新、缓存策略验证 - **消息通知联动**：操作后触发通知，通知点击跳转正确页面 --- ## 输出模板 ### 测试用例 Excel/表格格式 | 测试用例编号 | 测试类型 | 功能模块 | 子功能 | 测试标题 | 用例级别 | 预置条件 | 测试步骤 | 预期结果 | 实际结果 | |------------|---------|---------|--------|---------|---------|---------|---------|---------|---------| | TC_XXX_001 | 功能测试 | 用户管理 | 登录 | 验证正确的用户名和密码可以成功登录 | P0 | 1. 用户已注册<br>2. 网络正常 | 1. 打开登录页面<br>2. 输入正确的用户名<br>3. 输入正确的密码<br>4. 点击登录按钮 | 1. 跳转至首页<br>2. 显示用户信息 | 待执行 | ### 测试用例编号规则 `TC_{模块缩写}_{功能序列号}_{场景后缀}` 示例： - `TC_USER_LOGIN_001_NORMAL` - 用户模块 - 登录功能 - 第 001 条 - 正常场景 - `TC_ORDER_DETAIL_002_JUMP` - 订单模块 - 详情页 - 第 002 条 - 跳转场景 - `TC_PRODUCT_LINK_003_CROSS` - 商品模块 - 关联页面 - 第 003 条 - 跨页面联动 ### 用例级别定义 | 级别 | 说明 | 适用场景 | |-----|------|---------| | P0 | 关键用例 | 核心业务流程、阻碍系统正常使用的问题、主流程跳转 | | P1 | 重要用例 | 主要功能、影响用户体验的问题、详情页跳转、权限校验 | | P2 | 一般用例 | 次要功能、不影响主体流程的问题、关联页面跳转 | | P3 | 可选用例 | 边缘场景、美化优化相关、异常参数跳转 | ### 测试类型分类 - **功能测试**：验证功能是否符合需求 - **性能测试**：响应时间、吞吐量、资源占用 - **安全测试**：身份认证、授权、数据加密、XSS/SQL 注入 - **兼容性测试**：浏览器、操作系统、设备分辨率 - **回归测试**：修改后验证原有功能未受损 - **接口测试**：API 契约、数据传输、错误处理 - **UI 测试**：界面布局、交互体验、文案准确性 - **路由测试**：页面跳转、路由参数、URL 规范、浏览器历史 - **联动测试**：跨页面数据传递、状态同步、业务关联 --- ## 使用方法 ### 触发场景 当用户提供以下类型的请求时，此技能自动激活： 1. **生成/编写测试用例**："帮我写一下用户登录功能的测试用例" 2. **完善用例**："这些测试用例不够全面，请补充异常场景" 3. **审查用例**："检查一下这些测试用例是否有遗漏" 4. **转换格式**："把 Word 里的需求转换成测试用例" 5. **补充覆盖**："这个支付功能还缺哪些测试场景" 6. **评审辅助**："我需要准备测试用例评审，生成一套完整的用例" 7. **页面跳转测试**："帮我设计列表跳详情页的测试用例" 8. **路由参数测试**："这个页面 URL 带参数，怎么测试" 9. **跨页面联动**："订单页和用户页有关联，怎么设计用例" ### 输入要素 为生成高质量的测试用例，尽量提供以下信息： 1. **需求描述**：功能需求的详细说明 2. **业务背景**：该功能在整体产品中的定位 3. **约束条件**：技术限制、合规要求等 4. **目标用户**：主要使用人群及其特征 5. **关联系统**：涉及的其他模块或第三方服务 6. **页面路由信息**：URL 结构、路由参数、跳转逻辑 7. **页面关联关系**：页面间的业务关联、数据流向 ### 输出内容 1. **完整测试用例集**：涵盖所有识别出的测试点 2. **测试优先级排序**：按 P0-P3 分级展示 3. **覆盖率说明**：已覆盖的测试维度列表 4. **缺失风险提示**：可能存在的测试盲区建议 5. **页面跳转专项说明**：跳转路径、参数校验、权限检查 6. **联动场景说明**：跨页面数据流、状态同步点 --- ## 最佳实践 ### 用例设计原则 ✅ **DO - 推荐做法** - 每个用例只验证一个明确的目标 - 使用清晰的数字序号标记步骤 - 预期结果使用"应该/必须/会"等确定性词汇 - 包含正向和反向两种情况的验证 - 标注敏感信息的脱敏处理方式 - 为复杂场景添加截图或伪代码说明 - 页面跳转用例明确标注跳转目标页面 - 路由参数用例覆盖参数缺失、错误、越界场景 - 联动用例标注数据传递路径和同步点 ❌ **DON'T - 避免做法** - 模糊的描述如"检查是否可以正常工作" - 一次性执行过多无关操作 - 忽略前置条件和环境配置 - 混合多个验证点在一个步骤中 - 使用主观判断代替客观测量 - 忽略异常处理流程 - 忽略跳转后的页面状态校验 - 忽略路由参数的安全性校验 - 忽略跨页面数据一致性问题 ### 用例评审要点 1. **完整性检查**：是否覆盖所有需求点和隐性场景 2. **独立性检查**：用例之间是否存在强依赖关系 3. **可执行性检查**：步骤是否清晰、工具是否可得 4. **可维护性检查**：命名规范、变更可追溯 5. **优先级合理性**：P0 用例是否真正关键 6. **跳转覆盖检查**：页面跳转路径是否全覆盖 7. **参数校验检查**：路由参数测试是否充分 8. **联动逻辑检查**：跨页面数据流是否清晰 ### 用例管理建议 - 建立用例库版本管理机制 - 定期清理过期或废弃的用例 - 根据缺陷反馈持续优化用例 - 结合自动化测试框架进行用例复用 - 保持用例与需求版本的关联性 - 为页面跳转用例维护路由映射表 - 为联动用例维护页面依赖关系图 --- ## 示例案例 ### 示例 1：电商下单功能测试用例 ```markdown ## 订单模块 - 商品下单 - P0 ### TC_ORDER_CREATE_001 正常下单流程 **测试类型**: 功能测试 **功能模块**: 订单管理 **子功能**: 商品下单 **用例级别**: P0 **预置条件**: 1. 用户已登录且账户余额充足 2. 商品库存大于 0 3. 收货地址已配置 **测试步骤**: 1. 浏览商品详情页 2. 选择规格型号（如有） 3. 点击"立即下单"按钮 4. 确认订单信息（商品、数量、价格、收货地址） 5. 选择支付方式 6. 点击"提交订单" 7. 完成支付 **预期结果**: 1. 进入订单确认页 2. 订单金额计算准确（含运费优惠） 3. 订单创建成功，返回订单号 4. 库存扣减正确 5. 收到订单 confirmation 通知 **实际结果**: 待执行 ``` ### 示例 2：用户注册功能异常场景 ```markdown ## 用户模块 - 注册 - P1 ### TC_USER_REGISTER_002 邮箱格式错误 **测试类型**: 功能测试 **功能模块**: 用户管理 **子功能**: 用户注册 **用例级别**: P1 **预置条件**: 访问注册页面 **测试步骤**: 1. 在邮箱输入框输入不完整格式的邮箱（如 abc@com） 2. 输入合法的密码和确认密码 3. 点击"注册"按钮 **预期结果**: 1. 邮箱字段显示红色错误提示 2. 提示内容明确告知格式要求 3. 无法继续提交表单 4. 控制台无报错日志 **实际结果**: 待执行 ``` ### 示例 3：列表跳详情页测试 ```markdown ## 商品模块 - 列表跳详情 - P0 ### TC_PRODUCT_LIST_001 正常跳转详情页 **测试类型**: 路由测试 **功能模块**: 商品管理 **子功能**: 列表跳详情 **用例级别**: P0 **预置条件**: 1. 用户已登录 2. 商品列表页有数据 **测试步骤**: 1. 打开商品列表页 2. 点击任意商品卡片/名称 3. 等待页面跳转完成 4. 校验详情页展示内容 **预期结果**: 1. 成功跳转到商品详情页 2. URL 包含正确的商品 ID（如 /product/12345） 3. 详情页展示的商品信息与列表一致 4. 商品图片、价格、库存等关键信息正确 5. 详情页功能按钮（购买、收藏等）可用 **实际结果**: 待执行 ``` ### 示例 4：路由参数测试 ```markdown ## 订单模块 - 详情页 - P1 ### TC_ORDER_DETAIL_002 路由参数缺失 **测试类型**: 路由测试 **功能模块**: 订单管理 **子功能**: 详情页路由 **用例级别**: P1 **预置条件**: 用户已登录 **测试步骤**: 1. 手动访问订单详情页 URL，但省略订单 ID 参数（如 /order/detail?id=） 2. 观察页面反应 **预期结果**: 1. 页面显示错误提示"订单 ID 不能为空" 2. 或自动跳转到订单列表页 3. 不出现白屏或系统错误 **实际结果**: 待执行 --- ### TC_ORDER_DETAIL_003 路由参数非法 **测试类型**: 安全测试 **功能模块**: 订单管理 **子功能**: 详情页路由 **用例级别**: P1 **预置条件**: 用户已登录 **测试步骤**: 1. 手动访问订单详情页 URL，传入非法订单 ID（如 /order/detail?id=abc） 2. 观察页面反应 **预期结果**: 1. 页面显示"订单不存在"或类似提示 2. 不展示任何订单详情信息 3. 不提供越权访问其他订单的入口 **实际结果**: 待执行 ``` ### 示例 5：跨页面联动测试 ```markdown ## 订单模块 - 用户关联 - P1 ### TC_ORDER_USER_001 订单页跳用户详情页 **测试类型**: 联动测试 **功能模块**: 订单管理 **子功能**: 关联页面跳转 **用例级别**: P1 **预置条件**: 1. 用户已登录 2. 存在已完成的订单 **测试步骤**: 1. 打开订单详情页 2. 点击买家信息区域的用户名称/头像 3. 等待页面跳转 4. 校验跳转目标页面 **预期结果**: 1. 成功跳转到用户详情/店铺页 2. 用户信息与订单中的买家信息一致 3. URL 包含正确的用户 ID 4. 用户页面功能正常（关注、发消息等） **实际结果**: 待执行 --- ## 订单模块 - 状态同步 - P1 ### TC_ORDER_USER_002 订单状态变更后列表同步 **测试类型**: 联动测试 **功能模块**: 订单管理 **子功能**: 状态同步 **用例级别**: P1 **预置条件**: 1. 用户已登录 2. 存在待发货订单 **测试步骤**: 1. 打开订单列表页，记录订单状态 2. 点击进入订单详情页 3. 在详情页执行发货操作 4. 返回列表页（浏览器后退或点击面包屑） 5. 检查订单列表中该订单状态 **预期结果**: 1. 列表页订单状态已更新为"已发货" 2. 或页面提示刷新后显示最新状态 3. 数据与详情页操作结果一致 **实际结果**: 待执行 ``` ### 示例 6：权限跳转测试 ```markdown ## 系统模块 - 权限控制 - P0 ### TC_SYS_AUTH_001 未登录访问详情页 **测试类型**: 安全测试 **功能模块**: 权限管理 **子功能**: 登录拦截 **用例级别**: P0 **预置条件**: 用户未登录 **测试步骤**: 1. 直接访问需要登录的详情页 URL（如 /order/detail?id=123） 2. 观察页面跳转 **预期结果**: 1. 自动跳转到登录页 2. 登录成功后能回到原访问页面（携带 redirect 参数） 3. 不泄露任何订单信息 **实际结果**: 待执行 --- ### TC_SYS_AUTH_002 越权访问他人订单 **测试类型**: 安全测试 **功能模块**: 权限管理 **子功能**: 越权访问 **用例级别**: P0 **预置条件**: 用户 A 已登录 **测试步骤**: 1. 获取用户 B 的订单 ID 2. 用户 A 访问用户 B 的订单详情页（/order/detail?id=用户 B 订单 ID） 3. 观察页面反应 **预期结果**: 1. 显示"无权访问"或"订单不存在" 2. 不展示任何用户 B 的订单信息 3. 记录安全日志 **实际结果**: 待执行 ``` ### 示例 7：浏览器回退测试 ```markdown ## 通用模块 - 浏览器历史 - P2 ### TC_BROWSER_BACK_001 详情页返回列表 **测试类型**: 路由测试 **功能模块**: 浏览器历史管理 **子功能**: 回退功能 **用例级别**: P2 **预置条件**: 1. 用户在商品列表页 2. 列表有分页或筛选条件 **测试步骤**: 1. 在列表页设置筛选条件（如价格区间、品牌） 2. 点击某个商品进入详情页 3. 使用浏览器后退按钮返回 4. 检查列表页状态 **预期结果**: 1. 返回列表页而非首页 2. 之前的筛选条件保持 3. 滚动位置保持或合理重置 4. 列表数据未丢失 **实际结果**: 待执行 ``` --- ## 质量保证标准 ### 用例评审通过标准 1. ✅ **覆盖率达标**: 核心功能 P0 用例覆盖率 100% 2. ✅ **逻辑自洽**: 无矛盾或冲突的步骤描述 3. ✅ **可执行性**: 可在 3 分钟内完成单条用例验证 4. ✅ **边界覆盖**: 输入边界、异常场景均有对应用例 5. ✅ **优先级合理**: P0 用例不超过总数 30% 6. ✅ **跳转覆盖**: 页面跳转场景全覆盖 7. ✅ **参数校验**: 路由参数测试完整 8. ✅ **联动完整**: 跨页面数据流测试清晰 ### 交付质量标准 - 用例总数不低于需求点的 3 倍（包含异常场景） - P0+P1 用例占比不低于 60% - 每条用例平均步骤数 3-8 步 - 无空洞描述，预期结果均可客观验证 - 符合企业测试管理规范格式要求 - 页面跳转用例包含跳转目标、参数、权限校验 - 联动用例包含数据传递路径和同步点说明 --- ## 技术支持 ### 常用测试方法速查 **等价类划分示例**: - 年龄输入框：有效等价类 [1,120]，无效等价类 <1, >120, 非数字 - 状态下拉：有效等价类 [启用，禁用，冻结]，无效等价类 其他任意值 - **路由参数**：有效等价类 [合法 ID 格式]，无效等价类 [空值、非数字、超长、特殊字符] **边界值分析示例**: - 文件上传大小限制 10MB：9MB, 10MB, 10.1MB - 文本框限制 200 字符：199 字，200 字，201 字 - **列表分页**：第 1 页、最后 1 页、超出最大页码 **判定表示例**: | 条件 | A(有优惠券) | B(满 100 元) | C(可用) | 结果 | |-----|-----------|----------|-------|-----| | 1 | Y | Y | Y | 可以使用 | | 2 | Y | Y | N | 不可用（已过期） | | 3 | Y | N | Y | 不可用（不满足门槛） | | 4 | N | Y/Y | Y/Y | 不适用 | ### 页面跳转测试检查清单 - [ ] 正常跳转：点击跳转目标正确 - [ ] 参数传递：URL 参数完整且正确 - [ ] 权限校验：未登录/无权限拦截正确 - [ ] 404 处理：不存在资源跳转 404 页 - [ ] 空状态：无数据时展示空状态页 - [ ] 浏览器回退：历史栈管理正确 - [ ] 返回按钮：页面内返回功能正常 - [ ] 面包屑导航：层级导航准确 - [ ] 外部跳转：新标签页打开外部链接 - [ ] 循环跳转：检测并阻止循环重定向 ### 跨页面联动测试检查清单 - [ ] 数据传递：页面间数据携带正确 - [ ] 状态同步：操作后关联页面状态更新 - [ ] 缓存策略：返回页面数据刷新策略合理 - [ ] 消息通知：通知点击跳转正确页面 - [ ] 业务闭环：跨页面业务流程完整 - [ ] 数据一致：多页面展示同一数据一致 - [ ] 操作反馈：一个页面操作，关联页面有反馈 --- ## 附录 ### 常见测试数据类型 | 数据类型 | 有效范围 | 典型边界 | 异常示例 | |---------|---------|---------|---------| | 整数 | -2147483648 到 2147483647 | -1, 0, 1, 最大值，最大值 +1 | 小数、字母 | | 浮点数 | 根据精度要求 | 0.0, 0.1, 最小正数 | 无穷大、NaN | | 字符串 | 1-200 字符 | 0 字符、200 字符、201 字符 | null、emoji、特殊符号 | | 日期 | 1970-01-01 到 2099-12-31 | 前一天、当天、后一天 | 未来年份、非法日期 | | 布尔值 | true/false | - | 1, 0, "true", "" | | 枚举 | predefined values | 首项、末项、中间项 | 不在定义范围内的值 | | **路由参数** | 符合 URL 规范 | 正常 ID、空值、边界值 | 特殊字符、SQL 注入、XSS | ### 参考资源 - ISTQB 测试术语标准 - ISO/IEC/IEEE 29119 软件测试标准 - Google Testing Blog - Microsoft Test Engineering Guidelines - Web 路由测试最佳实践 - 前端页面联动测试指南


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)