边界值分析法 (1)
单元测试用例设计方法
单元测试用例设计方法
在软件开发中,单元测试是一种对软件系统中最小实体(通常是函数、方法或类)进行测试的方法。
单元测试用例设计是确保软件系统的各个单元在不同情况下都能正常工作的关键。
下面将介绍一些常用的单元测试用例设计方法。
1. 边界值分析法:
边界值分析法是一种常用的测试方法,通过测试系统在取最小、最大和边界值时的行为来检测错误。
例如,对于一个接受整数参数的函数,可以选择最小值、最大值和边界值作为测试用例。
2. 等价类划分法:
等价类划分法是将输入条件划分为一组等效的类别,并选择代表这些类别的测试用例。
这种方法可以有效地减少测试用例数量,同时保证了覆盖各个等效类别的能力。
3. 错误猜测法:
错误猜测法是一种基于错误猜测的测试方法,通过假设系统中可能存在的错误场景来设计测试用例。
这种方法可以帮助测试人员集中精力关注可能导致错误的操作或条件。
4. 边界条件测试法:
边界条件测试法是对特殊值和边界情况下的行为进行测试的方法。
例如,对于一个接受字符串参数的函数,可以设计测试用例来测试空字符串、长度边界情况等。
5. 正交试验法:
正交试验法是一种通过设计正交表来进行测试的方法,能够有效地避免冗余的测试用例。
正交表能够覆盖各种可能的参数组合,从而提高测试用例的效率。
以上是一些常用的单元测试用例设计方法,每种方法都有其适用的场景和优劣势。
在实际项目中,测试人员可以根据需求和资源的情况选择合适的方法来设计测试用例,确保软件系统的质量和稳定性。
要因分析
1.边界值分析法简介边界值分析法是对输入或输出的边界值进行测试的一种黑盒测试方法。
我们这里所指的“边界值”是相对于“输入等价类”和“输出等价类”而言的,稍高于其边界或低于其边界一些特点情况。
2 边界类型通常用以下几种:边界条件:可以在产品说明书中有定义或者在使用软件过程中确定内部边界条件:在软件内部,也称为内部边界条件其他边界条件:如输入信息为空、非法、错误、不正确和垃圾数据3 边界值的选择方法(原则)[原创]测试用例设计之“等价划分”法1.等价类划分法简介:等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,而是根据对程序的要求和说明,即需求规格说明书(RS)。
将说明中对输入的要求和输出的要求区别开来并加以分解。
等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据,在这个集合中每个输入条件都是等效的,如果其中一个输入不能发现问题,哪么集合中其它输入条件进行测试也不可能发现错误码。
2 等价类划分基础:需求规格说明书(SR)中输入、输出要求3 等价划分法设计测试用例步骤:3.1 确定等价类:其中等价划分中某个输入域的子集合;分为有效等价类和无效等价类有效等价类:指对于程序规格说明书来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明书中的功能和性能无效等价类:与有效等价的定义相反说明:划分等价类原则(6条)3.2列出等价类表在确定了等价类之后,建立等价类表,列出所有划分出的等价类3.3 确定测试用例:1为每个等价类规定一个惟一的编号2设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。
重复这一步骤,最后使得所有有效等价类均被测试用例所覆盖3设计一个新的测试用例,使其只覆盖一个无效等价类。
重复这一步骤,最后使得所有无效等价类均被测试用例所覆盖经验教训:采用等价类划分方法设计测试用例,按照划分等价类、列出等价列表、确定测试用例三个步骤完成,目标是把可能的测试用例组合缩减到仍然足以满足软件测试需求为止。
3.2.2-边界值分析法举例
3.2.2 边界值分析方法举例例1:成绩报告生成程序现有一个学生标准化考试批阅试卷,产生成绩报告的程序。
其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:1) 标题:这一组只有一个记录,其内容为输出成绩报告的名字。
2) 试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。
该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。
第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。
该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。
3) 每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。
每个学生的答卷在若干个记录中给出。
如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。
若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。
然后是学生乙的答卷记录。
4) 学生人数不超过200,试题数不超过999。
5) 程序的输出有4个报告:a) 按学号排列的成绩单,列出每个学生的成绩、名次。
b) 按学生成绩排序的成绩单。
c) 平均分数及标准偏差的报告。
d) 试题分析报告。
按试题号排序,列出各题学生答对的百分比。
解答:分别考虑输入条件和输出条件,以及边界条件。
给出下表所示的输入条件及相应的测试用例。
输出条件及相应的测试用例表。
通过上面表中列出的43个测试用例可以发现程序中大部分常见的错误。
如果采用随机和任意方法设计测试用例,不一定会发现这些错误。
如果使用得当,采用边界分析法的测试用例是很有效的。
在边界情况复杂的情况下,要找出适当的测试用例还需针对问题的输入域、输出域边界、耐心细致的逐个考虑。
补充(错误推测法):例2:三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
边界值分析法
• 练习:有函数f(x,y,z),其中 x∈[1900,2100],y∈[1,12],z∈[1,31] 的。请写出该函数采用边界值分析法设 计的测试用例。
练习答案
{ <2000,6,1>, <2000,6,0>, <2000,6,32>, <2000,6,31>, <2000,1,15>, <2000,0,15>, <2000,13,15>, <2000,12,15>, <1900,6,15>, <1899,6,15>, <2101,6,15>, <2100,6,15>, <2000,6,15> }
健壮性测试
• 健壮性测试是作为边界值分析的一个简单的扩充,它除了 对变量的5个边界值分析取值外,还需要增加一个略小于 最大值(max-)以及略大于最小值(min+)的取值,检查极限 值时系统的情况。因此,对于有n个变量的函数采用健壮 性测试需要6n+1个测试用例。 • 前面例1中的程序F的健壮性测试如下图所示:
说明
④学生人数不超过200,试题数不超过999。 ⑤程序的输出有4个报告: a)按学号排列的成绩单,列出每个学生的成绩、 名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。 d)试题分析报告。按试题号排序,列出各题学生 答对的百分比。 请使用边界值分析法来设计测试用例。
分析
分别考虑输入条件和输出条件,以 及边界条件。给出下表所示的输入条件 及相应的测试用例。
结论:对大小范围边界测试时,需要取比下 边界小1的值、下边界、中间值、上边界、 比上边界大1的值这5个值进行测试。
黑盒测试方法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——购物折扣(1)
一件 15.9元 三件 15.9*3=45元
实例1——购物折扣(2)
一家出售各种商品的商店,他为购买不同数量 商品的客户爆出不懂的价格,即按购买量的不 同‘分段’计价。
购买数量 头10件(即从第1件到第10件) 单价(元) 5.00
边界值分析不仅考虑输入条件,还要考 虑输出空间产生的测试情况。
3.3边界值分析的方法考虑
长期的测试工作经验告诉我们,大量的错误 是发生在输入或输出范围的边界上,而不是发 生在输入输出范围的内部。因此针对各种边界 情况设计测试用例,可以查出更多的错误。 使用边界值分析方法设计测试用例,首先应 确定边界情况。通常输入和输出等价类的边界, 就是应着重测试的边界情况。应当选取正好等 于,刚刚大于或刚刚小于边界的值作为测试数 据,而不是选取等价类中的典型值或任意值作 为测试数据。
课程内容
边界值分析概述
实例讲解与演练
总结与演练
原因猜猜猜
原因猜!猜!猜!
原因分析
程序员使用比较操作符的习惯
由于实际循环和条件检索有多种方式而产生的困惑
没清楚理解需求,尤其是边界值附近的需求
课程总结
• 边界值分析法概述 • 实例讲解与演练
折扣——三角形边界分析——年份边界划分
• 总结与演练 • 分析bug产生的原因
第二个10件(即从第11件到第20件)
第三个10件(即从第21件到第30件)
4.75
4.50
超过30件
4.00
实例二——三角形问题的边界值分析
在三角形问题描述中,除了要求边长是 整数外,没有给出其它的限制条件。在 此,我们将三角形每边边长的取范围值 设值为[1, 200] 。
边界值分析法
边界值分析法⼀、定义边界值分析法就是对输⼊或输出的边界值进⾏测试的⼀种⿊盒测试⽅法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试⽤例来⾃等价类的边界。
边界值分析法是对等价类划分法做补充的⼀种⿊盒测试设计⽅法。
实践中,由于⼤量的错误发⽣在输⼊、输出值的边界上,所以,对于各种边界值进⾏测试⽤例的设计,可以查出更多的错误。
边值点的定义:上点:边界上的点,闭内开外(闭指域的边界是封闭的,即闭区间;开指域的边界是开放的,即开区间)。
离点:离上点最近的点称为离点。
开内闭外。
内点:域范围内的任意⼀点。
⼆、边界值和等价类的相关等价类划分法:将测试过程中的输⼊、输出、操作等相似内容分组,从每组中挑选具有代表性的内容作为测试⽤例,划分为有效等价类和⽆效等价类;边界值分析法:确认输⼊、输出的边界,然后取刚好等于、⼤于、⼩于边界的参数作为测试⽤例测试;他俩的定义就是不同,⼀个属于确认有有效区间,⼀个属于确认边界,联系就是等价类划分和边界值要⼀起考虑,边界值分析法属于等价类划分法的补充,任何等价区间都有边界,有边界就有等价区间。
三、三点分析法结合等价类划分的具体情况,针对边界值的选择就包括开区间、闭区间以及半开半闭区间。
(1). 闭区间:闭区间中的情况,上点为可以取值的点,在上点之间任取⼀点就是内点。
⽽紧邻上点范围之外的第⼀对点被称为离点(也称为外点)(2).半开半闭区间:半开半闭区间中,上点与内点的定义不变。
离点是开区间⼀侧上点内部范围内紧邻的点,⽽在闭区间⼀侧是上点外部范围内紧邻的点。
(3).开区间:开区间中,上点与内点的定义仍然不变。
⽽离点就是上点内部范围内紧邻的⼀对点。
总结为,上点就是区间的端点值,⽽内点就是上点之间任意⼀点。
对于离点,要分具体情况,如果开区间的离点,就是开区间中上点内侧紧邻的点;如果是闭区间的离点,就是闭区间中上点外侧紧邻的点。
所以,当⼤家在尝试针对划分好的等价类进⾏边界值取值的时候,⼀定要有适当的范围,不是根据我们的端点值往左右两侧随意选择测试值,⽽是也有科学的⽅法进⾏选择。
边界值分析法
999
9999
隐含:
参数 关联参数 等价类类型 等价类 边界值
账户名
无
有效等价类
字母开头,长度为8 字母开头,长度1 非字母数字组成 由字母数字组成,数字开头
“magic123” “m”
无效等价类 长度大于8 长度为0(字符串为空)
“magic1234” “”
• 测试数据分类
1. 2. 3. 4. 连续的取值范围,则以该范围的边界值及边界附近的值作为测试数据 离散的值,比如1,2,3,4,5,则用最大个数,最小个数,比最小的少一,比 最大的大一的数作为测试数据 有序的集合,应该选取有序集合的第一个和最后一个元素作为测试数据 内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据
• 常见的特殊边界值
1. 2. 3. 4. 5. 屏幕上光标在最左上、最右下位置 数组元素的第一个和最后一个 报表的第一行和最后一行 循环的第0次、第1次、倒数第2次和最后一次 数值的边界值,比如字节0、255,字0、65535
• 例子:
某银行系统有一个转账功能,转账的时候需要输入一 些参数分别是 1.选择转账币种,币种有三种(人民币,美金,日元 ) 2.输入转账金额,单位100,各币种额度分别是( 100-2000, 100-1000, 1000-10000) 3. 转账账户名,账户名由字母和数字组成,长度不超 过8,不能由数字开头 4. 是否同意转账协议
参数
关联参数
等价类类型
等价类
边界值
人民币
有效等价类
100~2000
100,2000
<100 无效等价类 >2000
99
2001
有效等价类
100~1000
边界值分析法 (1)
50
50
非三角形
29
练习
某程序要求输入三个整数x、y、z,分别作 为长方体的长、宽、高,x、y、z的取值范 围在2~20之间,计算长方体的体积。
30
测试用例
x
y
z
预期输出
TC1
1
10
10
x值超出范围
TC2
2
10
10
200
TC3
3
10
10
300
TC4
10
10
10
1000
TC5
19
10
10
1900
TC6
z
122
A
65
{
123
15
其他边界值检验 包括默认值/空值/空格/未输入值/零、
无效数据/不正确数据和干扰数据等。
在实际的测试用例设计中,需要将基 本的软件设计要求和程序定义的要求结合 起来,即结合基本边界值条件和子边界值 条件来设计有效的测试用例。
16
选择测试用例的原则:
(1) 如果输入条件规定了值的范围,则应取刚达 到这个范围的边界值以及刚刚超过这个范围边界 的值作为测试输入数据。 (2) 如果输入条件规定了值的个数,则用最大个 数、最小个数和比最大个数多1个、比最小个数 少1个的数作为测试数据。 (3) 根据程序规格说明的每个输出条件,使用原 则(1)。
60
60
2
等腰三角形
T03
60
60
60
等边三角形
T04
50
50
99
等腰三角形
T05
50
50
100
非三角形
T06
60
1
2-3 边界值分析法1
编号 1 2
输入数据 -5 50
输入(用例步骤) 输入学生的成绩小于0 输入学生的成绩在0-100
期望的输出/相应 提示错误信息 输出成绩为50
3
120
输入学生的成绩大于100
提示错误信息
边界值分析法(BVA)
使用边界值分析方法设计测试用例
编号 1 2 3 4 输入数据 -1 0 1 99 输入(用例步骤) 输入学生的成绩小于0 输入学生的成绩等于0 输入学生的成绩大于0,小于100 输入学生的成绩大于0,小于100 期望的输出/相应 提示错误信息 输出成绩为0 输出成绩为1 输出成绩为99
边界值分析法(BVA) 边界值检验
在进行边界值检验时,要考虑这些 类型的以下特征:
最小值/最大值 首位/末位 上 /下 最慢/最快 最短/最长 最高/最低
第一个/最后一个 空 /满 最大/最小 最早/最迟 超过/在内 相邻/最远
边界值分析法(BVA)
越界检验的通常做法是简单地对于最大值 加1或很小的数,以及对于最小值减1或很 小的数,例如:
a b X 有两个输入变量的程序F的边界 值分析测试用例
Y
c
d
min:最小值 max: 最大值 nom: 值域里的任意值
边界值分析法(BVA)
类型二:健壮性测试
边界值分析测试的一种扩展,需 要考虑采用一个略超过最大值 (max+)及略小于最小值(min-)的 取值。
Y
c
d a b
X
有两个输入变量的程序F的健壮性测试用例
(5)分析规格说明,找出其它可能的边界条件。
边界值分析法(BVA) 技巧:
边界值分析使用与等价类 划分法相同的划分,只是边界 值分析假定错误更多地存在于 划分的边界上,因此在等价类 的边界上以及两侧的情况设计 测试用例。
黑盒测试--边界值设计测试用例
黑盒测试--边界值分析方法:一.方法简介1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2.与等价划分的区别1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4.常见的边界值1)对16-bit 的整数而言 32767 和 -32768 是边界2)屏幕上光标在最左上、最右下位置3)报表的第一行和最后一行4)数组元素的第一个和最后一个5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次5.边界值分析1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2)等价类划分:I.可以考虑作出如下划分:a、输入 (i)<0 和 (ii)>=0b、输出 (a)>=0 和 (b) ErrorII.测试用例有两个:a、输入4,输出2。
对应于 (ii) 和 (a) 。
常用黑盒测试方法
常用黑盒测试方法黑盒测试(Black box Testing)是一种测试方法,它主要基于对被测试系统的功能和性能进行验证,而不需要先了解系统的内部结构或代码的实现。
黑盒测试是从用户的角度出发,通过输入和输出的对比来验证系统的正确性。
下面将介绍一些常用的黑盒测试方法。
1. 等价类划分法(Equivalence Partitioning)等价类划分法是一种将输入和输出数据划分成不同等价类的方法。
通过选择一个代表性的数据进行测试,可以发现等价类中的共性问题。
例如,假设要测试一个输入用户名和密码的系统,等价类划分法可以将输入数据划分为有效的用户名和密码、无效的用户名和密码、用户权限不足的用户名和密码等等。
2. 边界值分析法(Boundary Value Analysis)边界值分析法是一种对输入和输出的边界情况进行测试的方法。
通常情况下,边界值测试可以很好地发现程序中存在的错误。
例如,对于一个要求输入1到100的数值的系统,边界值分析法可以选择1、2、99和100来测试,以验证系统在边界情况下的正确性。
3. 状态转换测试(State Transition Testing)状态转换测试是一种通过测试系统在不同状态下的行为来验证系统的正确性的方法。
在这种方法中,测试人员需要事先了解系统的各个状态及其之间的转换条件,通过测试不同状态之间的转换,以验证系统在状态转换过程中的正确性。
例如,一个文件管理系统可以具有打开、关闭和保存等状态,状态转换测试可以通过测试不同状态之间的转换来验证系统的正确性。
4. 决策表测试(Decision Table Testing)决策表测试是一种通过测试系统的决策逻辑来验证系统的正确性的方法。
测试人员需要构建一个决策表,列出不同情况下的输入和输出,以验证系统按照预期的逻辑进行判断和决策。
例如,一个购物网站可以具有不同的会员等级和不同的折扣策略,决策表测试可以通过测试不同的会员等级和购买金额来验证系统按照不同的折扣策略进行计算和应用。
边界值分析测试用例技术概述
期望的输出/响应
640 100 报错
实际情况
43
3. OK. Now, it is time to run test cases.
The format of the test case file:
Input values of x,y,z
运行步骤同三角形问题。
Output: commission
44
20
字符的边界值检验
21
字符的边界值检验
• 在文本输入或者文本转换的测试过程中, 需要非常清晰地了解ASCII码的一些基本 对应关系,如小写字母a和大写字母A、 空和空格的ASCII码值是不同的,而且它 们处在边界上,斜杠、冒号、@、左中 括号和单引号恰好处在阿拉伯数字、英 文字母的边界值附近。
项 字符 数字 空间
边界值附件数据 测试用例的设计思路
起始-1个字符/结束 +1个字符
假设一个文本区域要求允许输入1到 255个字符,输入1个和255个字符作 为有效等价类;输入字符(0个)和输入 256个字符作为无效等价类
如数据的输入域为1-999,其最小值为 开始位-1/结束位+1 1,而最大值为999,则0、1000则刚
27
课上思考2
• 请用边界值分析法对科学计算器的16进 制单字长的计算进行测试。
28
课上思考3:Office中的页面设置
试一下: •幻灯片的宽度和高度的边界值是什么? •采用边界值分析法为宽度和高度设计测 试用例
29
课上练习:
• 采用边界值分析法设计测试用例,对 Taxi1_fat.jar进行测试,找出其中的缺陷。
22
其它边界值检验
• 一些特殊的值,如默认值、空值、 空格、未输入值、零,可以被认为 是边界值。在文字编辑域、多选择 项上,都存在这样的特殊边界值, 或者可以看作是边界值的延伸。
边界值法
内部边界值分析
在多数情况下,边界值条件是基于应用程序 的功能设计而需要考虑的因素,可以从软件的 规格说明或常识中得到,也是最终用户可以很 容易发现问题的。 然而,在测试用例设计过程中,某些边界值条 件是不需要呈现给用户的,或者说用户是很难 注意到的,但同时确实属于检验范畴内的边界 条件,称为内部边界值条件或子边界值条件。
day
15 15 15 15 15 15
year
预期输出
2001 month超出[1,12] 2001 2001.1.16 2001 2001.2.16 2001 2001.11.16 2001 2001.12.16 2001 month超出[1,12]
作业2
某人事管理系统包括内容如下:
边界值分析测试用例
字符的边界值检验:在计算机软件中,字符也是很重要 的表示元素,其中ASCII和Unicode是常见的编码方式。 下表中列出了一些常用字符对应的ASCII码值。
字符
空 (null) 空格 (space) 斜杠 ( / ) 0 冒号 ( : ) @
ASCII码值
0 32 47 48 58 64 A a Z z
字符
ASCII码值
65 97 90 122
单引号 ( ‘ ) 96
测试 限制性用户输入:6位正整数
正常值(有效类): 边界值: 边界值: 边界值: 边界值: 无效类的值: 无效类的值: X1 = 123123 X2 = 12345 X3 = 1234567 X4 = 1 X5 = 0 X6 = -123123 X7 = asdasd
边界值分析的特点和局限性
对于一个n变量函数,边界值分析会产
生4n+1个测试用例。 边界值的取值取决于变量本身的性质。 边界值分析对布尔变量没有什么意义。 边界值分析假设变量是完全独立的。
《测试用例设计方法培训》
《测试用例设计方法培训》测试用例设计方法培训一、概述测试用例设计是软件测试中非常重要的环节,它通过设计各种场景和情况来验证软件的功能是否符合需求,以及发现潜在的缺陷。
本培训将通过介绍几种常用的测试用例设计方法,帮助大家掌握测试用例设计的技巧和方法。
二、基本概念在开始介绍测试用例设计方法之前,我们先来了解一些基本概念。
1.测试用例:测试用例是一组输入、执行条件和预期结果的组合,用于测试特定功能或特征是否能正常工作。
2.边界值分析:边界值是指输入的最小值和最大值,边界值分析是通过测试接近边界的值来验证系统的行为。
3.等价类划分:等价类是指具有相同功能或特性的输入或测试对象,等价类划分是将所有可能的输入划分成若干等价类,通过测试等价类的一个或几个代表性成员来验证系统的行为。
4.情景测试:情景测试是通过设计各种实际场景来测试软件的功能,以模拟真实用户的使用习惯和环境。
三、常用的测试用例设计方法下面将介绍几种常用的测试用例设计方法,包括边界值分析法、等价类划分法和情景测试法。
1.边界值分析法边界值分析法主要用于测试参数的边界情况。
步骤如下:(1)确定参数的最小值和最大值。
(2)根据最小值和最大值设计测试用例,包括最小值、最大值和最小值与最大值之间的边界值。
例如,对于一个接受年龄作为参数的函数,年龄的最小值为0,最大值为150。
那么我们可以设计以下边界值测试用例:-1(小于最小值)、0(最小值)、1(最小值与最大值之间)、150(最大值)和151(大于最大值)。
2.等价类划分法等价类划分法主要用于测试需要输入的数据集合的情况。
步骤如下:(1)确定每个输入需要满足的条件。
(2)将所有可能的输入划分成若干等价类。
(3)从每个等价类中选择代表性的成员作为测试用例。
举个例子,对于一个接受用户名和密码作为参数的登录功能,用户名需要满足长度在6到12之间,密码需要满足长度在8到16之间。
那么我们可以划分以下等价类:-用户名:长度小于6、长度在6到12之间、长度大于12;-密码:长度小于8、长度在8到16之间、长度大于16然后分别从每个等价类中选择代表性的成员作为测试用例。
chapter 5_边界值分析方法
会泽百家,致公天下
17
Yunnan University
软件测试
举例 —— 利用边界值作为测试数据
项 边界值 测试用例的设计思路
假设一个文本输入区域允许输入1个到255个 字 起始-1个字 符,输入1个和255个字符作为有效等价类;输 字符 符/结束+1 入0个和256个字符作为无效等价类,这几个数 个字符 值都属于边界条件值。 假设某软件的数据输入域要求输入5位的数据 最小值-1/ 值,可以使用10000作为最小值、99999作为最 数值 最大值+1 大值;然后使用刚好小于5位和大于5位的 数值 来作为边界条件。 小于空余 空间一点/ 例如在用U盘存储数据时,使用比剩余磁盘空 空间 大于满空 间大一点(几KB)的文件作为边界条件。 间一点 18 会泽百家,致公天下
边界就是应该着重测试的边界情况。
(2)选取正好等于、刚刚大于或刚刚小于边界的值
作为测试数据。
会泽百家,致公天下
4
Yunnan University
软件测试
常见的边界值
对16-bit 的整数而言 32767 和 -32768 是边界
屏幕上光标在最左上、最右下位置
报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第 0 次、第 1 次和倒数第 2 次、最后一次
Yunnan University
软件测试
练习:NextDate函数
输入条件
1≤月份≤12
1≤日期≤31
1812 ≤年≤2012
请用边界值分析设计测试用例
会泽百家,致公天下
14
Yunnan University
软件测试
边界值分析优缺点
边界值测试分析采用了可靠性理论的单缺
三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试
三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试一.方法简介1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4. 常见的边界值1) 对16-bit 的整数而言32767 和-32768 是边界2) 屏幕上光标在最左上、最右下位置3) 报表的第一行和最后一行4) 数组元素的第一个和最后一个5) 循环的第0 次、第1 次和倒数第2 次、最后一次5. 边界值分析1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等价类划分: 可以考虑作出如下划分: 输入 (i)<0 和 (ii)>=0
输出 (a)>=0 和 (b) Error
测试用例有两个:
输入4,输出2。对应于(ii)和(a)。
输入-10,输出错误提示。对应于(i)和(b)。
边界值分析: 划分(ii)的边界为0和最大正实数; 划分(i)的边界为最小负实数和0。 由此得到以下测试用例:
选择测试用例的原则:
(1) 如果输入条件规定了值的范围,则应取刚达 到这个范围的边界值以及刚刚超过这个范围边界 的值作为测试输入数据。
(2) 如果输入条件规定了值的个数,则用最大个 数、最小个数和比最大个数多1个、比最小个数 少1个的数作为测试数据。 (3) 根据程序规格说明的每个输出条件,使用原 则(1)。
推论:对于一个含有n个变量的程序, 采用边界值分析法测试程序会产生4n+1个 测试用例。
练习:有函数f(x,y,z),其中x∈[1900,2100], y∈[1,12],z∈[1,31]的。 请写出该函数采用边界值分析法设计的测 试用例。
在多数情况下,边界值条件是基于应用程序的
功能设计而需要考虑的因素,可以从软件的规格说
明或常识中得到,也是最终用户可以很容易发现问
题的。
然而,在测试用例设计过程中,某些边界值条件 是不需要呈现给用户的,或者说用户是很难注意到 的,但同时确实属于检验范畴内的边界条件,称为 内部边界值条件或子边界值条件。
1 024 1 048 576
吉(G)
太(T)
1 073 741 824
1 099 511 627 776
字符的边界值检验
在字符的编码方式中,ASCII和Unicode是比 较常见的编码方式,下面表中列出了部Null Space / 0 1 9 : @ A
输入 {最小负实数} 输入 {绝对值很小的负数} 输入 0 输入 {绝对值很小的正数} 输入 {最大正实数}
通常情况下,软件测试所包含的边界检 验有几种类型: 数字、字符、位置、质量、大小、速度、 方位、尺寸、空间等 相应地,以上类型的边界值应该在: 最大/最小、首位/末位、上/下、最快/最 慢、最高/最低、最短/最长、空/满等情况下。
怎样用边界值分析法设计测试用例?
• 首先确定边界情况。通常输入或输出等价类的边 界就是应该着重测试的边界情况。 • 选取正好等于、刚刚大于或刚刚小于边界的值作 为测试数据,而不是选取等价类中的典型值或任 意值。
举例——常见的边界值
对16-bit的整数而言32767和-32768是边界 屏幕上光标在最左上、最右下位置 报表的第一行和最后一行 数组元素的第一个和最后一个 循环的第0次、第1次和倒数第2次、最后一次
ASCII值
0 32 47 48 49 57 58 64 65
字符
B Z [ ‘ a b y z {
ASCII值
66 90 91 96 97 98 121 122 123
其他边界值检验 包括默认值/空值/空格/未输入值/零、 无效数据/不正确数据和干扰数据等。 在实际的测试用例设计中,需要将基 本的软件设计要求和程序定义的要求结合 起来,即结合基本边界值条件和子边界值 条件来设计有效的测试用例。
边界值分析法
王宇
边界值分析法概要
• 边界值分析法就是对输入或输出的边界值进行测 试的一种黑盒测试方法。 • 通常边界值分析法是作为对等价类划分法的补充, 这种情况下,其测试用例来自等价类的边界。
为什么使用边界值分析法?
• 无数的测试用例实践表明,大量的故障往往发生 在输入定义域或输出值域的边界上,而不是在其 内部。因此,针对各种边界情况设计测试用例, 通常会取得很好的测试效果。 • 例如,一个循环条件为“≤”时,却错写成“<”; 计数器发生少计数一次。
边界值分析测试
基本思想 故障往往出现在输入变量的边界值附近。 利用输入变量的 最小值(min)、 略大于最小值(min+)、 输入值域内的任意值(nom)、 略小于最大值(max-)和 最大值(max) 来设计测试用例。
边界值分析测试用例
边界值分析法是基于可靠性理论中称 为“单故障”的假设,即有两个或两个以 上故障同时出现而导致软件失效的情况很 少,也就是说,软件失效基本上是由单故 障引起的。
内部边界值条件主要有下面几种: 数值的边界值检验 字符的边界值检验 其它边界值检验
数值的边界值检验 计算机是基于二进制进行工作的,因此, 软件的任何数值运算都有一定的范围限制。
项 位(bit) 字节(byte) 范围或值 0或1 0~255
字(word)
千(K) 兆(M)
0~65、535(单字)或0~4、294、 967、295(双字)
边界值分析假定错误更多地存在于 划分的边界上,因此在等价类的边界上 以及 两侧的情况设计测试用例
• 例:测试计算平方根的函数 ——输入:实数 ——输出:实数 ——规格说明:
当输入一个0或比0大的数的时候,返回其正平方根;
当输入一个小于0的数时,显示错误信息“平方根非法 -输入值小于0”并返回0; 库函数Print-Line可以用来输出错误信息。
(4)根据程序规格说明的每个输出条件,使用原 则(2)。 (5)如果程序的规格说明给出的输入域或输出域 是有序集合(如有序表、顺序文件等),则应选 取集合中的第一个和最后一个元素作为测试用例。 (6)如果程序中使用了一个内部数据结构,则应 当选择这个内部数据结构的边界上的值作为测试 用例。 (7)分析程序规格说明,找出其它可能的边界条 件。
因此,在边界值分析法中获取测试用例的 方法是:
(1) 每次保留程序中一个变量,让其余的变 量取正常值,被保留的变量依次取min、 min+、nom、max-和max。
(2) 对程序中的每个变量重复 (1) 。
例:有二元函数f(x,y),其中x∈[1,12], y∈[1,31]。 则采用边界值分析法设计的测试用例是: { <1,15>, <2,15>, <11,15>, <12,15>, <6,15>, <6,1>, <6,2>, <6,30>, <6,31> }