文档库 最新最全的文档下载
当前位置:文档库 › 黑盒测试边界值已分析

黑盒测试边界值已分析

黑盒测试边界值已分析
黑盒测试边界值已分析

实验2-2 黑盒测试-边界值

【实验目的】

通过该实验体会边界值测试设计方法,如何从数值范围选取合适的边界数据进行测试。【实验环境】

JAVA语言,Eclipse环境

【实验要求】

1、实验输入材料。lower_bound的源代码。功能实现是:

在一个按升序排序的有序整数序列中,查找第一个大于等于指定元素值的所在位置,也就是返回不小于指定元素值的位置。

·当序列中存在该元素时,则指向第一个等于该元素值的位置;

·当序列中不存在该元素时,则指向第一个大于该元素值的位置。如果该序列中所有元素均大于指定元素值,则指向位置为第一个元素位置;如果该序列中所有元素均小于指定元素值,则指向位置为最后一个元素位置+1

例如: A[]={1,3,3,5,6},数组下标从1开始,则:

当value=3时,k=2(返回第一个3所在位置)

当value=4时,k=4(返回5所在位置)

当value=7时,k=6(返回6所在位置后面一个位置)

·参数范围:0<=n<=10;value>=0

输入格式:2行

第一行为序列元素的个数n,元素值value;

第二行为有序正整数序列

输出格式:序列位置k,第一个元素位置为1,此次类推。

输入样例:

5,3

1,3,3,5,6

输出样例:

2

2、测试设计。针对给定的测试需求规格进行边界值运用边界值方法进行测试设计。

Step1:列出所有测试条件

Step2:对测试条件进行边界值分析

Step3:选取边界值数据进行测试,形成测试用例

Step4:根据经验补充一些测试用例/数据

3、测试用例执行:运行给定的被测对象,执行测试用例,记录发现的缺陷。

【实验结果】

1、测试设计(边界值)

从测试规格中梳理出与一些测试条件,并对这些测试条件的取值范围进行分析。

·序列元素个数n:0<=n<=10;

·指定元素值value:value>=0

·待查找的元素值与序列中元素值进行比较:与序列中最大值、最小值、典型值。边界关系可以是刚刚小于、刚刚等于、刚刚大于

·序列元素值分布:最小值0,最大值

·序列内元素值之间比较:全部相同

以下列出的边界值分析如下:

2、测试用例及执行结果

测试用例体现对边界值编号的覆盖。

测试覆盖可以采用精简边界覆盖原则:有效覆盖一次尽可能多地覆盖,无效覆盖一次只覆盖一个

测试用例除了通过规则导出外,还可以根据经验补充一些特殊的边界数据,例x1,x2输入字母、浮点数等,具体值多少还可以结合数值范围取一个比较典型

测试用例执行后,标注测试结果。如果通过则标Pass。如果失败则标Fail

3、缺陷记录与分析

1)能发现全BUG

2)能识别出BUG的重现条件,并做出精准的BUG描述。

3)在什么条件下出现,在什么条件下不出现

4)进一步地:能对BUG的原因作简单分析

将发现的缺陷及输出结果贴图在此。有图有真相。

4、实验过程及结果分析

对实验过程及结果作简要分析,包括:

1)实验中遇到的问题、如何解决的。

2)通过该实验,你所获得的新的认识。

3)实验本身可以改进的地方。

【实验小结】

结合实验目的谈谈你对边界值测试方法的理解。包括:边界值方法的本质、应用场景、如何应用好该方法、该方法本身所存在的不足、如何改进等。

黑盒测试用例设计案例

黑盒测试用例设计案例 【例1】假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图9.11显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 【解】 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

(1)判断能否组成三角形; (2)识别等边三角形; (3)识别等腰三角形; (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。 第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。 等价分类法: 有效等价类 输入3个正整数: (1)3数相等 (2)3数中有2个数相等,比如AB相等 (3)3数中有2个数相等,比如BC相等 (4)3数中有2个数相等,比如AC相等 (5)3数均不相等 (6)2数之和不大于第3数,比如最大数是A

(7)2数之和不大于第3数,比如最大数是B (8)2数之和不大于第3数,比如最大数是C 无效等价类: (9)含有零数据 (10)含有负整数 (11)少于3个整数 (12)含有非整数 (13)含有非数字符 边界值法: (14)2数之和等于第3数 猜错法: (15)输入3个零 (16)输入3个负数 第三步:提出一组初步的测试用例,如下表所示:

第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

案例 白盒测试中的边界值测试

案例白盒测试中的边界值测试 白盒测试中需要重点测试哪些边界值呢?总结起来有以下几点: 测试数据类型的边界值,如整型的范围、单精度数的范围等。 测试数组的边界值。 测试分支判断语句的边界值:如if(a>=0)中的a=0。 1.数据类型的边界值 任何数据类型在内存中都是有一定的存储空间的。例如C语言分为DOS平台和 如果是在Turbo C(DOS环境)里面定义了一个整型变量,就需要测试这个整型变量的数值是否超出了-32768—32767这个范围;而如果是在VC(Windows 环境)里面定义了一个整型变量,就需要测试这个整型变量的数值是否超出了-2147485648—2147483647这个范围。 现看一个数据类型边界值测试的例子: #incldue void main() { int a=32765; int b=3; int c; c=a+b;;

printf(“%d”,c); } 假设该程序是用DOS环境下的Turbo C开发的,则求得的c值为32768超出了这个范围,当然不能正确打印。 启发:a和b作为两个整形变量,它们没有超出范围,而a和b计算之后的结果却超出了边界值,这也是程序员们经常犯的一个错误,要引起足够的重视。 2.数组的边界值 当测试数组时要重点测试其边界值,防止产生数组越界的问题,请看下面的例子: #include void main() { int a[5]; int i=0; for(i=0;i<=5;i++) scanf(“%d”,&a[i]); //输入数组5个元素 for(i=1;i<5;i++) printf(“%d”,a[i]); //打印数组5个元素 } 上面程序中循环时i的取值有问题。 ?第一个for循环:for(i=0;i<=5;i++),i值从0到5,赋给a[i]就变成了a[0]到a[5];而数组a[5]的范围却是从a[0]到a[4],没有a[5]这个 元素,这就是越界问题。它会有什么后果呢?我们事先在内存中只给a[5] 分配了5个整型元素所占的空间,而在用scanf语句输入时,却要输入 6个元素,那么多输入的这一个元素存在哪里呢?只能存在与数组a[5] 相邻的内存空间,而这一空间是没有提前分配的,其中不一定存储什么 样的数据,因此就比较危险,可能幼年期内存溢出的错误。 ?第二个for循环:for(i=1;i<5;i++),i值从1到4,输出a[1]到a[4],显然把a[0]这一数组元素漏掉了,虽然这一问题不是数组越界问题,但 也属于边界值出了问题。 可以将程序修改如下: #include void main() { int a[5]; int i=0; for(i=0;i<5;i++) scanf(“%d”,&a[i]); //输入数组5个元素 for(i=0;i<5;i++) printf(“%d”,a[i]); //打印数组5个元素 }

2.2边界值法练习题

1.请用边界值分析法设计三角形问题的测试用例 在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。边1,边2,边3,还是a、b、c 按钮名称【提交】。 边界值:0,1,2,99, 100, 101 序号 输入内容/操作 期望结果 实际 结果a b c 1 1 1 1 等边三角形 2 0 1 1 请输入[1,100]之 间的数 3 2 1 1 非三角形 4 99 1 1 等腰三角形 5 100 1 1 等腰三角形 6 101 1 1 请输入[1,100]之 间的数 7 1 0 1 请输入[1,100]之 间的数 8 1 2 1 非三角形 9 1 99 1 等腰三角形 10 1 100 1 等腰三角形 11 1 101 1 请输入[1,100]之 间的数 12 1 1 0 请输入[1,100]之 间的数 13 1 1 2 非三角形

14 1 1 99 等腰三角形 15 1 1 100 等腰三角形 16 1 1 101 请输入[1,100]之 间的数 2.请用边界值分析法写出NextDate函数的测试用例 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。 边界值:year 取1911 1912 1913 1990 2049 2050 2051 mouth取-1 1 2 11 12 13 day取0 1 2 30 31 32 测试用例: 序号 输入内容 期望结果(NextDate)Year Mouth day 1 1911 10 6 Year超出[1912,2050] 2 1912 10 6 1912.10.7 3 1913 10 6 1913.10.7 4 1990 10 6 1990.10.7 5 2049 10 6 2049.10.7 6 2050 10 6 2050.10.7 7 2051 10 6 2051.10.7

黑盒测试方法实例

黑盒测试方法实例分析 一:三角形问题(等价类划分法) 例:输入三个整数为三角形的三条边的长度值,程序打印输出这个三角形为不等边的,等腰的,或是等边三角形。 分析: 设三边分别为A,B,C,如能构成三角形的三边,须: ●A>O,B>0,C>0,且A+B>C,B+C>A,A+C>B; ●如是等腰三角形,则要判断A=B||A=C; ●如是等边三角形,须判断是否A=B,且B=C,且A=C; 由此可得三角形等价类设计表:

设计测试用例,输入顺序为A,B,C 二:找零钱最佳组合(边界值分析法) 例:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种); 1:分析输入的情形 R:商店货品价格(R=<100且R为整数) P:顾客付款金额(0 100 (无效输出)(1) ●R <= 0 (无效输出)(2)

(1)(2)为R的无效输入 ●P > 100(多付)(无效输出)(3) ●0 < R < = 100 P < R (少给)(无效输出)(4) (3)(4)为P的无效输入 ●R<= P <= 100 (5) 0 < R < = 100 (6) (5)(6)同时满足,交易才能进行2:分析输出情形 设PR=P-R(即PR为找给顾客的余额) ●N50 N50 = 1 (PR>=50)(7) N50 = 0 (PR<50)(8) ●N10 4>=N10>=1 (40>=PR>=10) (9) N10 = 0 (PR<10) (10) ●N5 N5=1 (11) N5 = 0 (PR减去个位上钱数能被10整除)(如14-4=10)(12)●N1 4>=N1>=1 (13) N1 = 0 (PR为5的倍数)(14) 3:由上述输入/输出条件组合出可能的情形。 ●R > 100 (1) ●R <= 0 (2) ●0 < R <= 100, P > 100 (3) ●0 < R <= 100, P < R (4) ●0 < R <= 100, R <= P <= 100, RR = 50 (5)(6)(7) ●0 < R <= 100, R <= P <= 100, RR = 49 (5)(6)(8)(9)(11)

实验黑盒测试用例设计

实验1 黑盒测试用例设计 1、实验目的 1、掌握黑盒测试用例的设计方法。 2、综合运用所学的黑盒测试方法设计测试用例。 2、实验准备 … 1、黑盒测试用例的设计方法。 2、测试用例模板。 3、实验内容 基本训练 实验一:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图1显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。@ 图1 实验二:为自动售货机设计黑盒测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 | 扩展训练 题目1:利用因果图法编写测试用例。 某奖金计算软件实现功能如下: 1该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。 2员工表现分为普通、优秀和特殊贡献(普通和优秀员工都可以有特殊贡献,普通员工表现普通和管理人员表现普通拿的工资是不同的)。 } 3 根据员工的分类和表现,将奖金分为1类奖金,2类奖金——。 具体分析: 输入条件:员工类别:普通员工A1、管理人员A2 员工表现:普通B1、优秀B2、特殊贡献B3 输出条件:奖金类别:1类奖金C1、2类奖金C2—— … 其中:A1和A2是互斥的,B1和B2是互斥的,B1和B3,B2和B3可以同时满足。 普通员工:A1+B1—>C1 A1+B2 —〉C2 A1+B1+B3—〉C3 A1+B2+B3—〉C4 】 管理人员:A2+B1—〉C5 A2+B2—〉C6 A2+B1+B3—〉C7 A2+B2+B3—〉C8 4、实验步骤 ~ 基本训练 实验一步骤: 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:(1)判断能否组成三角形;

软件黑盒测试边界值分析

软件黑盒测试边界值分析 黑盒测试 黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。 黑盒测试试图发现以下类型的错误: (1)功能不对或遗漏, (2)界面错误, (3)数据结构或外部数据库访问错误, (4)性能错误和 (5)初始化和终止错误。 白盒测试在测试的早期执行,而黑盒测试主要用于测试的后期。黑盒测试故意不考虑控制结构,而是注意信息域。 边界值分析 边界值分析也是一种黑盒测试方法,适度等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误。 1 选择测试用例的原则 一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据; 二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;

三、根据规格说明的每一个输出条件,使用规则一; 四、根据规格说明的每一个输出条件,使用规则二; 五、如果程序的规格说明给出的输入域或输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个和最后一个元素作为测试用例; 六、如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例; 七、分析规格说明,找出其他可能的边界条件。 2 软件测试边界值法举例 找零钱最佳组合 假设商店货品价格(R)皆不大於100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种) 一、分析输入的情形 R>100 0100 R<=P<=100 P

黑盒测试的五种典型方法

1.等价类划分 等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。因此我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“……项数可以从1 到999……”,则可取有效等价类为“l考项数<999”,无效等价类为“项数<l,,及“项数>999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开头……”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。 如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。 输入条件有效等价类无效等价类 。。。。。。 。。。。。。。。。。。。 。。。。。。。。。。。。 。。。。。。 根据已列出的等价类表,按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的”、“有针对性的”测试用例。后面介绍的边值分析法可以弥补这一缺点。 2.因果图 等价类划分法并没有考虑到输入情况的各种组合。这样虽然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描述中存在什么问题。

[黑盒测试基本方法]之等价类与边界值

测试用例设计方法之等价类划分与边界值分析 1.等价类划分 1.1.前言 我们知道软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例运行软件,以发现软件错误的过程。但在设计测试用例时,往往程序的输入是不可能穷举的。因此,我们在测试某个程序时就被限制在从所有的输入条件中挑选某个小的子集来设计测试用例。选择这个子集的前提是必须保证子集是正确的,保证子集尽可能的发现最多的错误,保证子集能代表其他大部分的测试用例,保证子集的数量是最为合理的。 1.2.定义 在前言中提到的“子集”,因为他们一个个具有代表性的集合,我们将这个“子集”称为等价类。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。 1.3.方法应用 使用等价类划分方法来做测试,主要分两个步骤:确定等价类,生成测试用例。 1.3.1.确定等价类 确定等价类的过程是根据规格说明选取每一个输入条件将其划分为两个或更多的组。一般将等价类分为两类,有效等价类和无效等价类。有效等价类代表对程序的有效输入。无效

等价类代表的则是其他任何可能的不正确的输入。遵循“有效”,“无效”这个两个原则我们可以设计一个等价类表,确定等价类的结果就是生成一个等价类表。 1.3. 2.生成测试用例 根据第一步的等价类表来生成测试用例,其过程如下: 1.为每一个等价类设置一个不同的编号 2.编写新的测试用例,尽可能多地覆盖那些尚未被覆盖的有效等价类,直到所有的有效等 价类都被测试用例所覆盖。也就可理解为一个测试用用例可以涵盖多个有效等价类。 3.编写新的测试用例,覆盖一个且一个尚未被覆盖的无效等价类,直到所有的无效等价类 都被测试用例所覆盖。也就可以理解为一个测试用例只能涵盖一个无效等价类。 生成一个测试用例表: 1.4.一个范例 1.4.1.需求规格说明 在各种输入条件下,测试程序的登录对话框功能。 用户名和密码的规则如下: ?用户名长度为6至10位(含6位和10位) ?用户名由字符(a-z、A-Z)和数字(0-9)组成 ?不能为空、空格和特殊字符 密码规则同用户名规则

白盒测试和黑盒测试

白盒测试 白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子部的东西以及里面是如何运作的。"白盒"法全面了解程序部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。 中文名:白盒测试 外文名:white-box testing 别称:结构测试、透明盒测试 白盒测试测试方法 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化: 1.语句覆盖每条语句至少执行一次。 2.判定覆盖每个判定的每个分支至少执行一次。 3.条件覆盖每个判定的每个条件应取到各种可能的值。 4.判定/条件覆盖同时满足判定覆盖条件覆盖。 5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。 6.路径覆盖使程序中每一条可能的路径至少执行一次。 白盒测试要求

边界值分析法案例

1.边界条件测试 边界条件是指软件计划的操作界限所在的边缘条件。 程序在处理大量中间数值时都是对的,但是可能在边界处出现错误。比如数组的[0]元素的处理。想要在Basic中定义一个10个元素的数组,如果使用Dimdata(10) AsInteger,则定义的是一个11个元素的数组,在赋初值时再使用For i =1 to 10 ...来赋值,就会产生权限,因为程序忘记了处理i=0的0号元素。 数据类型:数值、字符、位置、数量、速度、地址、尺寸等,都会包含确定的边界。 应考虑的特征:第一个/最后一个、开始/完成、空/满、最慢/最快、相邻/最远、最小值/最大值、超过/在内、最短/最长、最早/最迟、最高/最低。这些都是可能出现的边界条件。 根据边界来选择等价分配中包含的数据。然而,仅仅测试边界线上的数据点往往不够充分。提出边界条件时,一定要测试临近边界的合法数据,即测试最后一个可能合法的数据,以及刚超过边界的非法数据。以下例子说明一下如何考虑所有可能的边界: -------------------------------------------------------------------------------- 如果文本输入域允许输入1-255个字符。 尝试:输入1个字符和255个字符(合法区间),也可以加入254个字符作为合法测试。 输入0个字符和256个字符作为非法区间。 -------------------------------------------------------------------------------- 如果程序读写软盘 尝试:保存一个尺寸极小,甚至只有一项的文件。 然后保存一个很大的——刚好在软盘容量限制之内的文件。

实验1利用黑盒测试技术设计测试用例分析

14级本科《软件测试技术》实验指导书 实验1 利用黑盒测试技术设计测试用例 【实验目的】 1、熟悉并掌握黑盒测试的方法:等价类划分法、边界值分析法、错误推测法、场景法。 2、了解待测的功能,灵活应用黑盒测试方法中的等价类划分法、边界值分析法、错误推测法以及场景法,设计测试用例,掌握正面测试和负面测试。 【实验内容】 【1】应用等价类划分法进行测试。 用户注册功能,要求用户密码必须满足两个条件: 长度为6到8位。 必须是字母和数字的组合。 (1)请分析等价类,填写表1-1。 表1-1 等价类表 (2)根据表1-1的等价类设计测试数据,填写表 1-2。 表1-2 根据等价类划分法设计的测试数据 【2】应用等价类划分法和边界值分析法进行测试。 在教务系统中进行课程成绩录入,要求0≤成绩≤100,且成绩为整数。 (1)请分析等价类,填写表1-3。 表1-3 等价类表

(2)根据表1-3的等价类设计测试数据,填写表1-4。 表1-4 根据等价类划分法设计的测试数据 (3)根据边界值分析法设计测试数据,填写表1-5。 表1-5 根据边界值分析法设计的测试数据 阅读附录A.9的功能描述,了解借书功能。设计借书功能的测试用例。(1)首先按照场景法来分析借书功能的基本流和备选流,见表2-12。 表2-12 借书功能的基本流和备选流 (2)设计借书功能的场景,见表2-13。 表2-13 借书功能的场景设计

I(Invalid,无效的)表示无效数据,“n/a”表示这个条件不适用于测试用例。 表2-14 测试用例表 【4】设计修改产品功能的测试用例。 阅读附录A.3、A.4的功能描述,了解添加产品、修改产品功能,分析添加产品功能的测试用例的设计思路,如表2-4所示,参考添加产品功能的测试用例(如表2-5所示),设计修改产品功能的测试用例,填写表2-6。 表2-4 添加产品功能的测试用例的设计思路

边界值测试

“三角形问题”边界值测试

“日期处理”边界值测试判断闰年 计算下一天 计算上一天

测试结果中1990年1月28日的上一天在显示结果中没有显示,截图如下: 分析原因:在程序中计算上一天的函数中对于当月份等于1是只考虑了1月份的第1日,而忘记考虑1月份的其他日期,所以导致当输入1月28日时没有出现上一日的结果。 计算星期几

离生日12月31日的天数

佣金计算”边界值测试 实验总结: 此次的实验主要是对三角形问题,日期处理问题,佣金计算问题的程序分别进行边界值测试,在实验中,我对自己的三个程序分别进行了一般边界值测试,三角形问题中通过对设计用例的测试结果显示预测输出和测试结果全部符合没有出现问题,在日期处理问题中,计算上一日的过程中1900年1月28日的测试结果与预期结果有不同,程序中出现了错误,通过分析,由于对1月份的处理过程中没有对1月份的除第一日以外的其他的值进行处理,所以出现了错误,其他的测试结果与预期结果都是相符的。在佣金计算中,预期输出与测试结果都相符。通过此次的实验我学会了对于一般边界值测试的分析方法及过程,在测试过程开始之前要先对参数进行范围的确定,然后根据一般边界值测试的方法和参数设计用例。 通过实验总结的一般边界值测试法的优缺点: 优点:通过对测试结果的分析,可以更准确的知道错误点,能够更快的确定程序中由于什么错误而导致了结果与预期的输出不相符。同时测试的用例较少但是能够基本的找出程序中的错误。 缺点:测试用例不够全面,只能找到程序中的基本错误,不能够全面的对程序进行测试分析。测试用例对于程序的结构分析不能起到很好的指导作用。

测试用例设计方法——边界值分析法

边界值分析法的学习 (2016/2/29--------2016/3/6)本周是我来北京学习的第二周,通过对上周等价类划分法的学习是我深深感受到了,在做功能测试时,测试用例设计的好坏直接影响到测试效率和质量。一个好的测试用例能有效提高工作效率,更能有效节省公司的有限资源。 我相信大家在开发一个软件的时候,循环结构可能会不厌其烦的出现在你的程序设计中。下面就是一个循环结构的代码片段: int i = 0; while(i < 10){ System.out.println(i); //输出变量的值 i++; //变量的值增加1 } 其执行流程为: 1、执行int I = 0; 2、判断i<10 是否成立,如果不成立则结束,否则执行 下一步 3、输出变量i 的值 4、i 的值增加1 5、跳转到步骤2 继续执行 代码很简单,相信大家都可以理解。那么,大家知道这

段代码在黑盒测试中如何来确定I<10中的关系运算符是<、>、还是>=、<=呢?很多人可能已经想到了就是几个关键性的数据:9、10、11。 通过这个小例子,大家也许就明白了什么是边界值分析法。即: 1)如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据; 2)如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数 多一的数作为测试数据; 3)如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最 后一个元素作为测试数据; 4)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试数据。

软件测试 边界值测试 实验报告

武 夷 学 院 实验报告 数学与计算机系 课程名称: 软件测试 实验题目: 边界值测试 学生班级: 09级计科一班 学生姓名: 学生学号: 200940110 指导教师: 刘靖 完成日期: 2011.10.11

实验二边界值测试 一、实验目的 通过本次实验使学生熟悉黑盒测试的边界值测试方法,并初步具备针对功能的测试用例设计。 二、实验环境 硬件环境:微型计算机。 软件环境:Windows 操作系统,Microsoft V isual Studio 2005等。 三、实验内容 题目一:三角形问题 输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。 题目二:找零钱最佳组合问题 假设商店货品价格(R)皆不大于100 元(且为整数),若顾客付款在100 元内 (P) ,求找给顾客最少货币个(张)数?(货币面值50 元10 元,5 元,1 元四种)1.请用针对输入域的边界值分析法对三角形问题设计测试用例,并将这次测试和三角形问题的第一次测试做一下比较分析。 2.请用针对输出域的边界值分析法对找零钱最佳组合问题设计测试用例,并将这次测试和找零钱最佳组合问题的第一次测试做一下比较分析。 四、实验步骤 1.针对输入域用边界值分析法对三角形问题设计测试用例 用边界值分析法设计测试用例,按照下列步骤进行: (1)分析各变量取值 (2)测试用例数 (3)设计测试用例边界值测试方法设计测试用例 (4)执行测试用例,记录测试结果,报告发现的问题 (5)将这次测试和三角形问题的第一次测试做一下比较分析。

基于边界值分析法的测试用例

基于边界值分析法的测试用例 编号输入数据测试的 边界条 件预期结果实际输出结果备注(预期结 果与实际结 果比较) 1 99999999999-99999999999 差为0 0 0 相符 2 99999999999-99999999998 差为正 数 1 1 相符 3 1-99999999999 差为负 数 -99999999998 -99999999999 不相符 4 2-99999999999 差为负 数 -99999999997 -99999999999 不符99999999998-99999999999 差为负-1 -1 相符5 1+99999999998 和为正 数 99999999999 99999999999 相符 6 99999999999/81 商为正1234567901. 1234567901. 相符 7 99999999999/99999999998 商为正 数 1.000000000 1.000000000 相符 8 99999999999 Sqrt 316227.7660 316227.7660 相符 9 99999999999*25% 24999999999 24999999999 相符 -9999999999*25% -2499999999 2499999999 相符 1/99999999999 1.00000E-11 1.00000E-11 相符正数加 法 质数13+13 13+56

13+49 13+0.3 13+3.247 13+2sqrt 13+1/3 偶数 56+49 56+0.3 56+3.247 56+2sqrt 56+1/3 非质数 的奇数 49+0.3 49+3.247 49+2sqrt 49+1/3 有限小 数 0.3+3.247 0.3+2sqrt 0.3+1/3 无限小 数

实验黑盒测试用例设计

^ 实验1 黑盒测试用例设计 1、实验目的 1、掌握黑盒测试用例的设计方法。 2、综合运用所学的黑盒测试方法设计测试用例。 2、实验准备 1、黑盒测试用例的设计方法。 2、测试用例模板。 3、实验内容 ( 基本训练 实验一:假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图1显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 图1 实验二:为自动售货机设计黑盒测试用例 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 扩展训练 ~ 题目1:利用因果图法编写测试用例。 某奖金计算软件实现功能如下: 1该软件可以计算某公司的年终奖,该公司员工分为普通员工和管理人员。 2员工表现分为普通、优秀和特殊贡献(普通和优秀员工都可以有特殊贡献,普通员工表现普通和管理人员表现普通拿的工资是不同的)。 3 根据员工的分类和表现,将奖金分为1类奖金,2类奖金——。 具体分析: 输入条件:员工类别:普通员工A1、管理人员A2 员工表现:普通B1、优秀B2、特殊贡献B3 @ 输出条件:奖金类别:1类奖金C1、2类奖金C2—— 其中:A1和A2是互斥的,B1和B2是互斥的,B1和B3,B2和B3可以同时满足。 普通员工:A1+B1—>C1 A1+B2 —〉C2 A1+B1+B3—〉C3 A1+B2+B3—〉C4 管理人员:A2+B1—〉C5 A2+B2—〉C6 ( A2+B1+B3—〉C7 A2+B2+B3—〉C8 4、实验步骤 基本训练 实验一步骤: 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即: (1)判断能否组成三角形; (2)识别等边三角形; -

边界值分析方法

设计测试用例方法--边界值分析方法 1方法简介 1.1 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 1.2 与等价划分的区别 1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。 2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。 1.3 边界值分析方法的考虑 长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。 使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。 1.4 边界值分析 1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。 例:测试计算平方根的函数 --输入:实数 --输出:实数 --规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

2) 等价类划分: I.可以考虑作出如下划分: a、输入 (i)<0 和 (ii)>=0 b、输出 (a)>=0 和 (b) Error II.测试用例有两个: a、输入4,输出2。对应于 (ii) 和 (a) 。 b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。 3) 边界值分析: 划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例: a、输入 {最小负实数} b、输入 {绝对值很小的负数} c、输入 0 d、输入 {绝对值很小的正数} e、输入 {最大正实数} 4) 通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。 5) 相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。

黑盒测试--边界值设计测试用例

黑盒测试--边界值分析方法: 一.方法简介 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)>=0 b

黑盒测试用例设计方法案例与练习题

黑盒测试用例设计方法案例与练习题1、等价类 案例 登录功能 用户名和密码登录(以在线考试系统为例) 年龄字段输入 2、网站注册页面年龄输入要求:某网站前台用户注册页面,其中有年龄字段的输入,要求 练习题 三角形 输入三角形三边应为正整数,分别构成非三角形、一般三角形、等腰三角形和等边三角形。 1、需求分析: 1、正整数 2、两边之和大于第三边 3、两边相等 4、三边相等 2

3 2、边界值 案例 登录功能 实例同等价类 年龄字段输入 实例同等价类,边界值设计如下

练习题 保险费率计算 某保险网站的前台计算保费页面,其中有年龄字段的输入,不同的年龄段会使用不同的费率计算标准。 其中: 01-15岁,费率为:10% 16-20岁,费率为:15% 21-50岁,费率为:20%

等价类与边界值综合练习题 1、在某一版的编程语言中对变量名称规格作如下规定:变量名称是由字母开头的,后跟字母或者数字的任意组合构成。编译器能够区分的有效字符数为8个,并且变量名称必须先声明,后使用,在同一声明语句中,变量名称至少必须有一个。 输入条件: 1、变量名称是由字母开头6、变量名称不能重复 2、字母或者数字的组合7、字母大小写敏感 3、有效字符数为8个8、不能使用关键字 4、变量名称必须先声明 5、声明语句中变量名称至少必须有一个

3、有效字 符数为8个[1-8] [1-8] 1 A17 0 0 B11 8 A18 >8 9 B12 6 A19 4、变量名 称必须先声明先声明A20 不声明使用B13 先使用后声明B14 5、声明变量至少为一个声明变量为一个A21 无变量声明B15 声明变量为多个A22 6、变量名 称不能重 复 变量名称不重复A23 变量名称重复B16 7、字母大 小写敏感 字母大小写敏感AbD A24 8、不能使 用关键字 不使用关键字abc A25 使用关键字int B17 2、126邮箱注册 输入条件有效等价类编号无效等价类编号 字符长度[6-18] 1 0 9 118 11 空格12

黑盒测试:边界值分析法及测试用例设计

20 14 —20 15 学年第 2 学期 软件测试技术课程 实验报告 学院:计算机科学技术 专业:软件工程 班级:软件一班 姓名:马文龙 学号:041240139 任课教师:刘玉宝

实验日期:2015年 4 月23 日实验题目黑盒测试:边界值分析法及测试用例设计 实验目的1、掌握边界值的概念。 2、掌握边界值分析法的测试用例设计方法。 实验内容 对于找零钱最佳组合问题运用边界值分析法设计测试用例,并执行测试,撰写实验报告。 实验步骤: ①分析边界值。 ②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实 验1)。 ③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。 实验步骤: 通过假设商店货品价格(R) 都不大于100元(且为整数),若顾客付款(P)在100元内,现有一个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。假定此商店的货币面值只包括:50元(N50)、10元(N10)、 5元(N5)、1元(N1) 四种。 1.用例编号说明表格式如下: 用例编号N50 N10 N5 N1 找零张数 1 2 0 0 0 0 2 2 0 0 1 Error 3 0 100 0 0 0 4 0 0 20 0 0 5 0 0 0 100 0 6 0 101 0 0 Error

7 0 0 21 0 Error 8 0 0 0 101 Error 9 0 0 0 0 1 2.运用边界值测试用例设计法设计测试用例,得到测试用例表。测试用例表格式如 下: 测试用例 ID 输入数据操作期望结果实际输出 B1 N50=2 N10=0 N5=0 N1=0 计算找零张数0 0 B2 N50=2 N10=0 N5=0 N1=1 计算找零张数Error Error B3 N50=0 N10=100 N5=0 N1=0 计算找零张数0 0 B4 N50=0 N10=0 N5=20 N1=0 计算找零张数0 0 B5 N50=0 N10=0 N5=0 N1=100 计算找零张数0 0 B6 N50=0 N10=101 N5=0 N1=0 计算找零张数Error Error

黑盒测试边界值已分析

实验2-2 黑盒测试-边界值 【实验目的】 通过该实验体会边界值测试设计方法,如何从数值范围选取合适的边界数据进行测试。【实验环境】 JAVA语言,Eclipse环境 【实验要求】 1、实验输入材料。lower_bound的源代码。功能实现是: 在一个按升序排序的有序整数序列中,查找第一个大于等于指定元素值的所在位置,也就是返回不小于指定元素值的位置。 ·当序列中存在该元素时,则指向第一个等于该元素值的位置; ·当序列中不存在该元素时,则指向第一个大于该元素值的位置。如果该序列中所有元素均大于指定元素值,则指向位置为第一个元素位置;如果该序列中所有元素均小于指定元素值,则指向位置为最后一个元素位置+1 例如: A[]={1,3,3,5,6},数组下标从1开始,则: 当value=3时,k=2(返回第一个3所在位置) 当value=4时,k=4(返回5所在位置) 当value=7时,k=6(返回6所在位置后面一个位置) ·参数范围:0<=n<=10;value>=0 输入格式:2行 第一行为序列元素的个数n,元素值value; 第二行为有序正整数序列 输出格式:序列位置k,第一个元素位置为1,此次类推。 输入样例: 5,3 1,3,3,5,6 输出样例: 2 2、测试设计。针对给定的测试需求规格进行边界值运用边界值方法进行测试设计。 Step1:列出所有测试条件 Step2:对测试条件进行边界值分析 Step3:选取边界值数据进行测试,形成测试用例 Step4:根据经验补充一些测试用例/数据 3、测试用例执行:运行给定的被测对象,执行测试用例,记录发现的缺陷。 【实验结果】 1、测试设计(边界值) 从测试规格中梳理出与一些测试条件,并对这些测试条件的取值范围进行分析。 ·序列元素个数n:0<=n<=10; ·指定元素值value:value>=0

相关文档