软件测试—用例篇(上)

软件测试—用例篇

  • 测试用例的概念
  • 测试用例的好处
  • 测试用例的设计方法
    • 基于需求的设计方法
    • 等价类划分法
    • 边界值分析法
    • 判定表
  • 结尾

测试用例的概念

为了实施测试而向被测试的系统提供的一组集合
这组集合包括
(1)测试环境 (2)操作步骤 (3)测试数据 (4)预期结果

测试用例的好处

(1)提高测试效率, 节省测试时间
(避免重复测试)

(2)手动测试用例是自动化测试用例的前提

测试用例的设计方法

下面所介绍的设计方法是黑盒测试用例的设计方法

基于需求的设计方法

基于需求设计测试用例是测试设计和开发测试用例的基础
分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽
在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计

在分析测试需求时, 一般分为功能需求测试非功能需求测试

软件测试—用例篇(上)_第1张图片

等价类划分法

依据需求将输入(特殊情况下会考虑输出)划分为若干等价类
从等价类中选出一个测试用例, 如果这个测试用例测试通过, 则认为所代表的等价类测试通过
这样就可以用较少的测试用例达到尽量多的功能覆盖, 解决了不能穷举测试的问题

等价类可以分为
(1)有效等价类 (2)无效等价类

  • 有效等价类
    满足用户需求输入的集合
  • 无效等价类
    不满足用户需求输入的集合

举个栗子

滑稽老哥去超市买水果

有效等价类
苹果, 橘子, 梨, 香蕉…

无效等价类
香菇, 白菜, 土豆, 青菜…

等价类划分法设计测试用例的步骤
(1)
充分理解需求
(2)
划分有效等价类, 划分无效等价类
(3)
从有效等价类中抽取一个数据进行测试用例设计
从无效等价类中抽取一个数据进行测试用例设计

覆盖有效等价类的时候, 一个测试用例, 需要覆盖所有的有效等价类
覆盖无效等价类的时候, 一个测试用例, 只允许覆盖一个无效等价类


小练习

某平台对于用户名的规定
(1)长度为6~15位
(2)字符类型为A~Z, 不区分大小写

请根据用户名的规定采用等价类划分法设计测试用例

软件测试—用例篇(上)_第2张图片


边界值分析法

对输入或输出的边界值进行测试的一种黑盒测试方法
边界值分析法通常是作为对等价类划分法的补充, 这种情况下, 其测试用例来自等价类的边界

边界值包括
(1)上点 (2)内点 (3)离点

  • 上点
    边界上的点

  • 内点
    边界内的点

  • 离点
    边界值附近的一个点(闭区间区间外距离上点最近的点, 开区间区间内距离上点最近的点)

举个栗子

(6,15) → 开区间
上点 6, 15
内点 7~14
离点 7, 14

[6,15] → 闭区间
上点 6, 15
内点 7~14
离点 5, 16

边界值分析法设计测试用例的步骤
(1)
充分理解需要
(2)
找边界点
(3)
针对边界点设计测试用例

对于上面的小练习, 我们可以采用边界值分析法作为对等价类划分法的补充进行测试用例的设计

软件测试—用例篇(上)_第3张图片

基于等价类划分法与边界值分析法的完整测试用例

软件测试—用例篇(上)_第4张图片

判定表

判定表是一个数据表
这个数据表表示的是输入条件和输出结果之间的关系

判定表中的关系
(1)与 (2)或 (3)非 (4)恒等


  • 条件全为真, 结果为真. 其中一个条件为假, 结果为假

  • 其中一个条件为真, 结果为真. 条件全为假, 结果为假

  • 条件为真, 结果为假. 条件为假, 结果为真
  • 恒等
    条件为真, 结果为真. 条件为假, 结果为假

判定表设计测试用例的步骤
(1)
分析所有可能的输入和输出
(2)
找出输入与输出之间的对应关系
(3)
设计判定表
(4)
将判定表对应到每一个测试用例


小练习

某购物网站在双11规定
(1)订单已提交
(2)订单金额大于300或有红包
同时满足(1)和(2)可以享受购物优惠

(1)分析所有可能的输入和输出

  • 订单已提交, 订单金额大于300, 有红包
  • 订单已提交, 订单金额大于300, 无红包
  • 订单已提交, 订单金额不大于300, 有红包
  • 订单已提交, 订单金额不大于300, 无红包
  • 订单未提交, 订单金额大于300, 有红包
  • 订单未提交, 订单金额大于300, 无红包
  • 订单未提交, 订单金额不大于300, 有红包
  • 订单未提交, 订单金额不大于300, 无红包

(2)找出输入与输出之间的对应关系

  • 订单已提交
    • 订单金额大于300 → 优惠
    • 有红包 → 优惠
    • (订单提交状态下, 订单金额大于300 或者 有红包 即可享受优惠)
  • 订单未提交 → 不优惠
    • (订单未提交状态下, 订单金额大于300 或者 有红包 都不享受优惠)

(3)设计判定表

软件测试—用例篇(上)_第5张图片

(4)将判定表对应到每一个测试用例

软件测试—用例篇(上)_第6张图片

结尾

创作不易,如果对您有帮助,希望您能点个免费的赞
大家有什么不太理解的,可以私信或者评论区留言,一起加油

你可能感兴趣的:(软件测试,测试用例)