原视频链接

测试用例

- 定义:是为了特定的目的而设计的一组有测试输入、执行条件、预期结果的案例或文档。
构成要素
- 用例编号:用例的唯一标识。
- 用例标题:用例的简要描述(什么情况下做什么事有什么结果)。
- 测试项目:用例所属项目范畴。
- 用例级别:用例重要程度影响。
- 预设条件:用例执行的前提。
- 测试输入:测试用例数据输入。
- 执行步骤:执行用例的步骤。
- 预期结果:应该得到的结果。
用例设计(8种)
1 等价类

- 定义:在所有测试的数据中,具有某种共同特征的数据子集。分为无效等价类与有效等价类。
- 输入数据类型划分:数据个数、集合、符合某些规则的输入、取值范围、布尔值等。
- 设计步骤
- 分析需求,确定输入数据类型。
- 使用规则划分有效和无效等价类。
- 设计用例,覆盖有效等价类。一条用例尽可能多的覆盖有效等价类。
- 设计用例,覆盖无效等价类。一条用例只能覆盖一个无效等价类。
案例:  
2 边界值

- 大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。
- 定义:选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。
- 设计步骤
- 分析需求,确定输入数据类型。
- 使用规则划分有效和无效等价类。
- 确认上点、离点、内点。设计用例,覆盖有效等价类。一条用例尽可能多的覆盖有效等价类。
- 设计用例,覆盖无效等价类。一条用例只能覆盖一个无效等价类。
案例:  
3 判定表
- 使用等价类方法时,对于输入域及输入域存在关联时无法覆盖,则可以使用判定表。
- 判定表由条件桩、条件项、动作桩、动作项、以及规则组成。
- 设计步骤
- 定义条件桩与动作桩。
- 设计优化判定表(全组合)。
- 填写动作项。简化判定表。
- 抽取用例,每个规则一条用例。
案例: 
4 因果图

- 因果图基于判定表。
- 但,考虑所有输入输出条件的相互制约关系以及组合关系、考虑输入条件之间的依赖关系、再根据分析的关系来转换为判定表的规则。
案例: 
5 正交试验
- 定义:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法。从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。
- 其中,条件-因子,取值-水平。
- 设计步骤
- 分析需求,获取因子和水平。
- 根据因子和水平数选择正交表。
- 替换因子水平,获取实验次数。
- 细化输出测试用例。
案例:  
6 状态迁移图
- 用于有明确的状态节点的场景。
- 定义:首先要找出所有的状态,然后再分析各个状态之间的转换条件和转换路径,最后从其状态迁移路径的角度来设计测试用例。
- 多用于协议测试,如tcp协议。
- 设计步骤
- 明确状态节点。
- 绘制状态迁移图。
- 绘制状态迁移树。
- 抽取路径设计用例。
案例: 
7 场景法

- 用于没有明确状态节点的场景。
- 定义:软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景。而同一事件不同的触发顺序和处理结果就形成了事件流。
- 其中,事件流分为:基本流、备选流、异常流。
- 设计步骤
- 分析需求基本流和备选流。
- 根据基本流和备选流生成场景。
- 根据场景生成用例。
案例: 
8 错误推测
- 由经验或直觉,针对性地设计测试用例。一般不单独使用,与其他方法一起,作为补充。
- 使用场景
- 等价类/边界值+错误推测法
- 判定表/因果图+错误推测法
- 正交试验法+错误推测法
- 状态迁移图/场景法+错误推测法
总结
- 等价类法:功能有输入,输入无组合。
- 边界值法:功能有输入,输入范围有边界。
- 判定表/因果图法:有多个输入与输出,输入与输入、输入与输之间有依赖关系。因果图适合输入条件比较多的场景。
- 正交试验法:参数配置类功能,参数相互组合。
- 场景法/状态迁移图:多个功能之间的组合逻辑测试。
- 错误推测法:最后采用错误推测法,再追加测试用例。
|