【5.18】二、黑盒测试方法—边界值分析法

news2024/11/21 0:12:27

目录

2.2 边界值分析法

2.2.1 边界值分析法概述

2.2.2 实例:三角形问题的边界值分析

2.2.3 实例:余额宝提现的边界值分析


2.2 边界值分析法

程序的一些错误往往发生在边界处理上,这是因为程序开发时对边界问题没有做好处理。边界值分析法就是对边界值进行测试的一种方法。

2.2.1 边界值分析法概述

边界值分析法是对软件的输入或输出边界进行测试的一种方法,它通常作为等价类划分法的一种补充测试

在等价类中选择边界值时,如果输入条件规定了取值范围或值的个数,则在选取边界值时可选取5个测试值或7个测试值。如果选取5个测试值,即在两个边界值内选取5个测试数据:最小值、略大于最小值、正常值、略小于最大值、最大值。如果选取7个测试值,则在取值范围外再各选取一个测试数据,分别是略小于最小值、最小值、略大于最小值、正常值、略小于最大值、最大值、略大于最大值。

例如,输入条件规定取值范围为1~100:

在对软件进行测试时,要仔细分析软件规格需求,找出其可能的边界条件。 

边界值分析法作为一种单独的软件测试方法,它只在边界取值上考虑测试的有效性,相对于等价类划分法来说,它的执行更加简单易行,但缺乏充分性,不能整体全面地测试软件,因此它只能作为等价类划分法的补充测试

2.2.2 实例:三角形问题的边界值分析

如果要求三角形的边长取值范围为1~100,则可以使用边界值分析法对三角形边界边长进行测试。

test1中的边长1是最小临界值,test2中边长2是略大于最小值的数据,test3中50是1~100范围内的任意值,test4中边长99是略小于最大值的数据,test5中边长100是最大临界值。

2.2.3 实例:余额宝提现的边界值分析

在2.1.3节中,我们学习了余额宝案例的等价类划分,余额宝快速到账的日提现金额限制最高为10 000元,普通到账的提现金额最高为余额。

假设余额宝中余额为50000元,则在进行边界值分析时,如果是第一次快速到账提现,则分别对0和10000两个边界值进行测试,分别选取-1、0、1、5 000、9 999、10 000、10 001这7个值作为测试数据;

如果是第n次提现(假设已提现2 000元),则分别对0和8000两个边界值进行测试,分别选取-1、0、1、5 000、7 999、8 000、8 001这7个值作为测试数据;

对于普通到账提现,则对0和50 000 两个边界值进行测试,分别取-1、0、1、20 000、49 999、50 000、50 001这7个值作为测试数据。

余额宝提现边界值分析测试用例:

在本案例中,假设余额宝的余额为50 000元,但在实际测试时,余额可能是一个极大的数或者为无穷大。这种情况在软件测试中很常见,例如取值范围为开区间或者右边为无穷大,这时候测试数据的选取要根据具体的业务具体分析。 

所谓抽象只是为了更好地总结事物的一般规律,而要解决具体问题的时候,我们更要注重问题本身特有的性质,因为我们的目的不过是解决这个问题而已。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/542398.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频剪辑要学什么软件 视频剪辑要学些什么

这几年短视频行业迅速出圈,不少人都想加入这片红海,但是在剪辑这块儿却卡住了。众所周知,想要发短视频,会视频剪辑是很重要的。那么视频剪辑要学什么软件,视频剪辑要学什么?下面我们来分享一下相关知识。一…

JAVA日常练习—习题5

1.机器人类及其子类 设计一个机器人的抽象类,具有质量(double)、名字(String)等属性;具有设置属性值方法和获得并打印属性值的方法,还有一个运动的抽象方法move()。设计电动汽车类和飞行器类&a…

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第十届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.双ADC:开启双ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就…

chatgpt赋能Python-python3_6安装keras

在Ubuntu 16.04上安装Keras Keras是一个非常流行的Python深度学习库,它可以让你高效地构建和训练深度神经网络。在本指南中,我们将介绍如何在Ubuntu 16.04上安装Keras,并建立一个简单的基于CNN的图像分类器。 准备工作 在安装Keras之前&am…

MySQL 基础篇 1.1 执行一条SQL语句会发生什么

1. MySQL架构一共分为两层 server 和 存储引擎层(一般为Innodb引擎) 主要执行流程都在server层:连接器,查询缓存,解析SQL(解析器),执行SQL(预处理器,优化器&a…

2023年ES的使用总结

1.Elasticsearch 非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容 什么是elasticsearch 一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控 什么是elastic stack 是以elasticsearch为核心的技术栈&#xf…

运算符重载函数作为类的成员函数——有理数的约分

目录 一、题目 二、代码 三、算法分析 (一)数学表达式 (二) 代码实现 一)运算符重载函数 二)优化函数(实现有理数约分) 一、题目 通过运算符重载为类的成员函数来实现两个有…

【云计算与虚拟化】第二章 实验一 VMware Workstation的使用

实验一 vmware workstation的使用 安装Windows Server 2012 R2虚拟机,并激活(计算机命名为:学号姓名拼音的首字母) 2.在Windows Server 2012 R2的虚拟机中安装VMTools 3.关机创建快照(快照命名为:学号姓名…

OMG Data Distribution Service(DDS)规范解读-Part4

目录 2.4 Listeners, Conditions, and Wait-sets2.4.1 Communication Status2.4.2 Changes in Status2.4.2.1 Plain communication statuses2.4.2.2 Read Communication Statuses 2.2.4.3 Access through Listeners2.2.4.3.1 Listener Access to Plain Communication Status2.2…

I2C总线

基于linux-3.14.16 一、注册I2C总线 以上代码即完成了i2c总线的注册,并且添加了一个i2c驱动dummy_driver 二、注册适配器 1、平台总线匹配 设备树有i2c1设备 平台总线匹配后执行probe 2、执行probe 获取中断号 获取地址资源并映射 填充i2c_adapter&#…

chatgpt赋能Python-python3_7如何安装matplotlib

Python3.7如何安装Matplotlib Matplotlib是一个Python的绘图库,可以帮助用户制作2D和3D图表和图形。它利用了NumPy、SciPy和其他Python包,具有出色的兼容性和可视化效果,广泛应用于数据分析、科学计算和工程领域。在本篇文章中,我…

chatgpt赋能Python-python2转3

Python2转3的最终结论 Python是一种流行的编程语言,但随着Python 2的维护结束,许多开发者正在考虑将他们的代码从Python 2升级到Python 3。这篇文章将介绍如何在搜索引擎优化(SEO)方面实现Python 2转3,并讨论为什么这…

页面样式问题收集及解决方案导航

1、el-table表头文字换行https://blog.csdn.net/qq_44747461/article/details/105976042 2、element-ui动态更改el-table某个单元格字体颜色:https://blog.csdn.net/agua001/article/details/107960393 Element UI 表格 el-table-column根据不同值显示不同颜色&…

ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)

ChatGPT工作提效之程序开发中的巧劲 前言一、创建MySQL数据表1.创建指令2.交互评价 二、PHP交互语句1.创建指令2.交互评价 三、javascript的交互用法1.创建指令2.交互评价 四、python的交互1.创建指令2.交互评价 总结 前言 ChatGPT是一个基于GPT模型训练的聊天机器人&#xff…

【Maven从入门到入土】

文章目录 1.Maven1.1 初识Maven依赖管理:统一项目结构 :项目构建 : 1.2 Maven概述1.2.1 Maven模型1.2.2 Maven仓库1.2.3 Maven安装 1.3 IDEA集成Maven1.3.1 配置Maven环境1.3.1.1 当前工程设置1.3.1.2 全局设置 1.3.2 Maven项目1.3.2.1 创建Maven项目1.3.2.2 POM配置…

代码随想录训练营Day37| 738.单调递增的数字 968.监控二叉树 总结

目录 学习目标 学习内容 738.单调递增的数字 968.监控二叉树 总结 学习目标 738.单调递增的数字 968.监控二叉树 总结 学习内容 738.单调递增的数字 738. 单调递增的数字 - 力扣(LeetCode)https://leetcode.cn/problems/monotone-increasing-di…

【云计算与虚拟化】第二章 实验二 Vmware Workstation 15的使用

实验二 Vmware Workstation 15的使用 在上一实验的基础上,将两台虚拟机调节到在桥接模式下,配置相应的网络参数,实现虚拟机1和2能相互通信,虚拟机1和2能够ping通外网,虚拟机1和2能ping通物理机。 (截取…

GE SR469-P5-HI-A20 带有5A相CT次级线圈的标准装置

SR469-P5-HI-A20提供四路4-20 mA模拟输出。该装置已通过CE认证。这是一个带有5A相CT次级线圈的标准装置。该装置的控制电源额定为90-300伏直流电,70-265伏交流电,48-62赫兹。 制造商美国通用电气公司,通用工业系统电压供应交流电:48-62赫兹时…

【云计算与虚拟化】第四章 实验一 在Windows 系统部署vCenter Server

实验一 在Windows 系统部署vCenter Server 1.部署两台ESXi6.0 虚拟主机,其余参数可以参考实验IP拓扑 2.在Windows Server 2012 R2中部署Storge服务器,该服务器名字为:姓名的拼音的首字母1,且要实现以下三个功能: (1)AD域控制…

【5.15】一、软件测试基础—软件概述

目录 1.1 软件概述 1.1.1 软件生命周期 1.1.2 软件开发模型 1.1.3 软件质量概述 1.1 软件概述 软件是相对于硬件而言的,它是一系列按照特定顺序组织的计算机数据和指令的集合。 软件的生命周期:软件从“出生” 到 “消亡” 的过程。 1.1.1 软件生…