等价类、边界值、场景法、因果图实际应用案例
等价类、边界值、场景法、因果图 实际应用案例所有案例均基于移动端App/WEB高频业务场景登录、输入框、电商下单、按钮状态判断设计贴合实际测试工作同时标注方法核心要点、用例设计思路、与自动化/数据驱动的结合技巧可直接复用至你的测试用例设计中其中等价类边界值常组合使用因果图适合多条件逻辑判断场景法适合全业务链路覆盖四类方法可根据业务场景搭配落地。一、等价类划分法核心解决「重复测试数据」问题核心要点将测试数据/输入条件划分为有效等价类符合业务规则能正常执行功能和无效等价类违反业务规则需触发异常提示/处理每个等价类选1个代表性用例即可无需测试同类别所有数据减少重复测试无效等价类需细分场景空值、格式错误、类型错误、范围错误等确保异常场景无遗漏。适用场景输入框校验手机号、密码、账号、接口参数传参、商品数量/金额输入等需做数据合法性校验的场景。实际案例App「手机号登录-手机号输入框」业务规则仅支持11位纯数字中国大陆手机号步骤1划分等价类类别细分场景具体范围/示例有效等价类11位纯数字合法手机号13800138000、15912345678无效等价类空值无输入/空格无效等价类长度错误不足11位10位1380013800无效等价类长度错误超过11位12位138001380009无效等价类格式错误含非数字字母138abc13800符号138-0013-8000无效等价类格式错误全为0/特殊数字11个000000000000非手机号段12345678901步骤2设计测试用例直接落地用例ID输入值预期结果覆盖等价类PH00113800138000输入成功无异常提示有效等价类PH002空提示「请输入手机号」无效-空值PH0031380013800提示「请输入11位有效手机号」无效-长度不足PH004138001380009提示「请输入11位有效手机号」无效-长度超过PH005138abc13800提示「手机号仅支持纯数字」无效-含非数字PH00600000000000提示「请输入有效中国大陆手机号」无效-特殊数字自动化结合技巧将上述输入值预期结果外置到phone_data.yaml通过数据驱动批量执行无需重复编写代码复用你之前的PO数据驱动框架。二、边界值分析法等价类的「补充强化」聚焦「临界值」核心要点针对有数值/长度范围的输入条件重点测试边界点因为边界处最容易出现程序逻辑错误核心测试5个关键值最小值Min、最小值-1Min-1、中间值Mid、最大值Max、最大值1Max1仅适用于有明确范围的场景需与等价类划分法组合使用等价类覆盖整体边界值覆盖临界。适用场景带长度/数值限制的输入框密码、商品数量、分页查询每页条数、页码、金额输入最小支付金额等。实际案例App「密码设置-密码输入框」业务规则密码长度6-18位支持字母数字特殊字符步骤1确定边界值范围6≤长度≤18Min6、Min-15、Mid12、Max18、Max119步骤2设计测试用例结合等价类仅测边界值的合法性用例ID输入值密码长度预期结果覆盖边界点备注等价类PWD001Abc1236位5提示「密码长度不能少于6位」Min-1无效等价类PWD002Abc1236位6输入成功无异常提示Min有效等价类PWD003Abc12367890112位12输入成功无异常提示Mid有效等价类PWD004Abc1236789012345618位18输入成功无异常提示Max有效等价类PWD005Abc12367890123456719位19提示「密码长度不能超过18位」Max1无效等价类延伸案例电商App「商品购买-数量输入框」业务规则单次购买1-999件默认1件边界值Min1、Min-10、Mid500、Max999、Max11000输入数量预期结果覆盖边界点0提示「购买数量不能少于1」Min-11输入成功Min500输入成功Mid999输入成功Max1000提示「购买数量不能超过999」Max1三、场景法核心解决「业务流程覆盖」问题贴合用户实际操作核心要点按用户实际操作的业务流程设计用例覆盖基本流正常流程和备选流异常流程基本流功能从开始到结束的正常、无异常的完整业务链路备选流在基本流的某个节点触发异常场景需中断/分支处理的流程可单个或多个备选流组合每个场景是基本流1个/多个备选流的组合确保业务链路的全场景覆盖。适用场景电商下单/支付、登录/注册、订单退款/售后、请假审批等有完整业务链路的场景App/WEB核心业务必用。实际案例电商App「商品下单支付全链路」核心业务选商品→加购→结算→支付→下单成功步骤1定义基本流和备选流基本流F进入商品详情页→选择规格颜色/尺码→加入购物车→进入购物车结算→确认收货地址→选择支付方式→支付成功→生成订单下单成功备选流AA1商品无库存选规格时提示A2购物车商品被下架结算时提示A3无收货地址结算时提示需新增地址A4支付余额不足支付时提示可选择其他支付方式A5支付超时支付中超过10分钟订单自动取消A6取消支付支付页主动点击取消返回订单页。步骤2设计测试场景基本流备选流组合直接落地为用例场景ID场景组合测试用例描述预期结果S001仅基本流F按基本流完成全链路操作下单成功生成有效订单S002FA1选规格时商品无库存提示「该规格无库存」无法加购S003FA2加购后商品被下架点击结算提示「商品已下架」无法结算S004FA3结算时无收货地址提示「请新增并选择收货地址」跳转到地址新增页S005FA4支付时选择余额支付余额不足提示「余额不足」支持切换微信/支付宝支付S006FA5支付中等待10分钟未完成支付订单自动取消恢复商品库存S007FA6支付页主动点击「取消支付」返回到订单页订单状态为「待支付」S008FA4重新支付余额不足→切换微信支付→完成支付下单成功生成有效订单自动化结合技巧将每个场景的业务流程封装为PO类的专属方法如order_flow_normal()、order_flow_stock_none()用例中直接调用方法实现链路自动化覆盖异常场景可通过钩子函数模拟如模拟余额不足、库存为0。四、因果图/判定表法核心解决「多条件组合」问题避免条件遗漏核心要点因果图将输入条件因和输出结果果用图形表示梳理条件之间的关系与/或/非和条件与结果的对应关系判定表由因果图转化而来是多条件组合的标准化表格列出所有条件的真假组合以及对应的结果确保无遗漏核心解决**「多条件组合触发不同结果」**的问题避免手动设计用例时遗漏条件组合如按钮置灰/可点击、权限控制步骤梳理输入条件→梳理输出结果→画因果图→转化为判定表→设计测试用例。适用场景按钮状态判断置灰/可点击、权限控制多角色多操作、表单提交多字段校验、多条件筛选查询等需多条件组合判断的场景。实际案例1App「登录页-登录按钮状态判断」业务规则用户名和密码均非空时按钮可点击任一为空按钮置灰步骤1梳理输入条件因和输出结果果输入条件因C1用户名非空C2密码非空输出结果果E1登录按钮可点击E2登录按钮置灰。步骤2画因果图简化版核心标条件关系C1与C2 → E1C1/C2任一为假 → E2「与」关系两个条件都为真结果才为真。步骤3转化为判定表核心列出所有条件组合用例IDC1用户名非空C2密码非空组合关系输出结果按钮状态L001真√真√C1与C2E1可点击L002真√假×非与E2置灰L003假×真√非与E2置灰L004假×假×非与E2置灰步骤4设计测试用例直接按判定表落地每个组合对应1个用例确保无遗漏。实际案例2电商App「购物车-结算按钮状态判断」多条件进阶业务规则商品选中商品有库存结算按钮可点击任一不满足置灰判定表直接落地无需再画因果图用例IDC1商品选中C2商品有库存输出结果结算按钮C001真真可点击C002真假置灰提示无库存C003假真置灰提示请选择商品C004假假置灰自动化结合技巧将判定表中的条件组合预期结果转化为测试数据通过数据驱动批量执行按钮状态的校验可封装为BasePage的通用方法is_button_clickable(locator)用例中直接调用断言。五、四类方法「组合使用」核心技巧落地必看实际测试中单一方法无法覆盖所有场景需根据业务组合使用核心搭配方式输入框校验等价类划分 边界值分析等价类覆盖数据类型/格式边界值覆盖长度/数值临界核心业务链路场景法 等价类/边界值场景法覆盖全流程等价类/边界值覆盖流程中的输入框/数据校验节点多条件逻辑判断因果图/判定表 场景法因果图覆盖条件组合场景法覆盖组合后的业务流程App/WEB全功能覆盖场景法链路 等价类/边界值数据 因果图逻辑核心业务必用覆盖功能、数据、逻辑全维度。六、快速落地模板等价类边界值组合模板输入框通用业务规则有效等价类无效等价类空值/格式/类型边界值Min/Min-1/Mid/Max/Max1用例ID输入值预期结果场景法模板业务链路通用基本流备选流异常场景场景组合用例描述预期结果因果图/判定表模板多条件通用输入条件因输出结果果条件关系与/或/非用例ID条件1真/假条件2真/假预期结果