讲课黑盒测试练习题答案
实验七-黑盒测试之场景法测试实验(参考答案)

实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验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。
请采⽤等价类划分的⽅法设计测试⽤例。
(完整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日。
白盒测试和黑盒测试试题库

一、简答题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课黑盒测试练习

用电期间
非高峰 非高峰
高峰 高峰
收费标准 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实验目的1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。
1.2实验平台操作系统:Window7或Window某P1.3实验内容及要求1、练习1软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。
下面是对某IC卡加油机应用系统的基本流和备选流的描述。
基本流A;序号用例名称123456准备加油验证加油卡验证黑名单输入购油量加油返回加油卡用例描述客户将IC加油卡插入加油机加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收的加油卡加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞卡客户输入需要购买的汽油数量加油机完成加油操作,从加油卡中扣除相应金额退还加油卡备选流:序号用例名称B加油卡无效用例描述在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC卡,加油机退卡,并退出基本流CDE卡账户属于在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂失,加黑名单油机吞卡退出基本流加油卡账面系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡现金不足加油机油量系统判断加油机内油量不足,重新加入基本流A4,或选择退卡不足(1)使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。
场景1:A场景2:A、B场景3:A、C场景4:A、D场景5:A、E(2)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。
如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。
本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。
软件测试方法-黑盒测试练习题

等价类分类
有效等价类
– 对于程序的需求说明来说是合理的,有意义的输入 数据所构成的集合 – 利用它可以检验程序是否实现了预期的功能和性能 (确认过程)
无效等价类
– 对于程序的需求说明来说是不合理的,没有意义的 输入数据所构成的集合 – 利用它可以检验程序对于无效数据的处理能力(验 证过程)
等价类划分
测试结果的可再现性即对同样的测试用例系统的执行结果应当是相同功能性测试的优点功能性测试与软件如何实现无关如果实现发生变化功能性测试用例仍然可用可重用性面向回归测试测试用例开发可以与软件开发同时进行可节省软件开发时间通过软件的用例usecase就可以设计出大部分功能性测试用例功能性测试的缺点测试用例数量较大测试用例可能产生很多冗余功能性测试的覆盖范围不可能达到100功能性测试的方法黑盒测试主要是通过将功能分解然后再按照以下方法来设计测试等价类划分边界值分析因果图法决策表法其他测试方法课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法功能分解含义把软件分解为相对独立的功能单元目的使软件功能性测试可度量有利于测试监督和管理功能分解功能分解应把握好度可提高软件功能性测试度量的准确性最好按照功能的需求程度分解要求高的分解的细一点要求低的可以测试的粗糙一点
第二步:等价类划分
20~39(6点) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)
有效等价类
40~59 (4点) 60~99、1~19 (2点) 空白(未知) <1 (未知) >99 (未知) 包含非数字字符(未知) 男(5点) 女(3点) 已婚(3点) 未婚(5点)
功能性测试模型
输入 测 试 用 例 黒盒 输出
测试用例定义
黑盒测试作业参考答案

黑盒测试作业参考答案.黑盒测试参考答案第三章(注意:答案仅供参考,若有误,请自行修改。
) 1、某保险公司计算保险费率。
,点以上保险费率为0.6%计算方式为10点及10;而点数又是由投保0.1%点以下保险费率为10人的年龄、性别、婚姻状况和抚养人数来决定,年龄有效输入范围其中,具体规则如下表所示。
之间的1-9为1-100;抚养人数可输入“无”或整数。
使用等价类划分进行测试用例设计抚养人性婚年未 M F 已20~39 40~59 0.人最多参考答案:(1)通过对程序功能的分析,其等价类表如下所示:输入条有效等价类无效等价类件 20~39岁(1)小于1岁 40~59岁(11)年龄(2)于100岁大或岁1~19(12)岁60~100 (3).M' (4)除‘M'和‘F'之‘性别‘F 外的其他字符(13)'(5)(外除已婚和未婚之6)已婚婚姻未婚(7的其他字符(14))的外字除无和数之(8)无15)其他字符抚养人(9) 1~6人((数16)1 小于16~19大)设计测试用例表,覆盖等价类。
(输入数覆盖预期输保险费等价性0.6%1 4 6 8127M0.6%2 5 7 92F2503 4 6100.13770M提示“年龄11 4 6 8已4 M 无 0在之间”1~100婚提示“年龄应未12 5 7 9 5 4 F 102 1~100 婚之间”在提示“性别应已1 13 6 8 306 无T”F或M输入婚1 4 14 8 提示“婚姻应离无为30 M 已婚或未7 婚婚”1 4 6 15提示“抚养M830之间的1-数提示“抚养1 4 6 16 -1930M1-之间的数1 4 6 17提示“抚养201030M1-之间的数2、NextDate函数。
该函数要求输入三个变量month、day和year,输出该日期之后一天的日期。
其中year的取值范围为:1900-2079。
如果输入的日期组合不合法,则显示“无效的输入日期”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
等价类划分方法:
1.设有一个档案管理系统,要求用户输入以年月表示的日期。
假设日期限定在1990年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。
现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
①、⑤、⑧,设计的测试用例如下:
测试数据期望结果覆盖的有效等价类
200211 输入有效①、⑤、⑧
3)为每一个无效等价类设计一个测试用例,设计结果如下:
测试数据期望结果覆盖的无效等价类
95June 无效输入②
20036 无效输入③
2001006 无效输入④
198912 无效输入⑥
200401 无效输入⑦
200100 无效输入⑨
200113 无效输入⑩
2.输入:用户密码
要求:
1)用户密码为6到8位。
2)必须含有字母和数的组合。
输出:如正确,输出正确的信息。
否则,输出相应的错误信息。
请结合等价类划分法设计出相应的测试用例。
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角硬币。
1) 分析这一段说明,列出原因和结果
原因:
1.售货机有零钱找
2.投入1元硬币
3.投入5角硬币
4.押下橙汁按钮
5.押下啤酒按钮
结果:
21.售货机〖零钱找完〗灯亮
22.退还1元硬币
23.退还5角硬币
24.送出橙汁饮料
25.送出啤酒饮料
2)画出因果图,如图所示。
所有原因结点列在左边,所有结果结点列在右边。
建立中间结点,表
示处理的中间状态。
中间结点:
11. 投入1元硬币且押下饮料按钮
12. 押下〖橙汁〗或〖啤酒〗的按钮
13. 应当找5角零钱并且售货机有零钱找
14. 钱已付清
3)转换成判定表:
4) 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。
第16列与第32
列因什么动作也没做,也删去。
最后可根据剩下的16列作为确定测试用例的依据。
判定表分析方法
1.用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month、day 和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。
习题:给出某一天(年,月,日),计算出它的下一天,取值范围为:
年:1000<= year <=3000 月:1<=month <=12 日:1<= day <=31
如 1999年3月4日的下一天是:1999年3月5日
要求:
输入:三个参数(年,月,日)
输出:如能正确计算,计算出它的下一天,
否则,输出相应的错误信息。
1)使用C语言编写程序实现
2)请结合等价类划分法和边界值分析法设计出相应的测试用例,并依照测试用例对所编写的程序进行测试。
(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)
{
printf("输入错误!请从新输入!\n");
printf("请输入年份:(1000~3000)");
scanf("%d",&year);
}
printf("请输入月份:(1~12)");
scanf("%d",&month);
if(month<1 || month>12)
{
printf("输入错误!请从新输入!\n");
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;
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);
}
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); }
(2)
等价类测试用例。