当前位置: 首页 > news >正文

2、用例设计方法

2.1 边界值分析法

2.1.1 核心定义

针对 输入 / 输出的 “边界条件” 设计用例,因为软件在边界处(比如数值上限 / 下限、长度极值)最容易出现逻辑错误。

2.1.2 适用场景

  • 有明确范围的输入(如 “年龄 1-100 岁”“密码长度 6-12 位”)
  • 数值型、长度型、数量型的参数

2.1.3 实施步骤

  1. 确定被测参数的有效边界(如 “输入范围 A-B”);
  2. 选取边界值及 “边界附近值”:通常取A-1、A、A+1、B-1、B、B+1
  3. 针对这些值设计用例(覆盖有效 / 无效边界)。

2.1.4 实战示例(以 “手机号输入框(11 位数字)” 为例)

用例编号输入内容预期结果
1 10 位数字(如 1380013800) 提示 “手机号需 11 位”
2 11 位数字(如 13800138000) 输入成功
3 12 位数字(如 138001380000) 提示 “手机号需 11 位”

2.2 判定表法

2.2.1 核心定义

将多条件组合与对应结果整理成表格(判定表),覆盖所有条件的组合情况,适用于复杂逻辑场景。

2.2.2 适用场景

  • 多条件组合决定结果的功能(如 “登录(账号 + 密码)”“支付(金额 + 余额 + 支付方式)”)
  • 规则类、逻辑类功能

2.2.3 实施步骤

  1. 列出所有条件(如 “账号正确?”“密码正确?”);
  2. 列出所有结果(如 “登录成功”“账号错误”“密码错误”);
  3. 组合所有条件的 “真 / 假” 情况,生成判定表;
  4. 简化重复 / 矛盾的组合,得到最终用例。

4. 实战示例(以 “登录功能” 为例)

条件 1:账号正确?条件 2:密码正确?结果
登录成功
提示 “密码错误”
提示 “账号不存在”
提示 “账号不存在”

2.3 场景法

2.3.1 核心定义

模拟用户实际操作的完整流程(主流程、备选流程、异常流程),覆盖真实使用场景的用例设计方法。

2.3.2 适用场景

  • 流程类功能(如 “电商下单流程”“请假审批流程”)
  • 需模拟用户操作路径的功能

2.3.3 实施步骤

  1. 梳理主流程(最常用的正常操作路径,如 “选商品→加购→结算→支付成功”);
  2. 梳理备选流程(次要但合理的路径,如 “选商品→加购→取消加购”);
  3. 梳理异常流程(出错 / 意外场景,如 “选商品→结算→支付失败→重试支付”);
  4. 针对每个流程设计用例,覆盖流程中的关键节点。

2.3.4 实战示例(以 “电商下单流程” 为例)

流程类型用例描述预期结果
主流程 选商品→加购→结算→支付成功 订单创建成功,显示 “支付完成”
备选流程 选商品→加购→取消加购 购物车中无该商品
异常流程 选商品→结算→支付时断网 提示 “网络异常”,可重新支付

2.4 错误推测法

2.4.1 核心定义

基于测试经验、历史缺陷、用户习惯,推测可能出错的场景,补充用例(无固定流程,靠经验)。

2.4.2 适用场景

  • 补充其他方法覆盖不到的 “冷门 / 异常场景”
  • 迭代类项目(基于历史 bug 推测新问题)

2.4.3 实施思路

  • 想 “用户会怎么‘折腾’功能”:比如输入特殊字符、重复操作、颠倒操作顺序;
  • 参考同类功能的历史缺陷:比如 “搜索框输入空格”“表单提交后重复点击按钮”。

2.4.4 实战示例(以 “搜索框” 为例)

用例描述预期结果
输入空格 / 特殊字符(如 “”“@#¥”) 提示 “请输入有效内容”
连续点击 “搜索” 按钮 10 次 仅触发 1 次搜索(防重复)
搜索结果页直接刷新页面 保持搜索结果不变
http://www.jsqmd.com/news/63226/

相关文章:

  • 对每个子区域的采样点进行池化操作,池化操作是什么
  • RoI Align / RoI Pool 里的采样点
  • # Linus Torvalds vs. 模糊抽象:代码命名清晰性与认知负荷的工程思维
  • 深度学习、机器学习与强化学习的关系:通俗解析(从基础到细分)
  • # Residuality Theory批判性分析:架构应该被训练而非设计
  • # Python 3.14去GIL革命:性能飞跃25%与Python之父的冷静警告
  • # MVP架构选型指南:停止过度设计,从简单开始
  • UV Python包管理器:解释器与虚拟环境工程实践指南【from deepseek】
  • C++学习备忘:深度解构 C++ 智能指针
  • # 软件危机与复杂性:工程思维的诞生背景
  • 线性回归、多层感知机(MLP)与CNN的区别与联系:通俗解析(MindSpore视角)
  • uv —— Rust编写的极速Python包管理工具与镜像源配置指南
  • 2025年12月武汉猎头,北京猎头,广州猎头最新榜:综合实力与售后保障深度测评
  • 2025年12月十大猎头,深圳猎头,杭州猎头盘点:专业能力与行业资源双优之选
  • 信息处理检查清单 —— FOLO信息处理工作流构建
  • 构建设计模式字典
  • # Python开发事实规范:从虚拟环境到工程实践的标准清单
  • [Python/依赖管理] Python 包与环境管理工具: UV
  • # Assemble 知识库导航
  • # 创业公司技术开发失败案例:从技术选型到公司倒闭的血泪教训
  • # 结构化拖延批判性分析:John Perry案例
  • # 程序员副业陷阱深度解析:万字泣血总结与回归主业之路
  • 利用desmos动态展示最大似然概率
  • # RAG讣告批判性阅读报告:Agent Search是革命还是过度乐观?
  • # ⏳ 大厂等死现象深度解析:职场轮回与生存策略
  • LlamaIndex API Example - 2
  • # Nothing Beats Kindness:善意是连接同事间距离的最快桥梁
  • 主流AI编程工具横向对比与选型指南【From DeepSeek-V3】
  • 主流AI编程工具横向对比与选型指南【From DeepSeek-V3】
  • 加州第13号法案 - 房产税改革的历史镜鉴