(完整版)讲课黑盒测试练习题答案

合集下载

实验七-黑盒测试之场景法测试实验(参考答案)

实验七-黑盒测试之场景法测试实验(参考答案)

实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验1.1 实验目的1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。

2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。

1.2 实验平台操作系统:Windows 7或Windows XP1.3 实验内容及要求1、练习1软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。

场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。

下面是对某IC卡加油机应用系统的基本流和备选流的描述。

基本流A;序号用例名称用例描述1 准备加油客户将IC加油卡插入加油机2 验证加油加油机从加油卡的磁条中读取账户代码,并检查它是否属于卡可以接收的加油卡3 验证黑名单加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡4 输入购油量客户输入需要购买的汽油数量5 加油加油机完成加油操作,从加油卡中扣除相应金额6 返回加油卡退还加油卡备选流:序号用例名称用例描述B 加油卡无效在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退卡,并退出基本流C 卡账户属于黑在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂失,加油机名单吞卡退出基本流D 加油卡账面现金不足系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡E 加油机油量不足系统判断加油机内油量不足,重新加入基本流A4,或选择退卡(1)使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。

场景1:A场景2:A、B场景3:A、C场景4:A、D场景5:A、E(2)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。

如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。

大连东软信息学院软件测试黑盒测试方法习题及答案讲解

大连东软信息学院软件测试黑盒测试方法习题及答案讲解

⼤连东软信息学院软件测试⿊盒测试⽅法习题及答案讲解/1.现有⼀个⼩程序,能够求出三个在-10000到+10000间整数中的最⼤者,程序界⾯如图所⽰,⽤等价类划分法设计测试⽤例。

答案:(1)进⾏等价类划分,如下:(3)根据等价类表设计测试⽤例,如下表所⽰。

分数:10题型:解答题操作题类型:Word难度:32. NextDate函数有三个变量month,day,year的函数,输出为输⼊⽇期下⼀天的⽇期。

如:输⼊为2007年7⽉19⽇,输出为2007年7⽉20⽇。

要求三个变量都为整数,且满⾜:条件1:1 ≤month ≤12条件2:1 ≤day ≤31条件3:1912 ≤year ≤2050⽤等价类划分法设计NextDate函数的弱健壮等价类测试⽤例。

答案: NextDate函数的弱健壮等价类测试⽤例如下表所⽰。

3.⼀个程序根据输⼊三个整数作为三边的边长,判断所构成的三⾓形。

当此三⾓形为⼀般三⾓形、等腰三⾓形、等边三⾓形时,分别作计算。

⽤等价类划分⽅法为该程序设计测试⽤例。

答案:率其中,保险费率依点数不同⽽有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;⽽点数⼜是由投保⼈的年龄、性别、婚姻状况和抚养⼈数来决答案:(1)分析程序规格说明中给出和隐含的对输⼊条件的要求,列出等价类表(包5.某城市的电话号码由三部分组成。

这三部分的名称和内容分别是:地区码:空⽩或三位数字;前缀:⾮’0’或’1’开头的三位数;后缀:四位数字。

假定被调试的程序能接受⼀切符合上述规定的电话号码,拒绝所有不符合规定的号码,⽤等价分类法来设计它的测试⽤例。

答案:划分等价类,包括4个有效等价类,11个⽆效等价类。

6.针对以下问题:某⼀种8位计算机,其⼗六进制常数的定义是以0x或0X开头的⼗六进制整数,其取值范围为-7f~7f(不区分⼤⼩写字母),如0x13、0x6A、-0x3c。

请采⽤等价类划分的⽅法设计测试⽤例。

黑盒测试方法课程练习题及答案

黑盒测试方法课程练习题及答案

黑盒测试方法课程练习题及答案黑盒测试方法课程练习题练习1某城市的电话号码由三部分组成。

第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。

请用等价分类法来设计测试用例。

划分等价类:输入等价类有效等价类无效等价类地区码空白(1)三位数字(2)不是空白(3)有非数字字符(4)少于三位数字(5)多于三位数字(6)前缀不是0开头(7)不是1开头(8)三位数字(9)0开头(10)1开头(11)有非数字字符(12)少于三位数字(13)多于三位数字(14)电话号码八位数字(15)有非数字字符(16)少于三位数字(17)多于三位数字(18)设计测试用例:选取数据覆盖等价类编号234-12345678 (1)(7)(8)(9)(15)123-234-12345678 (2)(7)(8)(9)(15)123-234-12345678 (3)1we-234-12345678 (4)12-234-12345678 (5)1234-234-12345678 (6)123-012-12345678 (10)123-123-12345678 (11)123-a12-12345678 (12)123-23-12345678 (13)123-2345-12345678 (14)123-234-1234567a (16)123-234-12334 (17)123-234-123456789 (18)练习2某城市的电话号码由三部分组成。

第一部分为地区码:空白或三位数字;第二部分为前缀:非0或1开头的三位数;第三部分为主要电话号码:八位数字。

等价类结合边界值法:选取数据覆盖等价类编号234-12345678 (1)(7)(8)(9)(15)123-234-12345678 (2)(7)(8)(9)(15)123-234-12345678 (3)1we-234-12345678 (4)12-234-12345678 (5)1-234-12345678 (5)1234-234-12345678 (6)12345-234-12345678 (6)123-012-12345678 (10)123-123-12345678 (11)123-a12-12345678 (12)123-23-12345678 (13)123-2-12345678 (13)123-2345-12345678 (14)123-23456-12345678 (14)123-234-12334 (17)123-234-123 (17)123-234-123456789 (18)123-234-12345678912 (18)练习3有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。

黑盒测试和白盒测试部分阶段性测试题

黑盒测试和白盒测试部分阶段性测试题

1.如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆盖、条件覆盖和条件组合覆盖。

(参阅课件“第三章白盒测试及其实例设计(第二节路经分析测试).ppt”)答案:覆盖种类需满足的条件测试数据期望结果判定覆盖A>1, B=0 A=2, B=0 执行S1A>1, B¹0或A£1, B=0或A£1, B¹0A=2, B=1或A=1, B=0或A=1, B=1执行S2条件覆盖以下四种情况各出现一次A>1 B=0 A=2,B=0 执行S1 A£1B¹0A=1,B=1 执行S2条件组合覆盖A>1, B=0 A=2, B=0 执行S1 A>1, B¹0A=2, B=1 执行S2 A£1, B=0A=1, B=0 执行S2 A£1, B¹0A=1, B=1 执行S22、有二元函数f(x,y),其中x∈[1,12],y∈[1,31];请分别写出该函数采用基本边界值分析法和健壮性边界值分析法设计的测试用例。

(参阅课本,第 5.1边界值分析部分的内容)答:基本边界值分析法:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,<6,1>, <6,2>, <6,30>, <6,31> }健壮性边界值分析法:{ <0,15>,<1,15>, <2,15>, <11,15>, <12,15>,<13,15> <6,15>, <6,0>,<6,1>, <6,2>, <6,30>, <6,31> <6,32>}3. 用边界值测试法设计测试用例:某程序要求输入三个整数x、y、z,分别作为长方体的长、宽、高,x、y、z的取值范围在2~20之间,计算长方体的体积。

(完整word版)黑盒测试习题02

(完整word版)黑盒测试习题02

习题020501 用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成()个等价区间.A。

2 B. 3 C。

4 D. 6输入数据预期结果12345678合法1234567位数不足123456789位数过长abcdefgh非法字符0502输入数据预期结果!@#$%^&()合法(无字符)位数过短12736…2179(共256位)位数过长/?|\非法字符0503输入数据预期结果20合法13年龄小于范围41年龄大于范围abcd非法字符0504 某工厂招工,规定报名者年龄应在20周岁——39周岁之间,即出生年月不得早于1960年7月,不晚于1979年6月。

报名程序具有自动检验输入数据的功能,如果出生年月不属于上述范围将拒绝接受,并显示“年龄不合格”等出错信息。

输入数据预期结果1966。

06合法1960。

06时间过早1980.01时间过晚一九六五年七月非数字19777少于6位1977777多余6位197713大于12197700小于10505 新浪邮箱名,其输入要求如下:1. 4~16个字符2。

支持英文小写、数字、下划线3。

不支持全部为数字或下划线输入数据预期结果qq_fhg409522817合法0506用等价类划分法设计下面的测试用例:有一个报表系统,要求用户输入要处理的报表的日期,假设日期的范围为2000年1月到2020年12月。

如果用户输入的日期不在这个范围内,则显示错误码信息,并且此系统规定日期由年月六位数字组成,前4为代表年,后两位代表月。

1)请列出等价类表(包括有效和无效的等价类)2)根据1)中的等价类表,设计能覆盖所有等价类的测试用例。

要求包括输入数据和预期输出,并指出各个测试用例所能符合的等价类编号0507 NextDate 函数包含三个变量:month 、 day 和 year ,函数的输出为输入日期后一天的日期。

例如,输入为 2006年3月 7日,则函数的输出为 2006年3月8日。

黑盒测试技术-经典习题

黑盒测试技术-经典习题

一、等价类例题:某企业招工,要求报名者的出生日期在1970年1月~1990年12月之间,企业的人事管理系统需要输入报名者的出生日期,规定日期由6位数字字符组成,前4位表示年,后2位表示月。

出生年月不在规定范围内的,系统将拒绝接受,并显示“年龄不合格”的出错信息。

试用等价类划分法设计测试用例,来测试系统的“年龄检查功能”。

解答:第一步:划分等价类、列出等价类表可以划分为3个有效等价类,7个无效等价类,如下表所示。

第二步:确立测试用例首先为每一个等价类规定一个唯一的编号。

设计测试用例,尽可能多的覆盖有效等价类。

在表中列出了3个有效等价类,编号为①、二、边界值1、用边界值分析法,假定1<X<100,那么X在测试中应该取的边界值是___BA.X=1,X=100 B.X=0,X=1,X=100,X=101 C.X=2,X=99 D.X=O,X=1012、假定X为整数类型变量,X>=1并且X<=10,如果用边界值分析法,X在测试中应该取__B_值。

A.1,10 B.0,1,10,11 C.1,11 D.1,5,10,11三、决策表:例题:某学生成绩管理系统,要求“对平均成绩在90分以上,且没有不及格科目的学生,或班级成绩排名在前5位的学生,在程序中将学生的姓名用红色标识”, 请建立该场景的判定表。

1、确定规则的个数。

若条件数为n,规则个数应为2的n次方。

这里有3个条件,每个条件有两个取值,故应有23=8种规则。

2、列出所有的条件项和动作项3、填入条件项、动作项,得到初始判定表。

4、合并相似规则,得到优化后判定表。

若表中有两条以上规则具有相同的动作,并且在条件项之间存在极为相似的关系,便可以合并。

白盒测试和黑盒测试试题库

白盒测试和黑盒测试试题库

一、简答题1、功能测试的定义,并指出几种主要的测试用例设计方法。

答:功能测试也叫黑盒测试或数据驱动测试,是根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。

测试用例设计的主要方法有:等价类划分方法、边界值分析方法、错误推测法、因果图法、判定表方法、功能图法、正交试验法。

2、什么叫集成测试?集成测试策略中增值式测试和非增值式测试是什么?答:集成测试又称组装测试、联合测试、子系统测试或部件测试。

集成测试是在单元测试的基础上,将所有的模块按照设计要求组装成子系统或系统进行的测试活动。

增值式测试就是把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试,直至将所有的单元模块组装成为符合要求的软件系统。

非增值式测试是先分别测试每个模块,再把所有模块按设计要求放在一起组合成所要的程序。

3、简述软件测试的主要过程答:软件测试过程按4个步骤进行,即单元测试、组装测试、确认测试和系统测试。

单元测试集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。

然后,进行集成测试,根据设计规定的软件体系结构,把已经测试过的模块组装起来,在组装过程中,检查程序结构组装的正确性。

确认测试则是要检查已经实现的软件是否满足了需求规格说明书中的各种需求,以及软件配置是否完全、正确。

最后是系统测试,把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。

严格地说,系统测试已经超出了软件工程的范围。

二、设计题1、下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。

算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( )::void SelectSort ( datalist & list ) {//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。

第04课黑盒测试练习

第04课黑盒测试练习

用电期间
非高峰 非高峰
高峰 高峰
收费标准 A类 B类 B类 C类 C类 D类
黑盒测试习题
1. 将原因和结果分开。
原因:
1——居民用电 2——动力用电 3——<100度/月 4——<10000度/月 5——高峰用电
结果:
A——A类计费 B——B类计费 C——C类计费 D——D类计费
输入数据——未持会员卡,消费≥1000元 输出结果——实行9折优惠,并免费办理会员卡
思考题
在银行VIP账户管理软件中,要求可以输入一个账户
的下列数据:身份证号、手机、邮政编码。请基于等
价类划分和边界值分析法设计测试用例1。华北三省二市
从基本常识中了解:
2 东北三省 3 华东六省一市
身份证:18位数字;手机:11位数字;邮政4编华码南:六6省位数字
若投入 5 角钱或 1 元钱的硬币,押下〖橙汁〗或〖啤 酒〗的按钮,则相应的饮料就送出来。若售货机没有 零钱找,则一个显示〖零钱找完〗的红灯亮,这时在 投入 1 元硬币并押下按钮后,饮料不送出来而且 1 元 硬币也退出来;若有零钱找,则显示〖零钱找完〗的 红灯灭,在送出饮料的同时退还 5 角硬币。
I 1——民用且≥100度/月 I 2——动力、非高峰且<10000度/月 I 3——动力、非高峰且≥ 10000度/月 I 4——动力、高峰且<10000度/月
黑盒测试习题
2. 绘制因果图。
1 O
2

I1


I4
3
∧ I2

4



I3

5

A

B

C

D
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.输入:用户密码
要求:
1)用户密码为6到8位。
2)必须含有字母和数的组合。
输出:如正确,输出正确的信息。否则,输出相应的错误信息。
请结合等价类划分法设计出相应的测试用例。
输入条件
有效等价类
编号
无效等价类
编号
用户密码
6<=位数<=8
(1)
位数<6
(3)
位数>8
(4)
包含字母和数字
(2)
不包含数字
(5)
输入错误!请从新输入!
3
30010312
输入错误!请从新输入!
4
20120012
输入错误!请从新输入!
5
20111323
输入错误!请从新输入!
6
20180300
输入错误!请从新输入!
7
20560432
输入错误!请从新输入!
等价类测试用例
序号
输入参数
覆盖等价类
输出结果
1
20020105
(1)(2)(3)
else
maxday=29;
}
else
maxday=31;
printf("请输入日份:(1~31)");
scanf("%d",&day);
if(day<1 || day>maxday)
{
printf("输入错误!请从新输入!\n");
printf("请输入日份:(1~31)");
scanf("%d",&day);
2002年1月6日
2
9910502
(4)
输入错误!请从新输入!
3
30120515
(5)
输入错误!请从新输入!
4
20120015
(1)(6)
输入错误!请从新输入!
5
20141325
(1)(7)
输入错误!请从新输入!
6
20070400
(1)(2)(8)
输入错误!请从新输入!
7
20010632
(1)(2)(9)
{
printf("输入错误!请从新输入!\n");
printf("请输入年份:(1000~3000)");
scanf("%d",&year);
}
printf("请输入月份:(1~12)");
scanf("%d",&month);
if(month<1 || month>12)
{
printf("输入错误!请从新输入!\n");
判定表分析方法
1.用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。
习题:给出某一天(年,月,日),计算出它的下一天,取值范围为:
不包含字母
(6)
序号
输入参数
覆盖等价类
输出信息
1
1234abcd
(1)(2)
输入正确
2
1234a
(3)
输入错误
3
123456789df
(4)
输入错误
4
abcdedf
(1)(5)
输入错误
5
1234567
(1)(6)
输入错误
边界值分析方法:
1.NextDate函数的边界值分析测试用例
在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050。(6n+1)
因果图方法
1.有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。
输入错误!请从新输入!
printf("请输入月份:(1~12)");
scanf("%d",&month);
}
if(month==4||month==6||month==9||month==11)
maxday=30;
else if(month==2)
{
if(year%400==0 || year%4==0)
maxday=28;
等价类划分方法:
1.设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
1)划分等价类并编号,下表等价类划分的结果
输入等价类
有效等价类
(1)代码如下:
#include<stdio.h>
void main()
{
int year;
int month,maxmonth=12;
int day,maxday;
printf("请输入年份:(1000~3000)");
scanf("%d",&year);
if(year<1000 || year>3000)
无效等价类
日期的于6位数字字符
④多于6位数字字符
年份范围
⑤在1990~2049之间
⑥小于1990
⑦大于2049
月份范围
⑧在01~12之间
⑨等于00
⑩大于12
2)设计测试用例,以便覆盖所有的有效等价类在表中列出了3个有效等价类,编号分别为①、⑤、⑧,设计的测试用例如下:
}
(2)
输入条件
有效等价类
编号
无效等价类
编号

1000<=year<=3000
(1)
<1000
(4)
>3000
(5)

1<=month<=12
(2)
<1
(6)
>12
(7)

1<=day<=31
(3)
<1
(8)
>31
(9)
边界测试用例
序号
输入参数
输出结果
1
20000228
2000年3月1日
2
9990105
1)分析这一段说明,列出原因和结果
原因:
1.售货机有零钱找
2.投入1元硬币
3.投入5角硬币
4.押下橙汁按钮
5.押下啤酒按钮
结果:
21.售货机〖零钱找完〗灯亮
22.退还1元硬币
23.退还5角硬币
24.送出橙汁饮料
25.送出啤酒饮料
2)画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:
}
if(month==maxmonth && day==maxday)
{
year=year+1;
month=1;
day=1;
}
else if(day==maxday)
{
month=month+1;
day=1;
}
else
day=day+1;
printf("下一天是%d年%d月%d日",year,month,day);
测试数据期望结果覆盖的有效等价类
200211输入有效①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类
95June无效输入②
20036无效输入③
2001006无效输入④
198912无效输入⑥
200401无效输入⑦
200100无效输入⑨
200113无效输入⑩
11. 投入1元硬币且押下饮料按钮
12. 押下〖橙汁〗或〖啤酒〗的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
3)转换成判定表:
4)在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。
年:1000<= year <=3000月:1<=month <=12日:1<= day <=31
如1999年3月4日的下一天是:1999年3月5日
要求:
输入:三个参数(年,月,日)
输出:如能正确计算,计算出它的下一天,
否则,输出相应的错误信息。
1)使用C语言编写程序实现
2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。
相关文档
最新文档