边界值分析法+场景法

合集下载

第02章_边界值分析法

第02章_边界值分析法
情况进行处理。 ➢ 程序员把 ≤ 误写成了 < ,计数器发生少计数一次。
学习目标
边界值与边界值分析法 边界值分析选取测试数据 ★ 常见的边界值类型 边界条件设计测试用例的步骤 边界条件测试用例设计法 ★
边界值分析法
边界值分析法: 是对输入或输出的边界值进行测试的一种黑 盒测试方法。 是作为对等价类划分法的补充,这种情况下, 其测试用例来自等价类的边界。
4
100
100
100
等边三角形
5
100
100
199
非三角形
6
100
100
200
等腰三角形
7
100
100
201
c超过取值范围
8
100
0
100
b超过取值范围
9
100
1
100
等腰三角形
10
100
2
100
等腰三角形
注:a取边界值
11
100
199
100
等腰三角形
的测试用例未
12
100
200
100
非三角形
13
100
测试用例 TC1 TC2 TC3 TC4 TC5 TC6 TC7 TC8 TC9 TC10 TC11 TC12 TC13 TC14 TC15 TC16 TC17 TC18 TC19
第1题参考答案
x
y
z
1
10
10
2
10
10
3
10
10
10
10
10
19
10
10
20
10
10
21
10

黑盒测试的7种测试方法

黑盒测试的7种测试方法

黑盒测试的7种测试方法黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。

在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。

很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。

下面将一一介绍。

等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

该方法是一种重要的,常用的黑盒测试用例设计方法。

1、划分等价类:等价类是指某个输入域的子集合。

在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。

因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。

取得较好的测试结果。

等价类划分可有两种不同的情况:有效等价类和无效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。

利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

无效等价类:与有效等价类的定义恰巧相反。

设计测试用例时,要同时考虑这两种等价类。

因为,软件不仅要能接收合理的数据,也要能经受意外的考验。

这样的测试才能确保软件具有更高的可靠性。

2、划分等价类的方法:下面给出六条确定等价类的原则。

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

边界值分析报告法+场景法

边界值分析报告法+场景法

黑盒测试-边界值分析法和场景法边界值分析法:实验1:某选课系统中规定每门课程的选修人数在[20,60]之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出相应测试用例。

参考答案测试设计⏹输入变量:选课人数⏹测试输入⏹选择当选课人数分别为19,20,21, 59,60和61等几个边界点⏹再加上一个正常值点40实验 2:编写一个程序,输入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。

具体如下:✓若雇员周工作小时小于40小时(0,40),则按原小时工资0.7来计算薪水。

✓若雇员周工作小时等于40小时,则按原小时工资计算薪水。

✓若雇员周工作小时介于40到50((40,50))小时的,超过40的部分按照原小时工资的1.5倍来计算薪水。

✓若雇员周工作小时超过50小时([50,60)),则超过50的部分按原小时工资的3倍来计算薪水。

✓超出60小时或小于0小时,提示输入有误,重新输入。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出测试用例和相应的测试结果。

参考答案程序参考答案:#include <stdio.h>void main(){float h;float g;float sum;sum=0.0;printf("请输入小时工资和工作小时数:"); scanf("%f",&h);scanf("%f",&g);if(h>0 && h<40)sum=0.7*h*g;else if (h>=40 && h<50)sum=40*g+(h-40)*1.5*g;else if(h>=50 && h<=60)sum=40*g+10*1.5*g+(h-50)*3*g;printf("%f",sum);}场景分析法实验 1 :下面是某高校选课系统的用例图,其“选课”用例的事件流描述如下:基本流:登录,选择课程,获取课程信息,选课,提交选课请求,显示选课结果。

边界值分析法

边界值分析法

边界值分析法
边界值分析法介绍:
>>边界值分析法是对输⼊或输出的边界值进⾏测试的⼀种测试⽅法。

它不是从⼀个等价类中任意选⼀个值作为代表,⽽是选⼀个或⼏个 值,使得该等价类的边界值成为测试关注⽬标,通常,边界值分析法作为等价类划分法的补充,则边界值分析法的测试⽤例往往来⾃ 于等价类的边界,针对边界的取值进⾏特别关注。

边界值分析法特性:
>>单单依靠等价类划分法设计测试⽤例并不能完全充分覆盖测试点,往往在边界区域更容易暴露程序问题
应⽤步骤:
>>确定边界。

通常,输⼊或输出等价类的边界即为边界值分析法着重测试的边界区域
>>选取等于、刚刚⼤于或刚刚⼩于等价类边界的值作为边界值测试数据,⽽并⾮选取等价类中的典型值或任意值
应⽤实例:
>>登录窗⼝需求说明⽤户名限制为6~10位⾃然数,⽤边界值分析法补充可得以下⽤例:。

黑盒测试方法

黑盒测试方法

黑盒测试是一种基于证明功能需求和用户最终需求的测试方法,设计黑盒测试用例的方法有如下8种:等价类划分法。

边界值分析法。

因果图法。

判定表驱动测试。

场景法。

功能图法。

错误推测法。

正交试验设计法。

在实际测试工作中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累更多的测试经历,以有效地提高测试水平和测试效率。

下面就将主要介绍这8种设计黑盒测试用例的方法。

等价类划分等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据〔有效的和无效的〕划分成假设干个等价类。

然后从每个局部中选取具有代表性的数据当做测试用例进展合理的分类,测试用例由有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。

利用这一方法设计测试用例可以不考虑程序的部构造,以需求规格说明书为依据,选择适当的典型子集,认真分析和推敲说明书的各项需求,特别是功能需求,尽可能多地发现错误。

由于等价类是在需求规格说明书的根底上进展划分的,并且等价类划分不仅可以用来确定测试用例中的数据的输入输出的准确取值围,也可以用来准备中间值、状态和与时间相关的数据以及接口参数等,所以等价类可以用在系统测试、集成测试和组件测试中,在有明确的条件和限制的情况下,利用等价类划分技术可以设计出完备的测试用例。

这种方法可以减少设计一些不必要的测试用例,因为这种测试用例一般使用一样的等价类数据,从而使测试对象得到同样的反映行为。

对于等价类我们从以下几个方面讨论它的划分方法。

1、等价类划分等价类可以划分为有效等价类和无效等价类。

〔1〕有效等价类有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。

利用有效等价类可以检验程序是否实现了规格说明预先规定的功能和性能。

有效等价类可以是一个,也可以是多个,根据系统的输入域划分假设干局部,然后从每个局部中选取少数有代表性数据当做数据测试的测试用例,等价类是输入域的集合。

2014场景法

2014场景法

④密码校验,此处对应第2个校验点
⑤取款交易选择,在此直接选择取款交易, 不再选择其他交易类型 ⑥取款金额设置 ⑦取款校验,此处对应第3个校验点 ⑧出钞 ⑨凭条打印选择,此处对应第4个校验点
⑩提供交易凭条
⑪退卡
ATM的场景测试

基本流和备选流
(2)备选流 校验点1:对卡的有效性进行校验,判断卡是否 有效 校验点2:对用户输入的密码进行校验,判断输 入的密码是否匹配预设密码 校验点3:对输入的取款金额进行校验,判断取 款金额设置是否有效 校验点4:对凭条打印进行选择,判断是否需要

基本流A1~A4、备选流E的相关描述与本案例中场景5(AE)有关。由“备选流 E(加油机油量不足)”的描述提取出场景5(AE)的名称—“油量不足”,其输
入值为“账号有效”、“非黑名单卡”、“输入购油量有效”、“账面金额有效”
和“加油机油量无效”,预期结果是“提示错误,或重新输入购油量,或退卡”。

5.A用户文章发表到网站上。

备选流: .B用户,可以直接发表
2.用户A提交发表文章请求,管理员拒绝
场景设计举例

测试用例: 1.基本流 2.基本流 备选1:更改为B用户,用户提交发表文章请求,
直接发表在网站上。(预期)如果结果出现需要管理员验
证则是缺陷 3.基本流 备选2:用户为A,用户提交发表文章请求,管
测试用例的设计 为保证覆盖准则得到很好的满足,可通过以下途径来达到: 1.应用独立路径测试的策略,每条独立路径对应一个场景 2.检查测试用例表,查看是否所以输入都取到“I”的情况。只要存在某条 件从未取到“I”,说明测试用例有漏洞。
25
ATM的场景测试
对于每个测试用例,可以继续根据边界值、等价类等方法,设计具体的测试数据。

边界值分析方法

边界值分析方法

边界值分析⽅法⼀.⽅法简介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) 。

b、输⼊-10,输出0和错误提⽰。

3.2.2-边界值分析法举例

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:三角形问题的边界值分析测试用例在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黑盒测试-边界值分析法和场景法边界值分析法:
实验1:某选课系统中规定每门课程的选修人数在[20,60]之间,小于20人不开设该门选修课,大于60人不接受后面的选课要求。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出相应测试用例。

参考答案
测试设计
⏹输入变量:选课人数
⏹测试输入
⏹选择当选课人数分别为19,20,21, 59,60和61等几个边界点
⏹再加上一个正常值点40
实验 2:编写一个程序,输入某雇员的工作时间(以小时计)和每小时的工资数,计算并输出他的工资。

具体如下:
✓若雇员周工作小时小于40小时(0,40),则按原小时工资0.7来计算薪水。

✓若雇员周工作小时等于40小时,则按原小时工资计算薪水。

✓若雇员周工作小时介于40到50((40,50))小时的,超过40的部分按照原小时工资的1.5倍来计算薪水。

✓若雇员周工作小时超过50小时([50,60)),则超过50的部分按原小时工资的3倍来计算薪水。

✓超出60小时或小于0小时,提示输入有误,重新输入。

结合黑盒测试方法中等价类划分和边界值方法设计测试案例,并给出测试用例和相应的测试结果。

参考答案
有效等价类编号无效等价类编号边界值
0~40 (1) <0 (4) 0 40
40~50 (2) >60 (5) 40 50
50~60 (3) 50 60
实际运行结果测试用例覆盖期望结果
(假设小时报酬30)
20 (1) 0.7*30*20=420 420
0 (1) 0 0
-1 (4) 输入有误,重新输入0
39 (1) 0.7*30*39=819 819
40 (1) (2) 30*40=1200 1200
41 (2) 30*40+1*1.5*30=12451245
45 (2) 40*30+5*1.5*30=1425 1425
49 (2) 40*30+9*1.5*30=1605 1605
50 (2) (3) 40*30+10*1.5*30=1650 1650
51 (2) 40*30+10*1.5*30+1*3*30=1740 1740
55 (3) 40*30+10*1.5*30+5*3*30=2100 2100
59 (3) 40*30+10*1.5*30+9*3*30=2460 2460
60 (3) 40*30+10*1.5*30+10*3*30=255
2550
61 (5) 输入有误,重新输入0
-10 (4) 输入有误,重新输入 0
程序参考答案:
#include <stdio.h> void main() {
float h; float g; float sum; sum=0.0;
printf("请输入小时工资和工作小时数:"); scanf("%f",&h); scanf("%f",&g); if(h>0 && h<40) sum=0.7*h*g;
else if (h>=40 && h<50) sum=40*g+(h-40)*1.5*g; else if(h>=50 && h<=60)
sum=40*g+10*1.5*g+(h-50)*3*g; printf("%f",sum); }
场景分析法
实验 1 :下面是某高校选课系统的用例图,其“选课”用例的事件流描述如下:
基本流:登录,选择课程,获取课程信息,选课,提交选课请求,显示选课结果。

备选流:学生无法识别(学生学号和密码无效时,会产生错误提示) 退出:
不满足选修条件,选课人数已满,和课程时间冲突
选课已经结束
要求:基于基本流和备选流,构造场景,并设计测试用例
实验2:有一个处理单价为5角钱的饮料的自动售货机,只允许投入
登录
选择 课程
浏览课程信息 结果
提交
5角或1元的硬币,其相应的规格说明书描述如下。

①若投入5角钱或1元钱的硬币,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。

(每次只投入一个硬币,只按下一种饮料的按钮。


②如投入5角的硬币,按下按钮后,总有饮料送出。

③若售货机没有零钱找,则【零钱找完】的红灯会亮,这时再投入1元硬币并按下按钮后,饮料不送出来而且1元硬币也退出来。

④若有零钱找,则【零钱找完】的红灯不会亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

要求:(1)找出基本流和备选流
(2)构造场景
(3)设计测试用例
场景法:参考答案:
实验1:
根据事件流描述,构造事件流图
根据事件流图,构造场景覆盖从用例开始到结束的路径
2.构造矩阵
☐确定列内容:除了需要包含执行场景所需的数据元素,还需要包含测试
用例标识、被测场景标识或名称
确定行内容:
▪一个负面测试用例
2.根据被测场景特征,补充相应测试用例
实验2 参考答案
(1
)分析基本流和备选流
基本流:投入5角钱,按下【橙汁】或【啤酒】的按钮,则相应的饮料就送出来。

备选流: ① 备选流1:【零钱找完】的红灯没亮,若投入1元硬币及按饮料按钮,则送出饮料的同时找回5角硬币。

② 备选流2:【零钱找完】的红灯亮,这时投入1元硬币并按下按钮后,饮料不送出来且1元硬币也退出来。

(2)分析场景 场景1:基本流 场景2:备选流1 场景3:备选流2
《软件测试方法和应用》3-71
填入测试数据

步骤

根据设计的矩阵结果,选择相应的测试数据。

相关文档
最新文档