黑盒测试之场景法
黑盒测试之场景法
1.应用场合适合场景法的软件界面特点:没有太多填写项,所有的操作都是通过鼠标的点击、双击、拖拽等完成。
(类似于:银行柜台操作界面、五子棋游戏,这些都是通过鼠标的点击、拖拽等来完成的。
)
2.核心思想把自己当成最终的用户,使用软件,设计出在使用软件过程中重要的操作,一般包括两类:模拟用户完成正常功能、核心业务逻辑的动作,以验证功能的正确性模拟用户操作中出现的主要错误,以验证程序的异常处理能力场景法的使用要求:要对所测试的软件的业务逻辑、主要功能非常精通,比如测试游戏软件,要会玩游戏。
如果连第一关都过不了,也就没办法继续测了。
3.基本概念(1).基本流(有效流):模拟用户正确的操作流程(2).备选流(无效流、错误流):模拟用户错误的操作流程【例子】
在测试QQ登陆功能时,使用场景法进行主要功能的测试:输入正确的账号和密码后点击“登录”按钮,程序能正常运行不输入正确的账号和密码,直接点击“登录”按钮,程序给出相应的错误提示输入正确的账号,错误的密码后点击“登录”按钮,程序给出相应的错误提示不输入账号,输入正确的密码后点击“登录”按钮,程序给出相应的错误提示...... 当使用以上场景发测试程序没有问题时,可以再使用边界
值、等价类方法对账号、密码进行更加细致、完整的测试。
4.使用场景法分析程序案例【案例1】ATM机取款功能(1).分析需求,找出基本流和备选流基本流:a.插入银行卡:客户将银行卡插入ATM机的读卡器b.验证银行卡:检查它是否属于可以接受的卡片c.输入密码d.验证密码:确定该密码是否正确e.进入ATM主界面f.选择“取款”,并选取金额g.验证账户余额是否满足以及总取款金额是否满足,验证ATM机内的现金是否够用h.更新账户余额,出钞i.返回主界面备选流----在取款过程中会遇到哪些错误:a.银行卡无效:提示错误并退卡b.密码错误:提示错误,并判断是否3次错误c.密码3次错误,吞卡d.账户余额错误:提示错误e.总取款金额超过当日可取限额:提示错误f.ATM机余额不足:提示错误(2).根据基本流、备选流列出场景
场景描述场景1:成功取款基本流场景2:银行卡无效备选流1场景3:密码错误备选流2场景4:密码3次错误备选流3场景5:账户余额不足备选流4场景6:总取款金额超出
当日可取限额备选流5场景7:ATM机余额不足备选流6。
黑盒测试-场景法
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
Thanks!!
19
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
3
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
理解上的误区
• 测试用例应由测试设计员或分析设计员来 制定,而不是普通的测试员。 • 测试点应由分析设计员确立,与测试人员 无关。 • 测试工作展开于项目立项后,而不是代码 开发完成之后。 • 测试对象不仅仅是源代码,还包括需求分 析、需求规格说明书、概要设计、概要设计 说明书、详细设计、详细设计说明书、使用 手册等各阶段的文档
16
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
其他测试用例 • 场景 6 - 帐户不存在/帐户类型有误:未找 到帐户或帐户不可用 • 场景 6 - 帐户不存在/帐户类型有误:禁止 从该帐户中提款 • 场景 7 - 帐户余额不足:请求的金额超出 帐面金额
7
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
测试用例 • 生成每个场景的测试用例是通过确定某个 特定条件来完成的,这个特定条件将导致 特定用例场景的执行。
8
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
11
©2007 iSoftStone Holdings Ltd. All Rights Reserved.
备选流
选流 5 – 帐户不存在 在基本流步骤 4 中 - 验证帐户和 PIN,如果银行系统返 回的代码表明找不到该帐户或禁止从该帐户中提款,则 ATM 显示适当的消息并且在步骤 9 - 返回银行卡处重新加 入基本流。 在基本流步骤 7 - 授权中,银行系统返回代码表明帐户 余额少于在基本流步骤 6 - 输入金额内输入的金额,则 ATM 显示适当的消息并且在步骤 6 - 输入金额处重新加入 基本流。 在基本流步骤 6 中- 输入金额,如果 ATM 机内金额少 于请求提取的金额,则将显示一则适当的消息,并且在步 骤 6 - 输入金额处重新加入基本流。
实验七-黑盒测试之场景法测试实验(参考答案)
实验七-黑盒测试之场景法测试实验(参考答案)实验七黑盒测试之场景法测试实验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 实验⽬的1、通过对简单程序进⾏⿊盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
2、掌握⿊盒测试的基础知识,能熟练应⽤场景法进⾏测试⽤例的设计。
1.2 实验平台操作系统:Windows 7或Windows XP1.3 实验内容及要求1、练习1软件系统⼏乎都是⽤事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果就形成事件流。
场景法就是通过⽤例场景描述业务操作流程,从⽤例开始到结束遍历应⽤流程上所有基本流(基本事件)和备选流(分⽀事件)。
下⾯是对某IC卡加油机应⽤系统的基本流和备选流的描述。
基本流A;备选流:(1)使⽤场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流⽤字母A表⽰,备选流⽤题⼲中描述的相应字母表⽰。
场景1:A场景2:A、B场景3:A、C场景4:A、D场景5:A、E(2)场景中的每⼀个场景都需要确定测试⽤例,⼀般采⽤矩阵来确定和管理测试⽤例。
如下表所⽰是⼀种通⽤格式,其中⾏代表各个测试⽤例,列代表测试⽤例的信息。
本例中的测试⽤例包含测试⽤例、ID、场景涤件、测试⽤例中涉及的所有数据元素和预期结果等项⽬。
⾸先确定执⾏⽤例场景所需的数据元素(本例中包括账号、是否⿊名单卡、输⼊油量、账⾯⾦额、加油机油量),然后构建矩阵,最后要确定包含执⾏场景所需的适当条件的测试⽤例。
在下⾯的矩阵中,V 表⽰有效数据元素,I表⽰⽆效数据元素,n/a表⽰不适⽤,例如C01表⽰“成功加油”基本流。
请按上述规定为其它应⽤场景设计⽤例矩阵。
测试⽤例表(3)假如每升油4元⼈民币,⽤户的账户⾦额为1000元,加油机内油量⾜够,那么在A4输⼊油量的过程中,请运⽤边界值分析⽅法为A4选取合适的输⼊数据(即油量,单位;升)。
1. 0升2. 250升3. 251升2、练习2有⼀个在线购物的实例,⽤户进⼊⼀个在线购物⽹站进⾏购物,选购物品后,进⾏在线购买,这时需要使⽤账号登录,登录成功后,进⾏付钱交易,交易成功后,⽣产订购单,完成整个购物过程。
6、场景法
功能测试技术场景法及其它-场景法及其它东软IT人才实训中心3 Sept. 2008© Neusoft Confidential1主要内容•场景法相关概念•场景法测试设计方法•错误推测法概念•错误推测法基本思想•黑盒测试方法选择策略2场景法•我们申请一个项目,需先提交审批单据,再由部门经理审批,审核通过后由总经理来最终审批,如果部门经理审核不通过,就直接退回.•每个事件触发时的情景便形成了场景。
而同一事件不同的触发顺序和处理结果形成事件流。
•通过运用场景来对系统的功能点或业务流程进行描述,从而提高测试效果。
•场景法一般包含基本流和备选流,从一个流程开始,通过描述经过的路径来确定过程,经过遍历所有的基本流和备选流来完成整个场景。
3相关概念•基本流:采用直黑线表示,是经过用例的最简单的路径(无任何差错,程序从开始直接执行到结束)•备选流:用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和备选流3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和备选流4)。
4场景法场景如下:场景1:基本流;场景2:基本流,备选流1;场景3:基本流,备选流1,备选流2;基本流备选流场景4:基本流,备选流3;场景5:基本流,备选流3,备选流1;场景6:基本流,备选流3,备选流1,备选流2;场景7:基本流,备选流4;场景8:基本流,备选流3,备选流4;5为什么引用例场景为什么引入用例场景现在的软件几乎都是用事件触发来控制流程的事件触发时的•现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
形成事件流•这种在软件设计方面的思想也可引入到软件测试中,Rational公司首先提出利用用例场景进行测试的思想,可以比较生动地描绘出事件触发时的情景,有利于设计者设计测试用例,同时使测试用例更容易理解和执行。
黑盒测试--场景法
⿊盒测试--场景法现在的软件⼏乎都是⽤事件触发来控制流程的,事件触发时的情景形成了场景何为场景?--场景可以理解为由"那些⼈、什么时间、什么地点、做什么以及如何做"等要素组成的⼀系列相关活动,且场景中的活动还能由⼀系列场景组成场景法组成:场景组合:按上图组合多个不同的场景:场景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,不能做测试设计。
软件测试黑盒测试场景法-PPT
复习 场景法得思想 场景法得步骤 举例
黑盒测试用例设计方法有哪些?
现在得软件几乎都就是用事件触发来控制流程 得,象GUI软件、游戏等。事件触发时得情景并 形成了场景,而同一事件不同得触发顺序与处理 结果就形成了事件流。这种在软件设计方面得 思想可以引入到软件测试中,可以生动地 描绘 出事件触发时得情景,有利于设计测试用例,同 时使测试用例更容易理解与执行。
场景 1 基本流 场景 2 基本流 备选流 1 场景 3 基本流 备选流 1 备选流 2 场景 4 基本流 备选流 3 场景 5 基本流 备选流 3 备选流 1 场景 6 基本流 备选流 3 备选流 1 备选流 2 场景 7 基本流 备选流 4 场景 8 基本流 备选流 3 备选流 4
ID 场景/条件 帐号 密码 选购书籍 预期结果
1
场景1: 购物成功
V
2
场景2: 帐号不存在
I
3
场景3: 帐号错误
I
4
场景4: 密码错误
V
5
场景5: 无选购书籍
V
VV
n/a n/a
V n/a
I
n/a
VI
成功购书
提示帐号不存在
提示帐号错误, 返回基本流步骤2
提示密码错误, 返回基本流步骤3
提示选购书籍, 返回基本流步骤5
ID 场景/条件 帐号 密码
选购书籍
预期结果
1
场景1: 购物成功
xu 123456 《软件测试艺术》成功购物
2
场景2: 帐号不存在
li
n/a
n/a
提示帐号不存在
3
场景3: 帐号错误
li
123456 n/a
黑盒测试设计用例的方法
黑盒测试设计用例的方法
1. 等价类划分法呀,这就像把东西按类别分堆一样。
比如说测试一个登录功能,那有效用户名和无效用户名就是不同的类别,咱得分别设计用例去测试呀!
2. 边界值分析法,嘿,这可太重要啦!就好比走在悬崖边,那边界的地方就是最需要关注的呀。
像设置密码要求 6 到 12 位,那 5 位、6 位、12 位、13 位可都得好好试试呢!
3. 错误推测法,这就像是我们去猜猜可能会出啥错。
比如一个网页加载,那会不会网络不好就卡住啦?我们就得针对这种情况设计用例呀!
4. 因果图法,哇哦,这就如同顺藤摸瓜一样呢。
比如说某个操作会导致一系列结果,咱就得把这些关系搞清楚,设计出合适的用例。
就像按开关会亮灯,那要是开关坏了呢?
5. 正交试验法,这个有点厉害哦,就像把不同的因素排列组合一下。
比如一个设置有多个选项,那不同的组合都得试试,看有没有问题呀!
6. 功能图法,这就好像是给流程画个地图呀。
从一个功能到另一个功能,中间会有哪些路径,都得用用例覆盖到呢,可不是得认真对待嘛!
7. 场景法,哎呀呀,这就是在脑子里模拟各种场景呢。
比如购物流程,从挑选商品到付款,整个场景都得设计用例好好测试呀!
8. 判定表驱动法,嘿呀,这就跟做个表格选答案似的。
不同的条件对应不同的结果,可不能搞混啦,这可是很关键的呢!
9. 状态迁移法,哇塞,这就好像看着事物的状态变化一样。
比如一个文件的状态从新建到保存到打开,每个变化都得检测到位呀!
我觉得这些方法都超级实用呀,掌握了它们,黑盒测试就能做得更棒啦!。
