当前位置: 首页 > news >正文

测试基础12:测试用例设计方法-边界值分析

课程大纲

 

4e0e9828c0e839edd58355101e2596d4.png

 

1、定义

        经验发现,较多的错误往往发生在输入或输出范围的边界上,因为边界值是代码判断语句的点,一般容易出问题(数值写错、多加或丢失等号、写错不等号方向…)。所以增加对取值范围的边界数据的测试,即“边界值分析法”。

        边界值分析法是一种常用的黑盒测试方法。

2、应用场景

        1.有数据输入的地方就能用。

        2.针对一个输入控件(如输入框)。

        3.通常和有效等价类一起使用,作为用例的完善和补充。

3、意义

        完善和补充测试场景。

        一举两得:通过测试边界值,即可验证该等价类数据集输入后,功能无误。既测试了等价类,又保证了错误率高的边界场景。

4、划分

4.1边界

        如果是只有一个边界,则只有一个边界点,开或闭,即边界点无法取到或可取到。

        如果是双边界,边界开闭具体分为:全闭区间、全开区间、左开右闭、左闭右开。举例如下图:

 

0b3786f179a8db1d038a9d07dd29de06.png

 

4.2边界分析

        关于边界,需要关注的点有3种:上点、内点、离点。

        上点:边界上的点。(不管是开区间还是闭区间)

         内点:在域范围内的任意一点。(内点不是一个特定的点,是任意的某个点。一般选中心点)

        离点:离上点最近的一个点。

        关于离点:

        1.开区间,离点在区间内;闭区间,离点在区间外。

        2.取值范围是整数,离点是整数;取值范围包含小数,离点按照精度取最接近上点的数。

        以双边界为例,我们分别标出开区间和闭区间的上点、内点、离点。举例如下:

 

12669d5f8ab249556d4e9e23d7ad7397.png

5、设计步骤

        step1.划分等价类:根据等价类划分法步骤设计用例。

        step2.根据等价类,增加边界值。

        step3.根据边界值,修改或增加用例:

        ①已有用例所在数据集和边界值有交集的,原为随意取的值,改为边界点(上点、内点、离点)数值。如此,一条用例可实现对2个或多个测试点的验证。

        ②已有用例中没有取到的数据,新增一条用例。

举例1 

 

8bb4ad0916d58c009d32cdcbeb084f8c.png

举例2

 

363b611889eb3ab79a4f112a20d075ae.png

6、说明

        学会后,实际使用过程中,可以按照从里到边界到外顺序设计测试用例:

        1.即有效等价类-内点、

        2.有效等价类-可取到的边界值、

        3.无效等价类-离边界值最近的无效数值、

        4.其他无效等价类。

 

附:课程完整思维导图

 

28d4fd9323acc78a02c56b537e913f0e.jpeg

 

 

 

http://www.lryc.cn/news/368557.html

相关文章:

  • AI大模型在健康睡眠监测中的深度融合与实践案例
  • 【西瓜书】9.聚类
  • 使用jemalloc实现信号驱动的程序堆栈信息打印
  • 树的4种遍历
  • 深入探讨5种单例模式
  • SPOOL
  • 挑战绝对不可能:再证有长度不同的射线
  • 【机器学习】Python与深度学习的完美结合——深度学习在医学影像诊断中的惊人表现
  • MapStruct的用法总结及示例
  • redis 05 复制 ,哨兵
  • 强大的.NET的word模版引擎NVeloDocx
  • MySQL中所有常见知识点汇总
  • Flink 基于 TDMQ Apache Pulsar 的离线场景使用实践
  • 远程访问及控制
  • 【代码随想录训练营】【Day 44】【动态规划-4】| 卡码 46, Leetcode 416
  • html5实现个人网站源码
  • 【内存管理】内存布局
  • 软件试运行方案(Word)
  • Redis原理篇——哨兵机制
  • web前端的MySQL:跨领域之旅的探索与困惑
  • Postgresql源码(135)生成执行计划——Var的调整set_plan_references
  • Python魔法之旅专栏(导航)
  • Python第二语言(五、Python文件相关操作)
  • Vue3 组合式 API:依赖注入(四)
  • Vue如何引入ElementUI并使用
  • VS2019 QT无法打开 源 文件 “QTcpSocket“
  • 【Golang】Map 稳定有序遍历的实现与探索:保序遍历之道
  • 使用Nextjs学习(学习+项目完整版本)
  • KUKA机器人KRC5控制柜面板LED显示
  • 为什么选择Python作为AI开发语言