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

15.5 - 边界值法

目录

一、概述

1、概念

2、思路

3、边界的分类

二、二值基本边界值分析

三、三值基本边界值分析

四、最坏情况边界分析

五、健壮性最坏情况测试

六、边界值的获取

1、基于程序说明

2、一些隐含的取值范围(次边界)

七、考点:边界值分析法特点


一、概述

1、概念

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

2、思路

  • 先做等价类的分析,然后等价类选择数据时选择边界数据作为测试的输入数据。

3、边界的分类

  • 二值边界
  • 三值边界

二、二值基本边界值分析

  • 二值基本边界值分析就是指测试用例在等价类中挑选输入数据时,要挑正边界以及边界外的值,再加一个正常值。
  • 边界外的取值与边界值相差一个最小的变化单位。比如约定两个数之间的精度是变化为1,那么挑选边界外的取值时就挑与边界值相差为1的单位。
  • 假设程序只有一个输入变量x,那么下图中竖向的黑色实心圆都是我们需要测试的边界值。
  • 例如程序输入值的范围要求是在[18,65]之内,那么在划分完有效等价类(18~65,包含18、65)、无效等价类(输入值小于18、或者大于65)的基础上,结合二值基本边界值分析的思想,测试用例中输入值就应该取17、18、19~64之间的任意值、65、66。

三、三值基本边界值分析

  • 三值基本边界值分析就是指测试用例在等价类中挑选输入数据时,要挑正边界、边界内、边界外的值,再加一个正常值。
  • 假设程序只有一个输入变量y,那么下图中横向的黑色实心圆都是我们需要测试的边界值。
  • 例如程序输入值的范围要求是在[18,65]之内,那么在划分完有效等价类(18~65,包含18、65)、无效等价类(输入值小于18、或者大于65)的基础上,结合三值基本边界值分析的思想,测试用例中输入值就应该取17、18、19、20~63之间的任意值、64、65、66。

四、最坏情况边界分析

  • “多缺陷”假设
  • 程 序需同时考虑输入值x、y的取值情况,就是多个变量的全面二值边界分析的情况。
  • 例如程序输入值的范围要求:1<=x<=5&1<=y<=5。结合二值基本边界值分析的思想,x取0、1、3、5、6,y取0、1、3、5、6,那么当x=0时,y可能的取值为0、1、3、5、6,以此类推,输入值是两个变量时的取值情况如下图所示,有5的2次方种可能。

五、健壮性最坏情况测试

  • 健壮性测试,程 序只考虑输入值x、或输入值y的取值情况, 就是全面三值边界分析的情况。
  • 健壮性最坏情况测试,程 序需同时考虑输入值x、y的取值情况, 就是多个变量的全面三值边界分析的情况。
  • 例如程序输入值的范围要求:1<=x<=5&1<=y<=5。结合三值基本边界值分析的思想,x取0、1、2、3、4、5、6,y取0、1、2、3、4、5、6,那么当x=0时,y可能的取值为0、1、2、3、4、5、6,以此类推,输入值是两个变量时的取值情况如下图所示,有7的2次方种可能。

六、边界值的获取

1、基于程序说明

2、一些隐含的取值范围(次边界)

七、考点:边界值分析法特点

相关文章:

  • 图解MySQL 记录
  • Effective C++学习笔记——确定对象被使用前已先被初始化
  • 一文弄懂 HashMap 中的位运算
  • 【易购管理系统】路由界面基础搭建
  • Linux系统常规异常报错解决汇总:
  • 【编程语言】什么是闭包?你可能经常在用它,但不知道它叫闭包!
  • 【live2D看板娘】为你的网站添加萌萌的二次元板娘,这都拿不下你?
  • 信息学奥赛一本通:1014:与圆相关的计算
  • 【APP 逆向百例】Frida 初体验,root 检测与加密字符串定位
  • 安卓中listview中性能优化的处理
  • 期刊论文-写作-投稿-工具等的经验合集
  • Java 属性文件乱码问题
  • 腾讯毕业复盘
  • C语言基础篇
  • 虚拟机搭建Redis 远程密码可访问,并且后台运行
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【Leetcode】104. 二叉树的最大深度
  • 【附node操作实例】redis简明入门系列—字符串类型
  • gf框架之分页模块(五) - 自定义分页
  • github指令
  • Python实现BT种子转化为磁力链接【实战】
  • 从setTimeout-setInterval看JS线程
  • 服务器从安装到部署全过程(二)
  • 将 Measurements 和 Units 应用到物理学
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 我建了一个叫Hello World的项目
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #### go map 底层结构 ####
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (zt)最盛行的警世狂言(爆笑)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (四)库存超卖案例实战——优化redis分布式锁
  • (五)网络优化与超参数选择--九五小庞
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)Sql Server 保留几位小数的两种做法
  • . NET自动找可写目录
  • .Net core 6.0 升8.0
  • .NET delegate 委托 、 Event 事件
  • .Net 路由处理厉害了
  • .NET 中 GetProcess 相关方法的性能
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • /etc/sudoers (root权限管理)
  • @Service注解让spring找到你的Service bean
  • @synthesize和@dynamic分别有什么作用?
  • @Transactional 竟也能解决分布式事务?
  • @WebService和@WebMethod注解的用法
  • @我的前任是个极品 微博分析