功能用例介绍
功能用例是软件的"质量说明书" - 它明确描述系统该如何工作以及如何验证它工作正确。
AngusTester让用例管理从文档堆变成活指南,帮助团队提升50%测试效率,减少70%需求误解!
什么是功能用例?质量的蓝图
功能用例是描述软件功能如何工作的具体操作指南,包含:
通俗理解:
- 像家电的使用说明书
- 像游戏的闯关攻略
- 像实验的操作流程
核心要素:
六大核心价值:从需求到交付的保障
1. 明确功能规范 - 消除理解偏差
用户故事 → 功能用例
2. 高效测试执行 - 标准化操作
测试检查表:
markdown
✅ 输入正确用户名
✅ 输入正确密码
✅ 点击登录按钮
✅ 验证跳转主页
✅ 验证登录信息显示3. 版本控制 - 追溯变更历史
用例变更追踪:
4. 精准责任到人 - 明确质量责任
角色分配矩阵:
| 用例要素 | 负责人 | 协作人 |
|---|---|---|
| 需求定义 | 产品经理 | 开发+测试 |
| 用例编写 | 测试人员 | 开发+产品 |
| 用例执行 | 测试人员 | - |
| 缺陷修复 | 开发人员 | 测试验证 |
5. 智能风险评估 - 优化测试覆盖
风险用例标识系统:
6. 知识沉淀传承 - 新人快速上手
用例复用中心:
markdown
[支付功能用例库]
├── 微信支付.ATC
├── 支付宝支付.ATC
├── 银行卡支付.ATC
└── 苹果支付.ATCAngusTester用例管理:三步创建高效用例
步骤1:智能用例设计
设计要点:
- 📌 使用主动语态:"系统应显示..."
- 📌 步骤可执行:"点击而非选择"
- 📌 结果可验证:"显示绿色对勾图标"
步骤2:多维用例管理
四视图协同工作:
步骤3:自动化执行验证
执行流水线:
功能用例生命周期管理
1. 需求孕育阶段
2. 开发验证阶段
开发参考指南:
markdown
## 用户注册功能用例
**前置条件**:打开注册页面
**操作步骤**:
1. 输入有效邮箱
2. 输入符合规则密码
3. 勾选用户协议
4. 点击注册按钮
**预期结果**:
- 显示验证邮件已发送
- 用户收到激活邮件3. 测试执行阶段
执行测试用例:
4. 交付维护阶段
用例优化机制:
团队用例协作平台
实时协作功能
权限管理系统
| 角色 | 用例权限 | 典型操作 |
|---|---|---|
| 测试人员 | 创建/编辑/执行 | 编写用例,执行测试 |
| 开发人员 | 查看/评论 | 澄清需求,确认缺陷 |
| 产品经理 | 审批/基线 | 确认业务准确性 |
| 外部协作者 | 受限查看 | 提供反馈 |
智能分析中心
用例质量雷达图:
| 质量维度 | 当前用例得分 | 行业标准 | 视觉表示 | 差距分析 |
|---|---|---|---|---|
| 可执行性 | 0.8 | 0.7 | ████████████░░ (8/10) | 优于行业标准+14% |
| 可验证性 | 0.9 | 0.7 | ████████████▓░ (9/10) | 优于行业标准+29% |
| 完整性 | 0.7 | 0.7 | █████████░░░░ (7/10) | 达到行业标准 |
| 可维护性 | 0.6 | 0.7 | ██████░░░░░░ (6/10) | 低于行业标准-14% |
| 可读性 | 0.8 | 0.7 | ████████████░░ (8/10) | 优于行业标准+14% |
评估结论:
- ✅ 可执行性和可验证性表现优异
- ⚠️ 可维护性需要重点改进
- 🔄 完整性和可读性符合标准
用例字段信息
| 参数 | 字段名 | 类型 | 必填 | 长度限制 | 说明 |
|---|---|---|---|---|---|
| ID | id | bigint | 条件 | / | 用例唯一标识符; 修改时必须 |
| 用例名称 | name | string | 是 | ≤400 | 用例功能描述 |
| 计划ID | planId | long | 是 | / | 关联测试计划唯一标识 |
| 模块ID | moduleId | long | 否 | / | 所属功能模块ID |
| 软件版本 | softwareVersion | string | 否 | ≤40 | 目标软件版本 |
| 优先级 | priority | enum | 否 | / | 查看下面 优先级 |
| 截止日期 | deadlineDate | datetime | 是 | / | 用例执行截止时间 |
| 预估工作量 | evalWorkload | bigdecimal | 否 | / | 预估执行工作量 |
| 前置条件 | precondition | string | 否 | ≤2000 | 执行前置条件 |
| 步骤视图 | stepView | enum | 否 | / | 查看下面 步骤视图 |
| 测试步骤 | steps | list | 否 | / | 测试步骤列表(最大100步) |
| 描述 | description | string | 否 | ≤2000 | 用例详细描述 |
| 开发人员ID | developerId | long | 是 | / | 关联开发人员唯一标识 |
| 测试人员ID | testerId | long | 是 | / | 关联测试人员唯一标识 |
| 标签集 | tagIds | set | 否 | / | 关联标签ID集合 |
| 附件列表 | attachments | list | 否 | / | 用例相关附件 |
| 关联任务集 | refTaskIds | set | 否 | / | 关联任务ID集合 |
| 关联用例集 | refCaseIds | set | 否 | / | 关联用例ID集合 |
| 用例编号 | code | string | 只读 | / | 用例唯一编号(系统生成) |
| 版本号 | version | int | 只读 | / | 用例版本号 |
| 项目ID | projectId | long | 只读 | / | 所属项目ID |
| 计划名称 | planName | string | 只读 | / | 关联计划名称 |
| 计划授权状态 | planAuth | boolean | 只读 | / | 计划是否启用权限控制 |
| 模块名称 | moduleName | string | 只读 | / | 所属模块名称 |
| 是否逾期 | overdue | boolean | 只读 | / | 执行是否逾期 |
| 工作量评估方法 | evalWorkloadMethod | enum | 只读 | / | 查看下面 工作量评估方法 |
| 实际工作量 | actualWorkload | bigdecimal | 只读 | / | 实际消耗工作量 |
| 评审状态 | review | boolean | 只读 | / | 是否经过评审 |
| 评审人ID | reviewerId | long | 只读 | / | 评审人ID |
| 评审人姓名 | reviewerName | string | 只读 | / | 评审人姓名 |
| 评审时间 | reviewDate | datetime | 只读 | / | 评审时间 |
| 评审状态 | reviewStatus | enum | 只读 | / | 查看下面 评审状态 |
| 评审备注 | reviewRemark | string | 只读 | / | 评审意见备注 |
| 评审次数 | reviewNum | int | 只读 | / | 评审总次数 |
| 评审失败次数 | reviewFailNum | int | 只读 | / | 评审未通过次数 |
| 测试人员姓名 | testerName | string | 只读 | / | 测试人员姓名 |
| 开发人员姓名 | developerName | string | 只读 | / | 开发人员姓名 |
| 是否未计划 | unplanned | boolean | 只读 | / | 是否未纳入计划 |
| 测试次数 | testNum | int | 只读 | / | 执行测试总次数 |
| 测试失败次数 | testFailNum | int | 只读 | / | 测试失败次数 |
| 测试结果 | testResult | enum | 只读 | / | 查看下面 测试结果 |
| 测试备注 | testRemark | string | 只读 | / | 测试结果备注 |
| 结果处理时间 | testResultHandleDate | datetime | 只读 | / | 测试结果处理时间 |
| 标签信息 | tags | list | 只读 | / | 标签详细信息列表 |
| 关联任务信息 | refTaskInfos | list | 只读 | / | 关联任务详细信息 |
| 关联用例信息 | refCaseInfos | list | 只读 | / | 关联用例详细信息 |
| 全版本用例 | allVersionCaseVos | map | 只读 | / | 所有历史版本用例信息 |
| 进度信息 | progress | object | 只读 | / | 用例执行进度 |
| 收藏状态 | favourite | boolean | 只读 | / | 是否收藏 |
| 关注状态 | follow | boolean | 只读 | / | 是否关注 |
| 评论数量 | commentNum | int | 只读 | / | 评论数量 |
| 活动数量 | activityNum | int | 只读 | / | 活动记录数量 |
| 租户ID | tenantId | long | 只读 | / | 所属租户ID |
| 创建人ID | createdBy | long | 只读 | / | 用例创建人ID |
| 创建人姓名 | createdByName | string | 只读 | / | 创建人姓名 |
| 创建人头像 | avatar | string | 只读 | / | 创建人头像地址 |
| 创建时间 | createdDate | datetime | 只读 | / | 用例创建时间 |
| 最后修改人ID | lastModifiedBy | long | 只读 | / | 最后修改人ID |
| 最后修改人姓名 | lastModifiedByName | string | 只读 | / | 最后修改人姓名 |
| 最后修改时间 | lastModifiedDate | datetime | 只读 | / | 最后修改时间 |
测试步骤(steps)
数据结构:
json
[
{
"step": "输入用户名和密码",
"expectedResult": "登录成功"
},
{
"step": "点击支付按钮",
"expectedResult": "跳转支付页面"
}
]步骤视图(stepView)
| 模式 | 显示方式 |
|---|---|
TABLE | 表格视图 - 表格形式展示步骤 |
TEXT | 文本视图 - 文本形式展示步骤 |
优先级(priority)
| 枚举值 | 说明 |
|---|---|
HIGHEST | 最高 - 任务极为紧急,必须立即处理,优先级最高 |
HIGH | 高 - 任务重要性高,需要优先处理,以确保项目进度或质量 |
MEDIUM | 中 - 任务重要性中等,按计划处理 |
LOW | 低 - 任务重要性较低,处理顺序较后 |
LOWEST | 最低 - 任务重要性最低,可以在有空余时间时处理 |
工作量评估方法(evalWorkloadMethod)
| 枚举值 | 说明 |
|---|---|
WORKING_HOURS | 工时评估 - 实际工作时间的估算,以小时为单位 |
STORY_POINT | 故事点评估 - 一种基于任务复杂度的评估方法,适合敏捷开发 |
评审状态(reviewStatus)
| 枚举值 | 说明 |
|---|---|
PENDING | 待评审 - 测试用例尚未被评审 |
PASSED | 评审通过 - 测试用例已通过评审 |
FAILED | 评审未通过 - 测试用例未通过评审,需要修改 |
测试结果(testResult)
| 枚举值 | 说明 |
|---|---|
PENDING | 待测试 - 测试尚未执行 |
PASSED | 测试通过 - 测试成功,符合预期 |
NOT_PASSED | 测试未通过 - 测试失败,未满足预期结果 |
BLOCKED | 阻塞中 - 测试因某些原因无法进行 |
CANCELED | 已取消 - 测试被主动取消 |