发表于: 2018-09-10 22:08:32
1 732
今天完成的事:
完成了任务3测试用例。
复习边界值测试
引入
一个软件无论实现怎样各种各样丰富的功能,其内部实现都不可避免的对各种各样的数据范围进行界定与判断,从而针对不同的数据范围进行所需的处理,从而实现软件的需求。而由于需求界定不准确、设计不严密、程序书写手误等原因,对于这些数据范围边界的判断是软件极容易出错的地方,使软件做出错误的处理。从而无法满足软件需求。
针对于这种情况,软件测试中有一个测试方法叫做边界值法,这个方法也是经常被测试人员提到,我们下面来看看这个方法具体的操作方法。
为什么会有边界值分析法?
长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
例如:
程序员只处理了1-10位的情况,忘记对10位进行处理;
程序员把≤误写成了<,计数器发生少计数一次。
边界值分析法
对输入或输出的边界值进行测试的一种黑盒测试方法。
是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
边界点
1、边界是指相对于输入等价类和输出等价类而言,稍高于、稍低于其边界值的一些特定情况。
2、边界点分为上点、内点和离点。
边界值分析法&等价类划分法
边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
如何选择测试数据?(原则)
1、如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据。
例如:程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
测试数据取7个点应取10、25及50,还应取10.01,49.99,9.99及50.01
测试数据取5个点赢取10、25及50,还应取9.99及50.01
重量可以是小数,没有规定小数点个数时默认取两位
2、如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
例如,一个输入文件应包括1-255个记录。
测试数据可取1和255,还应取0及256等
3、根据规格中每个输出条件,使用原则1,如果输出条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个范围边界的值作为测试输入数据。
例如,程序的规格说明要求计算出“每月绩效奖金为0至1165.25元”。
测试用例可取0.00及1165.25,还可取-0.01及1165.26等。
4、根据规格中每个输出条件,使用原则2,如果输出条件规定了值的个数,则用最大个数、最小个数,比最小个数少1,比最大个数多1的数作为测试数据。
例如,情报检索系统,要求每次“最少显示1条、最多显示4条情报摘要”。
这时我们应考虑的测试用例包括1和4,还应包括0和5等。
5、如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
例如,程序系统设计文档中,上传的图片:图片格式、图片名字、图片大小、图片是否有效…
6、分析规格说明,找出其他可能的边界条件
例如,特殊边界值:默认值、空值、空格、零、无效数据等
边界值检验的主要类型
边界类型 | 输入 |
数字 | 最大、最小 |
字符 | 首位、末位 |
位置 | 上、下 |
重量 | 最高、最低 |
速度 | 最快、最慢 |
方位 | 最高、最低 |
尺寸 | 最长、最短 |
空间 | 空、满 |
… | … |
在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的需求规格或常识中得到,也是最终用户可以很容易发现问题的。
还有没有从软件规格说明中看不到的边界值呢?
内部边界值
有些边界值条件在软件内部,用户几乎看不到,但同时确实属于检验范畴内的边界条件,成为内部边界条件或次边界值条件。
常见的内部边界值条件有下面两种:
数值的边界值
字符的边界值
在实际的测试用例中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和内部边界值条件来设计有效的测试用例。
内部边界值(1):数值的边界值
计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。
项 | 范围或值 |
位(bit) | 0或1 |
字节(byte) | 0-255 |
字(Word) | 0-65535(单字)或0-4294967295(双字) |
例如,程序有一个输入变量x的范围是(0,10000),但是在程序内部,当想x≤255时,用一个字节表示,当x>255时用一个字表示,那么,255就是一个内部边界值。
边界条件设计测试用例步骤
1、确定边界情况
通常输入或输出等价类的边界就是应该着重测试的边界情况。
2、选取测试数据
选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值。
例如:程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……”。
测试数据取7个点应取10、25及50,还应取10.01,49.99,9.99及50.01
测试用例 | X | 输入数据 | 预期输出 |
T1 | Xmin- | 9.99 | F1 |
T2 | Xmin | 10 | F2 |
T3 | Xmin+ | 10.01 | F3 |
T4 | Xnom | 25 | F4 |
T5 | Xmax- | 49.99 | F5 |
T6 | Xmax | 50 | F6 |
T7 | Xmax+ | 50.01 | F7 |
例如:对于函数F(x1,x2),其输入变量x1和x2的取值边界定义如下:
a≤x1≤b;c≤x2≤d
其中两个变量都为正数。
编号 | X1 | X2 | F(x1,x2) |
1 | ab | c | F(ab,c) |
2 | ab | d | F(ab,d) |
3 | ab | cd |
|
4 | ab | c- |
|
5 | ab | d+ |
|
6 | a | cd |
|
7 | b | cd |
|
8 | a- | cd |
|
9 | b+ | cd |
|
边界条件测试用例设计法
基于边界的方法是根据定义域来实现的,最终演变成一般边界值条件测试、健壮性测试、最坏情况测试和健壮最坏情况测试四种技术。
1、一般边界值条件测试:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min、min+、nom、max-、max
(2)对程序中的每个变量重复(n个变量的测试用例个数为4n+1个)
2、健壮性测试:(1)每次保留程序中一个变量,让其余的变量取正常值,被保留的变量依次取min-、min、min+、nom、max-、max、max+。
(2)对程序中的每个变量重复(n个变量的测试用例个数为6n+1个)
3、最坏情况测试:(1)所有变量均可去min、min+、nom、max-、max+这五个边界值中的任何一个。(组合)
(2)测试用例为五个集合的笛卡尔乘积。对于一个n变量函数,该方法生成的测试用例数为5的n次方个。
4、健壮最坏情况测试:(1)所有变量均可取min-、min、min+、nom、max-、max、max+这7个边界值中的任何一个。
(2)测试用例为7个集合的笛卡尔乘积。对于一个n变量函数,该方法生成的测试用例数为7的n次方个。
明天计划的事:
任务4
遇到的问题:
流程图没有思路
评论