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

实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验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)场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。
如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。
黑盒测试方法-正交试验法和场景法

B 2 1 2 3 1 2 3 1 2 3
C 3 1 2 3 2 3 1 3 1 2
4 1 2 3 3 1 2 2 3 1
实验 号
1 2 3 4 5 6 7 8 9
水平组 合
A1B1C1 A1B2C2 A1B3C3 A2B1C2 A2B2C3 A2B3C1 A3B1C3 A3B2C1 A3B3C2
实验条件
A:80℃ ~90℃ B:90分钟~150分钟 C:5%~7%
试验的目的是搞清楚因子A、B、C对转化 率有什么影响,哪些是主要的,哪些是次 要的,从而确定最适生产条件,即温度、 时间及用碱量各为多少才能使转化率最高。
在试验范围内都选了三个水平(即各因素的 不同状态),如下所示: • A:A1=80℃ ,A2=85℃ ,A3=90℃; • B:B1=90分钟,B2= 120分钟,B3= 150分钟; • C:C1=5%,C2=6%,C3=7%。
1、基本流和备选流
• 图中经过用例的每条路径 都用基本流和备选流来表 示. • 直黑线表示基本流,是经过 用例的最简单的路径. • 备选流用不同的彩色表示, 一个备选流可能从基本流 开始,在某个特定条件下执 行,然后重新加入基本流中 (如1和3);也可能起源于另 一个备选流(如2),或者终止 用例而不再重新加入到某 个流(如2和4).
6
1 2 2 1 1 2 2 1
7
1 2 2 1 2 1 1 2
L8(2441)
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 2 1 3 3 1 2 0
L18(3661)
L12(211)
列号 试验号 1 2 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 2 7 1 2 8 1 2 9 1 2 10 1 2 11 1 2
黑盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法

⿊盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法⿊盒测试常⽤测试⽅法的选择:1⾸先采⽤等价类划分法来编写测试⽤例2必要时采⽤边界值分析法进⾏补充测试⽤例3采⽤错误推测法再追加测试⽤例4对照程序逻辑,检查⾃⼰设计出的测试⽤例逻辑覆盖程度,若覆盖不够,则需要再补充其他的测试⽤例5如果程序功能含有输⼊条件的组合情况,应⼀开始就采⽤因果图法6如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
黑盒测试具体例子

黑盒测试具体例子黑盒测试是一种软件测试方法,测试人员主要关注软件的输入与输出,而不考虑内部结构或代码实现细节。
在黑盒测试中,测试人员通过分析需求规格说明书等文档,设计测试用例来验证软件功能的正确性。
下面将介绍几个黑盒测试的具体例子。
1. 登录功能测试假设我们要测试一个网站的登录功能,我们可以设计以下测试用例来进行黑盒测试:•测试用例1:输入正确的用户名和密码,验证是否能成功登录;•测试用例2:输入错误的用户名,验证是否提示“用户名不存在”的错误信息;•测试用例3:输入错误的密码,验证是否提示“密码错误”的错误信息;•测试用例4:输入超长的用户名或密码,验证系统是否做了长度限制处理;•测试用例5:在登录界面不输入任何信息,验证系统是否能识别为空的输入并给出相应提示。
通过以上测试用例可以验证登录功能在不同情况下的表现,保证其在各种情况下都能正常运作。
2. 购物车功能测试假设我们要测试一个电商网站的购物车功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:向购物车添加商品,验证商品数量是否正确增加;•测试用例2:修改购物车中商品的数量,验证价格是否正确计算;•测试用例3:删除购物车中的商品,验证删除后购物车是否为空;•测试用例4:尝试向购物车中添加数量超过库存的商品,验证系统是否给出相应提示;•测试用例5:尝试在未登录状态下进行购物车操作,验证系统是否要求用户先登录。
通过以上测试用例可以验证购物车功能在各种操作下的正确性,避免在实际使用中出现问题。
3. 搜索功能测试假设我们要测试一个搜索引擎的搜索功能,我们可以设计以下测试用例进行黑盒测试:•测试用例1:输入关键词进行搜索,验证搜索结果的相关性和准确性;•测试用例2:输入特殊字符进行搜索,验证系统是否能正确处理这些特殊字符;•测试用例3:输入不存在的关键词进行搜索,验证系统是否能给出“无结果”提示;•测试用例4:在搜索结果页面尝试使用筛选功能,验证筛选条件是否有效;•测试用例5:在搜索过程中断网重连,验证系统是否能正确处理这种情况。
黑盒测试方法—场景法

ATM机取款测试用例
一、ATM机没有正常运行
二、卡出现了问题
三、密码出现问题
四、输入金额有误
基本流
确认ATM机正常运行->插入银行卡->输入密码->验证密码->取款->输入取款数额->取钱->显示余额->打印凭条->退卡
基本流
备选流10
场景12-达到每日最大提款金额
基本流
备选流
测试用例信息表
测试用例ID
场景/条件
账号
密码
取款金额
预期 结果
01
场景1-成功取款
有效
有效
有效
取款 成功
02
场景2- ATM机没有正常运行
不适用
不适用Biblioteka 不适用取款 失败03
场景3-插错卡
不适用
不适用
不适用
取款 失败
04
场景4-卡消磁
不适用
不适用
下面是场景法的基本设计步骤
1. 根据说明,描述出程序的基本流及各项备选流
2. 根据基本流和各项备选流生成不同的场景
3. 对每一个场景生成相应的测试用例
4. 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值
说了一些场景法的基本概念和设计方法。想必大家已经有了一些了解了。再举一个简单例子来讲解下。这里,我就不用网上很流行的ATM的例子了。我结合以前项目中遇到的情况。设计一个简单的例子来讲解下。
黑盒测试技术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
黑盒测试--场景法

⿊盒测试--场景法现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景形成了场景何为场景?--场景可以理解为由"那些⼈、什么时间、什么地点、做什么以及如何做"等要素组成的⼀系列相关活动,且场景中的活动还能由⼀系列场景组成场景法组成:场景组合:按上图组合多个不同的场景:场景1:基本流场景2:基本流备选流1场景3:基本流备选流1 备选流2场景4:基本流备选流3场景5:基本流备选流3 备选流1场景6:基本流备选流3 备选流1 备选流2场景7:基本流备选流4场景8:基本流备选流3 备选流4 ⽤例设计步骤1、分析需求,确定出软件的基本流和各项备选流。
2、依据基本流和各项备选流,⽣成不同的场景。
3、针对⽣成的各场景,设计相应的测试⽤例。
4、重新审核⽣成的测试⽤例,去掉多余的部分,并针对最终确定出的测试⽤例,设计测试数据。
案例分析(⼀)例⼦:分析ATM取款机的场景流程,并设计测试⽤例和测试数据 基本流:1.插⼊磁卡2.ATM验证账户正确3. 输⼊密码正确,通过验证4.输⼊取款⾦额5.取出⾦额6.取卡备选流⼀:账户不存在或者受限制备选流⼆:密码不正确,还有输⼊机会备选流三:密码不正确,没有输⼊机会备选流四:卡中余额不⾜备选流五:ATM机中余额不⾜备选流六:超过每⽇最⼤提款限额备选流七:输⼊⾦额⾮100的倍数案例分析(⼆)需求:某旅馆住宿系统⽀持房间⽹上预定业务。
游客访问⽹站进⾏⽹上房间预定操作,选择合适的房间后,进⾏在线预定;此时,需要使⽤个⼈账号登录系统;待登录成功后,进⾏定⾦⽀付(定⾦⾦额为1天的房款);⽀付成功后,⽣成房间预订单,完成整个房间预定流程。
问题:采⽤场景法进⾏测试⽤例设计前提条件:该系统需求中业务流程描述清晰,故采⽤场景法设计⽤例第⼀步:确定软件的基本流和各项备选流基本流备选流备选流X的含义为可于任何步骤中发⽣,故标识为未知数X第⼆步:依据基本流和备选流⽣成不同的场景第三步:针对⽣产的各场景,设计相应的测试⽤例。
黑盒测试用例设计方法二(因果图法、判定表法、场景法)

⿊盒测试⽤例设计⽅法⼆(因果图法、判定表法、场景法)测试步骤⼀、因果图法1.1什么是因果图法因果图是⼀种适合于描述对于多种输⼊条件组合的测试⽅法根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法它适合于检查程序输⼊条件涉及的各种组合情况。
1.2因果图步骤第⼀步:根据功能说明书中规定的原因和结果之间的关系画出因果图恒等:原因A成⽴,结果B⼀定成⽴⾮:愿意A成⽴时,结果B⼀定不成⽴或:原因A、B、C三者只要有⼀个成⽴,结果D就⼀定成⽴与:原因A、B、C都成⽴时,结果D才会出现第⼆步:根据功能说明在因果图中加上约束条件其中互斥、包含、唯⼀、要求是对原因的约束,屏蔽是对结果的约束。
它们的含义如下:1、互斥(exclusive):表⽰不同时为1,即a,b,c中⾄多只有⼀个12、包含(include):表⽰⾄少有⼀个1,即a,b,c中不同时为03、唯⼀(only):表⽰a,b,c中有且仅有⼀个14、要求(request):表⽰若a=1,则b必须为1。
即不可能a=1且b=05、屏蔽(mask):表⽰若a=1,则b必须为0(当你收到注册成功的提⽰,就⼀定不会收到数据填写错误的提⽰)1.3因果图使⽤实例例:阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号(1)有⼀个饮料⾃动售货机(处理单价为5⾓钱)的控制处理软件,它的软件规格说明如下若投⼊5⾓钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投⼊1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则⾃动售货机在送出相应饮料的同时退回5⾓钱的硬币。
分析原因和结果画出原因和结果之间的关系(部分关系)按照需求描述原因、结果的约束因果图使⽤中的局限性:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。
因此⽤作局部的⼩功能(原因和结果不是很多的时候)分析。
列出所有的原因和结果的列表,设计初步的测试⽤例步骤C5:这是⼀种bug,不能做测试设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
确定基本流和备选流
用户到网站,书籍的选择,进行订购,把所需图 基本流 书放进购物车,等进行结帐的时候,登录自己的 帐号,登录成功后,生成订单
备选流1
帐号错误
备选流2
备选流3
密码错误
无选购书籍
确定场景
场景1-购物成功 基本流
场景2-帐号错误
场景3-密码错误
基本流
基本流
备选流1
备选流2 备选流3
场景4-无选购书籍 基本流
D
加油卡账面现金 不足
系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡
E
加油机油量不足
系统判断加油机内油量不足,重新加入基本流A4,或选择退卡
在下面的矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示 不适用,例如C01表示“成功加油”基本流。请按上述规定为其它应用场 景设计用例矩阵。
选购书籍 《软件测试艺术 》 n/a
预期结果 成功购物 提示帐号错误, 返回基本流步骤 2 提示密码错误, 返回基本流步骤 3 提示选购书籍, 返回基本流步骤 5
3
123$%^ n/a
4
123456
空
例题:加油
使用加油卡在某加油站加油,用户出示加油 卡,插入机器中,及其读卡信息,校验是否 在卡片黑名单中。通过校验用户输入加油量, 系统校验加油量是否符合要求,加油完毕, 产生卡内金额余额,退出卡片。
第2章 黑盒测试—5-场景法
内容提纲
复习 场景法的思想 场景法的步骤 举例
基本原理
现在的软件几乎都是用事件触发来控制流程 的,象GUI软件、游戏等。事件触发时的情 景并形成了场景,而同一事件不同的触发顺 序和处理结果就形成了事件流。这种在软件 设计方面的思想可以引入到软件测试中,可 以生动地 描绘出事件触发时的情景,有利于 设计测试用例,同时使测试用例更容易理解 和执行。
基本概念
1.基本流 和 备选流 在测试一个软件的时候,在场景法中,测试 流程是软件功能按照正确的事件流实现的一 条正确流程,那么我们把这个称为该软件的 基本流; 出现故障或缺陷的过程,就用备选流加以标 注,这样,备选流就可以是从基本流来的, 或是由备选流中引出的。
分析
图中经过用例的每条路径都用基本流和备选 流来表示,直黑线表示基本流,是经过用例 的最简单的路径。备选流用不同的色彩表示, 一个备选流可能从基本流开始,在某个特定 条件下执行,然后重新加入基本流中(如备 选流1和3);也可能起源于另一个备选流 (如备选流2),或者终止用例而不再重新 加入到某个流(如备选流2和4)。
场景法设计测试用例的步骤
根据说明,描述出程序的基本流及各项备选 流. 根据基本流和各项备选流生成不同的场景. 对每一个场景生成相应的测试用例. 对生成的所有测试用例重新复审,去掉多余 的测试用例,测试用例确定后,对每一个测 试用例确定测试数据值.
例题:在线购物系统
在当当网网上书店都订购过书籍,整个订 购过程为:用户登录到网站后,进行书籍 的选择,当选好自己心仪的书籍后进行订 购,这时把所需图书放进购物车,等进行 结帐的时候,用户需要登录自己注册的帐 号,登录成功后,进行结帐并生成订单, 整个购物过程结束。
确定测试用例
对于每一个场景都需要确定测试用例。可以 采用矩阵或决策表来确定和管理测试用例。 对于每个测试用例,存在一个测试用例ID、 条件(或说明)、测试用例中涉及的所有数 据元素(作为输入或已经存在于数据库中) 以及预期结果。
测试用例
ID 场景/条件 1 2 3 4 帐号 密码 V V I V 选购书 籍 V n/a n/a I 预期结果 成功购物 提示帐号错误,返回基 本流步骤2
场景
场景 场景 场景 场景 场景 场景 场景 场景 1 2 3 4 5 6 7 8 基本流 基本流 基本流 基本流 基本流 基本流 基本流 基本流
备选流 备选流 备选流 备选流 备选流 备选流 备选流 1 1 3 3 3 4 3
备选流 2 备选流 1 备选流 1 备选流 2 备选流 4
场景1:购物 V 成功
场景2:帐号 I 错误
场景3:密码 V 错误
场景4:无选 V 购书籍
提示密码错误,返回基 本流步骤3
提示选购书籍,返回基 本流步骤5
ID 场景/条件 帐号 1 2 场景1:购 xu 物成功 场景3:帐 zhou 号错误 场景4:密 xu 码错误 场景5:无 xu 选购书籍
密码 123456 123456
测试用例 ID号 C01. C02. C03. C04. C05.
场景 场景1;成功加油
账号 V
是否 黑名单卡 I
输入油量 账面金额 V V
加油机 油量 V
预期结果
成功加油
题目要求
[问题1] (5分) 使用场景法设计测试案例,指出场景涉 及到的基本流和备选流,基本流用字母A表 示,备选流用题干中描述的相应字母表示。
ห้องสมุดไป่ตู้本流A;
序号 1 2 3
用例名称 准备加油 验证加油卡 客户将IC加油卡插入加油机
用例描述
加油机从加油卡的磁条中读取账户代码,并检查它是否属于可以接收 的加油卡 加油机验证卡账户是否存在于黑名单中,如果属于黑名单,加油机吞 卡
验证黑名单
4
5 6
输入购油量
加油 返回加油卡
客户输入需要购买的汽油数量
加油机完成加油操作,从加油卡中扣除相应金额 退还加油卡
备选流:
序号 用例名称 用例描述 在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡, 加油机退卡,并退出基本流 B
加油卡无效
C
卡账户属于黑名 单
在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂 失, 加油机吞卡退出基本流