实验七黑盒测试之场景法测试实验[参考答案解析]

合集下载

黑盒测试的7种测试方法

黑盒测试的7种测试方法

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

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

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

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

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

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

下面将一一介绍。

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

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

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

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

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

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

取得较好的测试结果。

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

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

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

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

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

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

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

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

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

黑盒测试的7种测试方法

黑盒测试的7种测试方法

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

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

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

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

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

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

下面将一一介绍。

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

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

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

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

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

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

取得较好的测试结果。

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

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

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

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

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

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

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

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

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

第7课时黑盒测试—案例分析与实践

第7课时黑盒测试—案例分析与实践

3-25
案例讨论

对三种设计结果的讨论
1.
每种结果都覆盖了一些应该测试的功能点。 第一组结果过多的关注于对无效等价类的测试,遗漏了很多
NextDate问题需测试的关键点,比如平年闰年、二月、大小月、
月底等等。
2.
第二组结果包含了第一组的结果的基础上,增加了对二月、年
底等的测试。
3.
第三组结果通过日常知识的运用,使得测试用例涵盖了大部分 需测试的要点,尤其是测试用例1,2,3的有效性明显要比前二

步骤
1. 2. 3.
划分等价类。 为每一个有效等价类和无效等价类规定一个唯一的编号。 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有 效等价类, 重复这一步直到所有有效等价类均被测试用 例所覆盖。
4.
设计一个测试用例,使其只覆盖一个无效等价类,重复
这一步,直到所有无效等价类均被覆盖。
3-10

件下所产生的输出结果,验证系统是否达到用户需求。

常用的黑盒测试技术包括
1. 2. 3. 4.
等价类划分 边界值测试 决策表 因果图
3-5
不可能进行完全的测试
1.
结论是不计其数 整型: 从 1+1 到 9999999999999999999999 99999999+
9999999999999999999999

测试用例
4.
覆盖等价类1,6,3: 测试输入=(2006,-2,16), 预期结果=“输入错 误!” 覆盖等价类1,7,3: 测试输入=(2006,13,16), 预期结果=“输入错 误!” 覆盖等价类1,2,8: 测试输入=(2006,6,0), 预期结果=“输入错误!”

黑盒测试技术5-场景法

黑盒测试技术5-场景法

基本流 备选流5 备选流7 备选流8
……
密码不正确
备选流2
登录失败
选购
支付 基本流
购买成功
备选流3 货物缺货
备选流4
账户余额不足 支付失败
2. 描述出基本流和备选流
• 程序的基本流和备选流如下:
基本流 备选流1 备选流2 备选流3 备选流4
登录购物网站,选择物品,登录账号,付钱交易,生成订购单 账号不存在 账号或密码错误 货物缺货 用户账号余额不足
场景法设计用例步骤
流程图
1. 画出功能模块的流程示意图
事件流
2. 描述出基本流和备选流
场景
3. 构造用例场景列表
矩阵
4.设计测试用例矩阵
数据
5.确定测试数据
场景法的测试思想
根据需求规格说明书中的用例包含的时间 流信息构造场景并设计相应的测试用例, 使每个场景至少发生一次。
场景法的测试思想
基本上每个软件都会用到这种方法。Why? 因为每个软件后面都有业务的支撑: 网上购物流程、ATM机取款流程……
3. 确定用例场景
• 根据基本流和各项备选流确定不同的场景。 • 场景如下:
场景1—成功购物 场景2—账号不存在 场景3—账号或密码错误 场景4—货物缺货 场基本流 基本流
备选流1 备选流2 备选流3 备选流4
每一个场景都需要确定测试用例!
4. 生成测试用例
基本流 备选流3 备选流5 基本流 备选流6
场景8—ATM现金不足
基本流 备选流7
场景9—密码错误(3次以内),但ATM现金不足 基本流 备选流3 备选流7
场景10—ATM现金不足 场景11—超过提款额度
基本流 备选流3 备选流5 备选流7 基本流 备选流8

软件测试黑盒测试实验报告

软件测试黑盒测试实验报告

软件测试黑盒测试实验报告软件测试黑盒测试实验报告一、引言软件测试是软件开发过程中不可或缺的一部分,旨在发现和纠正软件中的错误和缺陷。

黑盒测试作为软件测试的一种方法,主要关注软件的功能和用户需求,而不考虑内部结构和实现细节。

本实验旨在通过黑盒测试方法,对某一软件进行测试,并分析测试结果,以评估软件的质量和可靠性。

二、实验目的本实验的主要目的是通过黑盒测试方法,对软件的功能进行全面而系统的测试,以发现潜在的错误和缺陷。

同时,通过测试结果的分析,评估软件的质量和可靠性,并提出改进建议。

三、实验环境和工具本实验使用的软件是一个在线购物系统,实验环境为Windows操作系统。

测试工具包括Selenium WebDriver和Junit。

四、实验步骤1. 确定测试用例:根据软件的功能和用户需求,制定一系列测试用例,覆盖软件的各个功能模块和边界条件。

2. 搭建测试环境:安装并配置Selenium WebDriver和Junit,以便进行自动化测试。

3. 编写测试脚本:根据测试用例,使用Java语言编写测试脚本,实现对软件功能的模拟和测试。

4. 执行测试脚本:运行测试脚本,对软件进行自动化测试。

记录测试过程中的输入、输出和错误信息。

5. 分析测试结果:根据测试脚本的执行结果,分析软件的功能是否符合预期,是否存在错误和缺陷。

六、实验结果与分析在本次实验中,共编写了100个测试用例,并执行了相应的测试脚本。

通过对测试结果的分析,得出以下结论:1. 软件的基本功能测试通过率达到90%以上,说明软件在满足用户需求方面表现良好。

2. 在边界条件测试中,发现了一些潜在的错误和缺陷,例如在输入非法字符时,软件没有给出相应的错误提示。

3. 在性能测试中,软件的响应时间较长,需要进一步优化。

4. 在安全性测试中,软件存在一些漏洞,需要加强对用户信息的保护。

综上所述,软件在功能方面表现良好,但仍存在一些错误和缺陷,需要进一步改进和优化。

黑盒测试用例设计(含练习答案)

黑盒测试用例设计(含练习答案)

© 2005-2006, Saga Technologies. Confidential and Proprietary. Do not duplicate without written permission from Saga Technologies,
14
5、如果规定了输入数据必须遵守的规 则,则可以确定一个有效等价类(符合规则) ,和若干个无效等价类(从不同角度违反则)。
⑶ ②VAR : REAL; ④ VAR T$: CHAR;
⑹ ③VAR T12345678: REAL; { ⑹ } ⑤ VAR GOTO: INTEGER; (11)
17
二、确立测试用例 等价类划分完以后,可以按下面的形式列出等价 类表
输入条件
有效等价类
无效等价类
……
……
……
© 2005-2006, Saga Technologies. Confidential and Proprietary. Do not duplicate without written permission from Saga Technologies,
的个数,则可以确立一个有效等价类和两个无效 等价类。
例如:… … 序号值可以从 1到999 … …
一个有效等价类: 1≤ 序号值 ≤999
两个无效等价类: 序号值 <1 序号值 >999
© 2005-2006, Saga Technologies. Confidential and Proprietary. Do not duplicate without written permission from Saga Technologies,
© 2005-2006, Saga Technologies. Confidential and Proprietary. Do not duplicate without written permission from Saga Technologies,

第7课时黑盒测试—案例分析与实践

第7课时黑盒测试—案例分析与实践
3-21
参考答案2
测试用例1(续)
7. 覆盖等价类1,13,7: 测试输入=(2004,-2,10),预期结果=“输入错误!” 8. 覆盖等价类1,14,7: 测试输入=(2004,15,10),预期结果=输入错误!” 9. 覆盖等价类1,3,15: 测试输入=(2004,8,-2), 预期结果=“输入错误!” 10. 覆盖等价类1,3,16: 测试输入=(2004,8,38),预期结果=“输入错误!”
参考答案1
等价类及其编号
测试用例
1. 覆盖等价类1,2,3: 测试输入=(2006,6,16), 预期结果=(2006,6,17) 2. 覆盖等价类4,2,3: 测试输入=(1890,4,10), 预期结果=“输入错误!” 3. 覆盖等价类5,2,3: 测试输入=(2062,4,10), 预期结果=“输入错误!”
软件测试技术与实践
第7课时 黑盒测试—案例分析与实践
内容提纲
复习 讨论常用的黑盒测试用例设计方法,包括
等价类划分 边界值测试 决策表 因果图 综合运用黑盒用例设计方法
总结
上一节课我们学了什么呢?
黑盒测试
把系统看成一个不透明的黑匣,在完全不考虑系统内部结构 和处理过程的情况下,只关注在选择的输入和相应的执行条 件下所产生的输出结果,验证系统是否达到用户需求。
在划分等价类时,可以参考下面的建议: 1. 如果某个输入条件规定值的范围,可以确定一个有效等 价类和两个无效等价类 2. 如果输入条件规定了一个输入值的集合,可以确定一个 有效等价类和一个无效等价类。 3. 如果输入条件是一个布尔表达式的条件,可以确定一个 有效等价类和一个无效等价类
3-9
确定测试用例
编号 1 2 3

黑盒测试用例设计方法-案例参考答案

黑盒测试用例设计方法-案例参考答案

黑盒测试用例设计方法-案例21、等价类划分案例有一个程序读入3个整数,把这3个整数作为一个三角形的3条边的长度值。

这个程序要打印出信息,说明这3个整数是否能组成三角形,如果能组成三角形,说明这个三角形是不等边、等腰或等边三角形。

解答:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果三条边满足条件(1)~ (4),则输出下列四种情况之一:☐如果不满足条件(5),则程序输出为“非三角形”☐如果三条边相等即满足条件(7),则程序输出为“等边三角形”☐如果只有两条边相等、即满足条件(6),则程序输出为“等腰三角形”☐如果三条边都不相等,则程序输出为“不等边三角形”可以设定3条边分别为A,B,C。

如果他们能构成三角形的3条边,必须满足:0<A, 0<B, 0<C,且A+B>C,B+C>A,A+C>B如果是等腰,要判断A=B,或B=C,或A=C如果是等边,要判断A=B,且B=C,且A=C2、边界值案例Void CMyClass::Grow(int years) {mAge += years;if(mAge<10)mPhase = "儿童";else if(mAge<20)mPhase = "少年";else if(mAge<45)mPhase = "青年";else if(mAge<60)mPhase = "中年";elsemPhase = "老年";}测试用例3、因果图案例1某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。

找出原因和结果:原因:C1——第一列字符是AC2——第一列字符是BC3——第二列字符是一数字结果:E1——给出信息LE2——修改文件E3——给出信息M生成因果图转换为判定表4、因果图案例2有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

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

实验七 黑盒测试之场景法测试实验
1.1 实验目的
1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了
解,并养成良好的测试习惯。
2、掌握黑盒测试的基础知识,能熟练应用场景法进行测试用例的设计。

1.2 实验平台
操作系统:Windows 7或Windows XP
1.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)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测
试用例。如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用
例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的
所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例
中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩
阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V
表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成
功加油”基本流。请按上述规定为其它应用场景设计用例矩阵。
测试用例表
测试用例 ID号 场景 账号 是否黑名单卡 输入 油量 账面 金额 加油机
油量
预期结果

C01. 场景1:成功加油 V I V V V 成功加油
C02.
C03.
C04.
C05.

测试用例ID号 场景 帐号 是否黑名单卡 输入油量 帐面金额 加油机油黑 预期结果
C02. 场景2:卡无效 1 n/a n/a n/a n/a 退卡
C03. 场景3:黑名单卡 V V n/a n/a n/a 吞卡

C04. 场景4:金额不足 V I V I V
提示错误,重新输入加油

C05. 场景5:油量不足 V I V V I
提示错误,重新输入加油

(3)假如每升油4元人民币,用户的账户金额为1000元,加油机内油量足
够,那么在A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输入
数据(即油量,单位;升)。
1. 0升
2. 250升
3. 251升

2、练习2
有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,
进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功
后,生产订购单,完成整个购物过程。试对其采用场景法设计测试用例(可参考
淘宝网)。
(1)构造本实例的基本流和备选流,完成下表1。
表 1 在线购物的实例的基本流和备选流
基本流
备选流1
备选流2
……
……
基本流 登录在线购物网站,选择物品,登录账号,付钱交易,生成订购单
备选流1 账号不存在
备选流2 账号或密码错误
备选流3 用户账号余额不足
备选流4 用户账号没有钱
备选流5 用户退出系统

或者:
基本流:登录网站,选购物品,账号登录,付钱交易,生成订单
备选流:无账号,账号或密码错误,账号没有钱,账号余额不足 用户退出系统

(2)根据基本流和备选流来确定场景的设计,完成下表2。
表 2 在线购物的实例的场景集合
场景1:
场景2:
场景 3:
……
……

场景1:成功购物 基本流
场景2:账号不存在 基本流,备选流1
场景 3:账号或密码错误 基本流,备选流2
场景4:用户账号余额不足 基本流,备选流3
场景5:用户账号没钱 基本流,备选流4

或者:
场景1:登录网站,选购物品,账号登录,无账号
场景2:登录网站,选购物品,账号登录,账号或密码错误
场景3:登录网站,选购物品,账号登录,付钱交易,账号没有钱
场景4:登录网站,选购物品,账号登录,付钱交易,账号余额不足
场景5:登录网站,选购物品,账号登录,付钱交易,生成订单
场景6:登录网站,选购物品,账号登录,用户退出系统

(3)根据所确定的场景,为其设计一个或多个测试用例,完成下表3。
表 3 在线购物的实例的测试用例
测试用例ID 场景/条件 账号 密码 用户账号余额 预期结果
1
2
3
……
……

测试用例ID 场景/条件 账号 密码 用户账号余额 预期结果
1 场景1:成功购物 V V V 成功购物
2 场景2:账号不存在 I N/A N/A 提示账号不存在
3 场景 3:账号或密码错误(账号正确,密码错误) V I N/A 提示账号或密码不正确,
返回基本流步骤3
4 场景 3:账号或密码错误(账号错误,密码正确) V I N/A 提示账号或密码不正确,
返回基本流步骤3
5 场景4:用户账号余额不足 V V I 提示账号余额不足
6 场景5:用户账号没钱 V V I 提示账号

或者:
测试用例ID 场景/条件 账号 密码 余额 预期结果
1 场景1:无账号 I n/a n/a 提示无账号
2 场景2:账号或密码错误(账号错误,密码正确) I V n/a 提示账号或密码错误重新输入
3 场景2:账号或密码错误(账号正确,密码错误) V I n/a 提示账号或密码错误重新输入
4 场景3:账号余额不足 V V I 提示账号余额不足
5 场景4:账号没有钱 V V I 提示账号余额不足
6 场景5:购物成功 V V V 生成订单
7 场景6:操作中退出系统 V V 用户退出系统

(4)对于每个测试用例,设计具体的测试数据,完成下表4。
表 4 在线购物的实例的测试数据
测试用例ID 场景/条件 账号 密码 用户账号余额 预期结果
1
2
3
……
……

测试用例ID 场景/条件 账号 密码 用户账号余额 预期结果
1 场景1:成功购物 Sue 1s2 200 成功购物
2 场景2:账号不存在 Jim N/A N/A 提示账号不存在
3 场景 3:账号或密码错误(账号正确,密码错误) Sun 1234zxc N/A 提示账号或密码不正
确,返回基本流步骤3
4 场景 3:账号或密码错误(账号错误,密码正确) Suns 123456 N/A 提示账号或密码不正
确,返回基本流步骤3
5 场景4:用户账号余额不足 Van 1v2 1 提示账号余额不足
6 场景5:用户账号没钱 Tom 12zxcdd 0 提示账号

或者:
测试用例ID 场景/条件 账号 密码 余额 预期结果
1 场景1:无账号 h n/a n/a 提示无账号
2 场景2:账号或密码错误(账号错误,密码正确) f 0 n/a 提示账号或密码错误重新输入
3 场景2:账号或密码错误(账号正确,密码错误) ff I n/a 提示账号或密码错误重新输入
4 场景3:账号余额不足 ff 0 10 提示账号余额不足
5 场景4:账号没有钱 ff 0 0 提示账号余额不足
6 场景5:购物成功 ff 0 500 生成订单,余额减少
7 场景6:操作中退出系统 ff 0 用户退出系统

3、文档以“学号+姓名”命名,下课前提交。
1.4 实验心得

相关文档
最新文档