黑盒测试方法

软件测试的主要方法之一,黑盒测试

以下是软件黑盒测试中主要方法的详细展开,每种方法均包含核心原理、实施步骤、实例演示及适用场景说明。重点突出你要求的​​等价类划分法​​的完整解析,并结合其他主流方法形成系统化知识框架。


​一、等价类划分法(Equivalence Partitioning)​

​核心原理​
将输入域划分为若干子集(等价类),同一子集中的数据对揭露程序错误具有等效性。测试时仅需从每个子集选取​​一个代表值​​,即可代表整个子集的测试效果

 

​关键概念​

  • ​有效等价类​​:符合需求的合法输入(如年龄输入框的18-60岁)
  • ​无效等价类​​:违反需求的非法输入(如年龄<18或>60)
  • ​划分原则​​(6条核心规则):
    1. ​取值范围​​:一个有效类 + 两个无效类(如0 < x ≤ 100 → 有效类:(0,100];无效类:x≤0 和 x>100
    2. ​集合取值​​:一个有效类(如性别为{男,女}) + 一个无效类(如“未知”)
    3. ​布尔值​​:一个有效类(true) + 一个无效类(false
    4. ​多值独立处理​​:n个有效类(如城市选北京/上海/广州) + 一个无效类(如“重庆”)
    5. ​规则约束​​:一个有效类(符合规则) + 多个无效类(不同角度违反规则,如密码长度不足/含非法字符)
    6. ​处理方式差异​​:进一步划分子类(如负数按绝对值处理需单独分类)

​实施步骤​

  1. ​确定输入条件​​:分析需求,识别所有输入参数(如用户名长度3-10字符)
  2. ​划分等价类​​:按上述6原则生成有效/无效等价类表
  3. ​设计测试用例​​:
    • 每个有效类设计​​1个用例​​,覆盖尽可能多的有效类(如用户名为”abc”覆盖长度3)。
    • 每个无效类设计​​独立用例​​(如用户名为”ab”(长度不足)、”abcdefghijk”(超长))

​实例演示​

​需求​​:密码输入框要求6-12位数字。

  • ​等价类划分​​:
    ​类型​ ​子类​ ​测试用例​
    有效等价类 长度6位 “123456”
    长度12位 “123456789012”
    无效等价类 长度<6(5位) “12345”
    长度>12(13位) “1234567890123”
    非数字字符 “abc!@”

​二、边界值分析法(Boundary Value Analysis)​

​核心原理​
错误更易发生在输入/输出范围的​​边界点​​,需测试边界及相邻值

​三类关键测试点​

  • ​上点​​:边界值(如范围[1,100]的上点为1和100)。
  • ​离点​​:紧邻上点的外侧值(闭区间取外部值:0和101;开区间取内部值)。
  • ​内点​​:范围内任意值(如50)

​实施步骤​

  1. 识别输入/输出的边界(如文件大小1-100MB)。
  2. 选取上点(1,100)、离点(0.99,100.01)、内点(50)。
  3. 设计用例覆盖所有边界组合。

​实例​​:邮箱用户名长度要求5-30字符。

  • ​测试值​​:4(无效)、5(有效)、6(有效)、29(有效)、30(有效)、31(无效)

​三、错误推测法(Error Guessing)​

​核心原理​
基于经验预测易错场景,补充非显性缺陷测试

  • ​典型场景​​:空输入、超长字符、特殊字符(如SQL注入' OR 1=1--)、0值、重复提交
  • ​适用​​:回归测试或经验丰富的测试人员快速补充用例。

​四、因果图与判定表法(Cause-Effect Graphing & Decision Table)​

​核心原理​
处理多条件组合逻辑,将输入条件(因)与输出结果(果)的因果关系转化为判定表

​实施步骤​

  1. 标识所有​​原因​​(输入条件)和​​结果​​(输出动作)。
  2. 画出因果图,标注约束(如某些条件互斥)。
  3. 转换为判定表,覆盖所有条件组合。
  4. 每列生成一个测试用例。

​实例​​:登录功能(条件:用户名有效/无效 + 密码有效/无效)

​用户名​ ​密码​ ​预期结果​
有效 有效 登录成功
有效 无效 提示密码错误
无效 有效 提示用户名不存在
无效 无效 提示双重错误

​五、场景法(Scenario-Based Testing)​

​核心原理​
模拟用户真实操作流程,覆盖正常/异常分支

  • ​基本流​​:主成功路径(如电商下单付款成功)。
  • ​备选流​​:分支路径(如库存不足、支付超时)。
    ​实例​​:ATM取款流程
  1. 基本流:插卡→输密码→输入金额→出钞→退卡。
  2. 备选流:密码错误→重试/锁卡;余额不足→提示失败

​六、正交试验法(Orthogonal Array Testing)​

​核心原理​
用正交表减少多因素组合的用例数(如浏览器×OS×分辨率)

  • ​优势​​:5因素3水平仅需9次测试(全面组合需243次)。
  • ​工具​​:使用正交表生成工具(如AllPairs)。

​七、状态迁移法(State Transition Testing)​

​核心原理​
针对状态机系统(如订单状态),测试状态转换合法性

​步骤​​:

  1. 绘制状态图(如订单:待支付→已支付→发货中→已完成)。
  2. 测试非法转换(如从“已完成”回退到“待支付”)。

​方法对比与适用场景​

​方法​ ​适用场景​ ​测试重点​
等价类+边界值 输入范围明确(数值、文本长度) 合法/非法输入及边界
因果图/判定表 多条件组合逻辑(规则引擎) 条件组合全覆盖
场景法 用户流程(电商、金融) 主路径+异常分支
正交试验 多配置兼容性(浏览器/OS组合) 高效覆盖因素组合
© 版权声明

相关文章

没有相关内容!