当前位置: 首页 > 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.gsyq.cn/news/73777.html

相关文章:

  • 对每个子区域的采样点进行池化操作,池化操作是什么
  • RoI Align / RoI Pool 里的采样点
  • # Residuality Theory批判性分析:架构应该被训练而非设计
  • UV Python包管理器:解释器与虚拟环境工程实践指南【from deepseek】
  • uv —— Rust编写的极速Python包管理工具与镜像源配置指南
  • 2025年12月十大猎头,深圳猎头,杭州猎头盘点:专业能力与行业资源双优之选
  • 2025年12月武汉猎头,北京猎头,广州猎头最新榜:综合实力与售后保障深度测评
  • 构建设计模式字典
  • 信息处理检查清单 —— FOLO信息处理工作流构建
  • [Python/依赖管理] Python 包与环境管理工具: UV
  • # 创业公司技术开发失败案例:从技术选型到公司倒闭的血泪教训
  • # 程序员副业陷阱深度解析:万字泣血总结与回归主业之路
  • 利用desmos动态展示最大似然概率
  • # RAG讣告批判性阅读报告:Agent Search是革命还是过度乐观?
  • # ⏳ 大厂等死现象深度解析:职场轮回与生存策略
  • LlamaIndex API Example - 2
  • 软件工程学习日志2025.12.5
  • CMake初探篇一
  • 《Llamaindex大模型RAG开发实践》笔记
  • # AWS全球宕机:DNS故障引发互联网级连锁反应
  • # 智能编辑器与传统IDE混合使用实践指南
  • # 35岁外包被裁后的一键复仇:Schultz事件背后的科技行业内部威胁新趋势
  • # 【测试场景2】2025年10月AI行业动态深度报告:技术突破、市场动向与产业洞察
  • AI规则管理实践经验:规则过多与AI注意力问题
  • 人机共创精简价值Prompt
  • 可复用Prompt识别与生成专家Prompt
  • # 思维链提示论文解读:开启LLM推理能力的钥匙(Google 2022)
  • VS2022启用调试外部NuGet源码
  • alpine设置开机自启动服务
  • Scalar可视化OpenAPI文档中心