黑盒测试之边界值测试
黑盒测试用例设计方法之等价类和边界值

⿊盒测试⽤例设计⽅法之等价类和边界值⼀、等价类划分等价类划分是⼀种重要的、常⽤的⿊盒测试⽅法,不需要考虑程序的内部结构,只需要考虑程序的输⼊规格即可。
它将不能穷举的测试过程进⾏合理分类,从⽽保证设计出来的测试⽤例具有完整性和代表性。
1、等价类的分类 有效等价类:指符合《需求规格说明书》,输⼊合理的数据集合。
⽆效等价类:指不符合《需求规格说明书》,输⼊不合理的数据集合。
2、等价类思考步骤 (1)先确定有效和⽆效等价类 (2)有效等价类就是题⽬条件(两端的极值(边界值)要判断、中间随意⼀个值也要判断) (3)⽆效等价类先划分与条件相反的情况,再找到特殊情况(中⽂、英⽂、符号、空格、空)3、例题:A、测试QQ账号,账号的要求是 6---10位正整数。
B、⼿机号码1. 某城市的电话号码由三部分组成。
这三部分的名称和内容分别是地区码:空⽩或三位数字;前 缀:⾮’0’或’1’开头的三位数;后 缀:四位数字。
解:第⼀步:划分等价类,包括4个有效等价类,11个⽆效等价类。
第⼆步:确定调试⽤例。
对11个⽆效等价类,要选择11个调试⽤例,如下所⽰:3、等价类分类总结通过上⾯的案例,我们可以总结⼀下,当我们在测试⽂本框的程序可以考虑如下的情况:a:⽂本框要求输⼊的长度b:输⼊的类型c:组成规则d:是否为空e:是否重复---区分⼤⼩写,f:是否去除空格⼆、边界值分析1.什么是边界值分析法?边界条件,是指输⼊和输出等价类中那些恰好处于边界、或超过边界、或在边界⼀下的状态。
边界值分析法也是⼀种常⽤的⿊盒测试⽅法。
特别要注意的是:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部。
我们先来看⼀个例题,解释⼀下为什么要⽤边界值。
题⽬:输⼊的参数值必须⼤于0同时⼩于100的整数。
接下来我们来看程序员写的⼀段代码:number = int(input("输⼊的参数值必须⼤于0同时⼩于100的整数:"))if 100 >= number >= 18:print("输⼊的数据合法")else:print("输⼊的数据不符合要求")各位思考⼀下,这⾥⾯有什么问题呢。
黑盒测试是什么,主要测试方法有哪些

黑盒测试是什么
黑盒测试是一种软件测试方法,测试人员关注的是软件系统的功能,而不考虑内部逻辑结构。
黑盒测试类似于将软件系统看作一个黑盒子,只关心输入、输出和系统对输入的反应,而不关心内部实现细节。
主要测试方法
1.等价类划分法
等价类划分法是一种常用的黑盒测试方法。
测试人员将输入数据划分为不同的等价类,选择一个代表性的值进行测试,以确保每个等价类的数据都能得到适当的处理。
2.边界值分析法
边界值分析法是一种关注软件系统边界条件的测试方法。
测试人员会测试输入数据的边界情况,包括边界处和边界附近的数值,这样可以检查系统在边界条件下的正确性。
3.因果图法
因果图法是一种图形化的测试方法,通过绘制因果图来描述系统的输入和输出关系。
测试人员可以根据因果图识别出潜在的测试用例,从而对系统进行有效的测试。
4.决策表测试法
决策表测试法是一种用表格方式描述系统决策逻辑的测试方法。
通过编写决策表,测试人员可以识别出系统不同条件和操作之间的关系,从而有效地进行测试。
5.状态转换测试法
状态转换测试法适用于有状态的系统测试。
测试人员根据系统状态之间的转换关系设计测试用例,确保系统在不同状态切换时能够正确地响应。
通过上述方法,测试人员可以全面地覆盖软件系统的功能,并保证系统在各种情况下都能正确运行。
黑盒测试是软件测试中不可或缺的一部分,通过有效的黑盒测试方法,可以提高软件质量,降低系统出错的风险。
黑盒测试方法

黑盒测试方法黑盒测试(Black Box Testing)是一种软件测试方法,它基于对被测试软件的功能需求进行测试,而不关心其内部的工作原理。
黑盒测试主要验证软件的功能是否符合需求,并检查软件是否能够正确地处理各种输入。
下面将介绍一些常见的黑盒测试方法。
1. 等价类划分测试(Equivalence Partitioning Testing):将输入数据划分为等价类,并选择代表性的测试用例进行测试。
等价类划分测试的目的是减少测试用例的数量,节省测试时间和成本,同时保证测试覆盖度。
例如,对于一个要求输入年龄的软件,可以将年龄分为小于18岁、18-60岁和大于60岁三类,然后从每个类别中选择测试用例进行测试。
2. 边界值测试(Boundary Value Testing):在等价类划分测试的基础上,选择特定的边界值进行测试。
因为边界值往往容易引起错误,所以边界值测试是一种重要的黑盒测试方法。
例如,对于一个要求输入0-100的分数的软件,选择0、1、99和100作为测试用例进行测试。
3. 错误推测测试(Error Guessing Testing):基于经验和直觉,猜测可能存在的错误,并选择相应的测试用例进行测试。
这种方法常常依赖于测试人员的经验和专业知识,可以发现一些其他方法无法发现的错误。
例如,在一个购物网站中,测试人员可能猜测用户可能输入错误的邮政编码、信用卡号码等信息,并选择相应的测试用例进行测试。
4. 因果图测试(Cause-Effect Graph Testing):根据输入和输出之间的因果关系,构建因果图,并选择代表性的测试用例进行测试。
这种方法能够帮助测试人员理清输入和输出之间的关系,从而提高测试覆盖度。
例如,对于一个需要输入用户名和密码的登录界面,可以构建因果图,其中考虑到用户名和密码为空时的情况、用户名和密码不匹配的情况等,然后选择相应的测试用例进行验证。
5. 边界值测试(GUI Testing):验证图形用户界面(Graphical User Interface)的正确性和易用性。
软件测试中的边界值测试方法

软件测试中的边界值测试方法边界值测试是软件测试中一种重要的测试技术,主要用于验证系统在输入的边界值附近是否能正常工作。
边界值测试方法可以帮助测试人员发现潜在的错误和问题,提高软件的质量和可靠性。
本文将介绍软件测试中边界值测试的基本概念和常用方法。
一、边界值测试的概念边界值测试是一种黑盒测试方法,它关注系统在输入的边界值附近的行为。
在边界值测试中,测试人员通常选择一个或多个边界值作为测试数据,以验证系统在这些边界值附近的响应是否正确。
边界值测试可以帮助测试人员发现输入数据范围问题,例如是否正确处理最小值、最大值、边界条件等。
边界值测试可以分为以下几种方法:1. 单边界值测试:测试人员选取输入数据范围的最小值或最大值进行测试,以验证系统在边界值处的处理是否正确。
2. 边界值测试:测试人员选取输入数据范围的边界值进行测试,以验证系统在边界值附近的处理是否正确。
例如,如果一个系统要求输入的年龄在18到60岁之间,那么测试人员可以选择18和60作为边界值进行测试。
3. 内部边界值测试:测试人员选取输入数据范围的边界值之间的值进行测试,以验证系统在这些内部边界值附近的处理是否正确。
例如,如果一个系统要求输入的工资在1000到5000之间,那么测试人员可以选择2000和4000之间的值进行测试。
二、边界值测试的步骤进行边界值测试需要经历以下几个步骤:1. 确定输入数据范围:首先需要明确系统对输入数据的要求,并确定输入数据范围。
例如,输入数据范围可能是一个数字的取值范围或一组特定的字符。
2. 选择边界值:根据输入数据范围,选择合适的边界值作为测试数据。
通常测试人员会选择最小值、最大值和边界条件作为边界值。
3. 编写测试用例:根据选择的边界值,编写相应的测试用例。
测试用例应该包括输入数据和预期结果。
4. 执行测试用例:使用编写好的测试用例执行测试,记录测试结果。
5. 分析测试结果:对测试结果进行分析,判断系统在边界值附近的行为是否正确。
实践:黑盒测试之边界值案例

黑盒测试法是根据被测程序功能来进行测试,所以通常
也称为功能测试。用黑盒测试法设计测试用例,有4 种常用
技术:
等价分类法
边界值分析 错误猜测法
决策表法
因果图法
2. 边界值分析法(Boundary
Value Analysis)
被测试 子域
测试内点
测试外点
期望结果
显示出错 显示出错 显示出错 显示出错 显示出错 输入有效 输入有效 输入有效 显示出错 显示出错 输入有效 输入有效 显示出错 显示出错
选取理由 仅有1个合法字符 比有效长度少1 比有效长度多1 只有1个非法字符 6个非法字符 类型及长度均有效
最小日期 最大日期 刚好小于最小日期 刚好大于最大日期 最小月份 最大月份 刚好小于最小月份 刚好大于最大月份
ቤተ መጻሕፍቲ ባይዱ
软件边界与悬崖很类似
例:某报表处理系统要求用户输入处理报表 的日期,日期限制在2005年1月至2009年12 月,即系统只能对该段期间内的报表进行 处理,如日期不在此范围内,则显示输入 错误信息。系统日期规定由年、月的6位数 字字符组成,前四位代表年,后两位代表 月。
“报表日期”边界值分析法测试用例
报表日 期的类 型及长 度
日期 范围
在有效范围 边界上选取 数据
月份为1月 月份为12月 月份<1 月份>12
月份 范围
输入 条件 测试用例说明 1个数字字符 5个数字字符 7个数字字符 有1个非数字字符 全部是非数字字符 6个数字字符 测试数据 5 20065 2007005 2008.5 MAY--200605 200501 200912 200500 200913 200501 200512 200500 200513
黑盒测试方法2边界值分析法

<xmin,ynom>; <xmin+,ynom>; <xmax,ynom>; <xmax-,ynom>;
<xnom,ynom>;
整理课件
12
Y
c
d
a
bX
有两个输入变量的程序F的边界
值分析测试用例
整理课件
Logo
13
标准性(一般性)测试 Logo
对于一个含有n个变量的程序,保留其中一个变 量,让其余的变量取正常值,被保留的变量 依次取min、min+、nom、max-、max值,对每 个变量都重复进行。这样,对于一个有n个变 量的程序,边界值分析测试程序会产生4n+1 个测试用例。
15
健壮性测试 Logo
• 边界值分析测试的一种扩展,除了取5个边 界值外,还需要考虑采用一个略超过最大 值(max+)及略小于最小值(min-)的取值, 检查超过极限值时系统的情况
• 健壮性测试最有意义的部分不是输入,而 是预期的输出
整理课件
16
健壮性测试 Logo
• 对于一个含有n个变量的程序,保留其中一 个变量,让其余的变量取正常值,被保留 的变量依次取min、min+、min-,nom、max-、 max, max+值,对每个变量都重复进行。这 样,对于一个有n个变量的程序,边界值分 析测试程序会产生6n+1个测试用例。
x1 d
c a
b
整理课件
x2
35
习题: Logo
• 找零钱最佳组合
•
假设商店货品价格(R) 都不大于100元
(且为整数),若顾客付款(P)在100元内,现有
黑盒测试方法有哪几种

黑盒测试方法有哪几种
在软件测试中,黑盒测试是一种测试方法,它不考虑内部代码实现细节,而是基于软件功能规格来检查应用程序的正确性。
黑盒测试旨在验证软件系统的功能是否按照需求规格进行了实现。
本文将介绍几种常见的黑盒测试方法。
1. 等价类划分
等价类划分是一种黑盒测试方法,将输入值分为有效等价类和无效等价类,从而减少测试用例的数量。
在这种方法中,测试人员会选择一个有效等价类的代表值和一个无效等价类的代表值,进行测试以确保系统正确处理这些条件。
2. 边界值分析
边界值分析是一种黑盒测试方法,重点测试输入的边界条件。
在这种方法中,测试人员会选择接近边界的值进行测试,以检验系统在边界条件下是否能正确处理输入数据。
这有助于发现系统可能存在的边界问题。
3. 因果图测试
因果图测试是一种黑盒测试方法,使用因果图来表示系统的输入、输出和逻辑关系。
测试人员根据因果图设计测试用例,在不考虑系统内部实现的情况下,验证系统是否按照规格要求正确运行。
因果图测试有助于提高测试的覆盖率和准确性。
4. 决策表测试
决策表测试是一种黑盒测试方法,用于测试系统根据不同的条件做出不同的决策。
测试人员通过创建决策表,列出不同条件和相应的决策情况,设计测试用例来验证系统是否正确根据条件做出正确的决策。
总结
黑盒测试是一种重要的软件测试方法,通过不考虑内部实现细节,验证软件系统的功能正确性。
等价类划分、边界值分析、因果图测试和决策表测试是几种常见的黑盒测试方法,测试人员可以根据具体情况选择合适的方法进行测试,以确保软件系统的质量和稳定性。
[黑盒测试方法]边界值分析法
![[黑盒测试方法]边界值分析法](https://img.taocdn.com/s3/m/7bb9ed3b66ec102de2bd960590c69ec3d5bbdba5.png)
[⿊盒测试⽅法]边界值分析法边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。
根据⼤量的测试统计数据,很多错误是发⽣在输⼊或输出范围的边界上,⽽不是发⽣在输⼊/输出范围的中间区域。
因此针对各种边界情况设计测试⽤例,可以查出更多的错误。
边界值分析⽅法边界值分析不是从某等价类中随便挑⼀个典型值或者任意值作为测试数据,⽽是着重测试已划分出的等价类的每个边界,选取正好等于、刚刚⼤于或刚刚⼩于边界的值作为测试数据。
也就是边界值⽅法中常说的边界5点,即上点、内点和离点。
(1)上点:是指边界上的点,如果域的边界是闭区间的,上点就是在域范围内,如果是开区间的话,上点就是在域范围外。
(2)离点:是指离上点最近的点,如果域的边界是是开区间,那么离点就在范围域内,如果是闭区间,那么离点就在域范围外。
(3)内点:域内的任意⼀个点都是内点。
举例说明边界值中上点、离点、内点的取值。
如下:(1)区间为正整数值域[66,88],上点就是66,88,并且都是在域范围内。
内点就是域内得任意点,离点是65,89。
(2)区间为正整数值域(66,88],这种情况上点是66,88,其中⼀个是域内,⼀个是域外,内点就是域内的任意点,离点是:67,89。
(3)区间为正整数值域(66,88),这样的情况上点还是66,88,只是都是在域外,内点还是域内的任意点,离点此时为:67,87。
再做进⼀步说明,如下:(1)上点、离点的确定和这个域的边界是开区间还是闭区间有关,不论边界是开区间还是闭区间,上点和离点总有⼀个在域范围内,⼀个在域范围外。
如边界是开区间,上点在域范围内,离点在域范围外,如果是闭区间,则相反。
(2)上点、离点的选择还和区间的数据类型有关。
如果是整数,可以通过在上点的基础上加1或者减1确定离点。
如果是实数,可以⼈为设置⼀个精度,在这个精度下选择⼀个最靠近的点。