场景法设计测试用例最佳实践
- 格式:pdf
- 大小:514.93 KB
- 文档页数:20
场景法设计测试用例(以在线购物系统为例)场景法设计测试用例在面向对象的软件开发中,事件触发机制是编程中经常遇到的。
(一)场景法原理现在的软件几乎都是用事件触发来控制流程的。
象GUI软件、游戏等。
事件触发时的情景并形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流。
这种在软件设计方面的思想可以引入到软件测试中,可以生动地描绘出事件触发时的情景,有利于设计测试用例,同时使测试用例更容易理解和执行。
在测试一个软件的时候,在场景法中,测试流程是软件功能按照正确的事件流实现的一条正确流程,那么我们把这个成为该软件的基本流;而凡是出现故障或缺陷的过程,就用备选流加以标注,这样的话,备选流就可以是从基本流来的,或是由备选流中引出的。
所以在进行图示的时候,就会发现每个事件流的颜色是不同的。
基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。
备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4)。
在这个图中,有一个基本流和四个备选流。
每个经过用例的可能路径,可以确定不同的用例场景。
从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:场景 1 基本流场景 2 基本流备选流 1 场景 3 基本流备选流 1 备选流 2 场景 4 基本流备选流 3 场景 5 基本流备选流 3 备选流 1 场景 6 基本流备选流 3 备选流 1 备选流 2场景 7 基本流备选流 4 场景 8 基本流备选流 3 备选流 4 下面是场景法的基本设计步骤:根据说明,描述出程序的基本流及各项备选流根据基本流和各项备选流生成不同的场景对每一个场景生成相应的测试用例对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值(二)场景法例子1、在线购物系统我们都在当当网或china-pub华章网上书店都订购过书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束。
测试⽤例(场景法)⼀、应⽤场合1、适合使⽤场景法软件界⾯特点:界⾯中有很少(或没有)填写项,所有的操作都是通过⿏标的单击、双击、拖拽等完成 (游戏的测试⾮常适合场景法)2、把⾃⼰当成最终的⽤户,尽可能真实全⾯的模拟⽤户的操作,设计出相应的测试点,⼀般包括两类:(1)模拟⽤户正确的操作、完成主要业务逻辑的动作——验证软件的主要功能是否实现(2)模拟⽤户错误的操作——验证软件错误处理能⼒3、场景法主要基于:(1)业务(需求)层⾯:对所测软件的重要功能、业务逻辑、⾏业背景深⼊理解(2)技术层⾯:基于等价类划分,有效等价类——模拟⽤户正确操作;⽆效等价类——模拟错误操作为什么⽤场景法设计测试⽤例?⼤多数业务软件由后台管理(⽐如:⽤户管理、⾓⾊管理、权限管理等等各种管理)和⼯作流等⼏个部分组成。
终端⽤户,期望软件能够实现业务需求,⽽不是简单的功能的组合。
对于单点功能利⽤等价类、边界值、判定表⽤例设计⽅法能够解决⼤部分问题。
涉及业务流程的软件系统,采⽤场景法⽐较合适。
⼆、核⼼概念场景业务流通常分为基本流、备选流、异常流程1.基本流:基本流表⽰通过业务流程时输⼊都正确,能达到⽬标的流程。
(插卡--》输⼊正确密码--》输⼊⾦额--》取款--》取卡)2.备选流:备选流表⽰通过业务流程时输⼊错误(或者操作错误)导致流程存在反复, 但是经过纠正后仍能达到能达到⽬标的流程.(插卡-->输⼊错误密码--》输⼊正确密码--》输⼊⾦额--》取款--》取卡)3.异常流:异常流表⽰通过业务流程时输⼊错误(或者操作错误)产⽣异常终⽌流程(插卡-->输⼊3次错误密码--》吞卡) .三、使⽤步骤步骤⼀:理解需求,确定业务流程(基本流程、备选流程、异常流程) 例如操作ATM机(1)基本流——正确取款(2)备选流——在取款过程中出现的主要错误 此步骤完全基于业务的理解步骤⼆:绘制流程图,再次确认流程路径根,据基本流和备选流,⽣成场景(熟练后,直接做该步)步骤三:根据业务流程图,抽取测试路径(每⼀路径需含⼀个未⾛过得路径)步骤四:细化路径,利⽤等价类边界值⽅法细化路径,抽取测试⽤例,根据场景,编写⽤例 场景和⽤例并不是⼀⼀对应的关系练习⼀:ATM机取款1、列出主要场景,分析需求找出基本流(正确操作)和备选流(错误操作) .1)输⼊密码,选择⾦额,点击确认,取⾛钞票,成功 .2)密码错误,给出提⽰!2、执⾏测试,把测试过的场景留下证迹(截图)。
测试⽤例设计--场景法1、为什么⽤场景法设计测试⽤例?⼤多数业务软件由后台管理(⽐如:⽤户管理、⾓⾊管理、权限管理等等各种管理)和⼯作流等⼏个部分组成。
终端⽤户,期望软件能够实现业务需求,⽽不是简单的功能的组合。
对于单点功能利⽤等价类、边界值、判定表⽤例设计⽅法能够解决⼤部分问题。
涉及业务流程的软件系统,采⽤场景法⽐较合适。
2、什么是场景法?场景业务流通常分为基本流、备选流、异常流程基本流:基本流表⽰通过业务流程时输⼊都正确,能达到⽬标的流程。
(插卡--》输⼊正确密码--》输⼊⾦额--》取款--》取卡)备选流:备选流表⽰通过业务流程时输⼊错误(或者操作错误)导致流程存在反复,但是经过纠正后仍能达到能达到⽬标的流程.(插卡-->输⼊错误密码--》输⼊正确密码--》输⼊⾦额--》取款--》取卡)异常流:异常流表⽰通过业务流程时输⼊错误(或者操作错误)产⽣异常终⽌流程(插卡-->输⼊3次错误密码--》吞卡) .⼀个流程⽤户期望:⼊度唯⼀,出度唯⼀。
每⼀个流程都包含⼀个从未⾛过的流程节点。
3、场景法设计测试⽤例的步骤?步骤⼀:理解需求,确定业务流程(基本流程、备选流程、异常流程)步骤⼆:绘制流程图,再次确认流程路径步骤三:根据业务流程图,抽取测试路径(每⼀路径需含⼀个未⾛过得路径)步骤四:细化路径,利⽤等价类边界值⽅法细化路径,抽取测试⽤例4、场景法设计测试⽤例的优缺点?优点:涉及倒业务流程的业务需求适合⽤场景法缺点:只验证业务流程,不验证单点功能,⼀般先采⽤先⽤等价类,边界值,错误推断,判定表等⽅法对单点功能进⾏验证,验证通过后再采⽤场景法进⾏业务流程的验证。
5、场景法测试⽤例设计⽰例实例⼀:需求:流程图:测试⽤例:(根据流程图抽取路径时最好从最后⼀个判定条件抽取)1-》2-》3-》4-》5-》6-》7:进⼊发送⼦程序,有空闲缓冲写⼊空闲缓冲,写⼊成功启动发送命令,发送消息成功。
1-》2-》8-》10:进⼊发送⼦程序,⽆空闲缓冲发送失败消息。
[生活]场景法测试用例ATM机测试用例设计--场景法1. 定义现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。
右图中经过用例的每条路径都用基本流和备选流来表示:基本流用黑色表示,是经过用例的最简单的路径。
备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流 2),或者终止用例而不再重新加入到某个流(如备选流 2 和 4)。
1. 应用的范围1) 基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑 2) 比较常见的有: 网上购物流程, ATM机取款流程等1. 步骤1) 画出需要测试路径的流程图(一般选择工具Office Visio)2) 分析基本流和备选流3) 根据基本流和备选流设计测试用例1. 案例基本事件流:1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;参数1 银行密码参数类型字符串参数范围字符串为0,9之间的阿拉伯数字组合,密码长度为6位备注用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。
如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢~”,用户按下确认键,确认需要提取的金额;参数1 取款金额参数类型整数参数范围 50~1500 RMB,单笔取款额最高为1500RMB;每24小时之内,取款的最高限额是4500RMB备注系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。
场景法测试案例设计那咱得先确定一个要测试的东西,比如说一个简单的在线购物系统吧。
一、场景一:正常购物流程。
1. 场景描述。
小明是个网购达人,他想在这个购物网站上买一件T恤。
2. 测试用例。
用例编号:TC 001。
测试步骤:小明打开购物网站首页。
就像打开宝藏盒子一样,满心期待地等着各种好东西出现。
在搜索框输入“男款T恤”,然后点击搜索按钮。
这就像是在大海里捞针,不过是有目标的捞针。
从搜索结果里挑选一件他喜欢的T恤,点击进入商品详情页。
就像在一群小伙伴里挑出最顺眼的那个。
选择合适的尺码(比如L码)和颜色(比如蓝色)。
这就跟给娃娃挑衣服一样,得选合身又好看的。
点击“加入购物车”按钮,然后查看购物车,确认商品已经在购物车里了。
这就像把挑好的宝贝放进自己的小篮子里,得看看有没有放错。
进入购物车后,点击“结算”按钮。
这时候就像走向收银台准备付钱了。
填写收货地址、联系人姓名(小明)、联系电话。
这就像是告诉快递小哥,“把东西送到这个地方哦”。
选择支付方式,假设是微信支付,然后点击“支付”按钮,完成支付。
就像把钱交给收银员,只不过是在网上交。
预期结果:每一步操作都能顺利进行,没有出现错误提示。
支付成功后,会显示订单已提交成功,并且小明能收到订单确认短信或者邮件。
二、场景二:商品缺货情况。
1. 场景描述。
小红也想在这个网站买一款很热门的女款运动鞋,但是这款鞋可能缺货了。
2. 测试用例。
用例编号:TC 002。
测试步骤:小红打开购物网站,在搜索框输入“女款运动鞋 [品牌名]”,然后点击搜索。
找到她想要的那双鞋,点击进入商品详情页。
选择合适的尺码(比如37码)和颜色(比如白色),然后点击“加入购物车”按钮。
预期结果:如果商品缺货,应该显示“缺货”提示,并且无法加入购物车,会弹出类似“很抱歉,该商品目前缺货,请选择其他商品或者关注补货信息”的提示框。
三、场景三:错误的支付信息。
1. 场景描述。
小刚在购物网站买了一个电子设备,到支付环节的时候,他故意输入错误的支付密码。
运用场景法进行A TM提款的测试用例设计
1、根据说明,描述出程序的基本流及各项备选流
基本流:客户打开账户登录管理页面,输入了账号和密码,如不成功则显示不成功且无法进入界面,如成功进入账户管理,可选择进行提款,转账存款等操作,次过程收admin 银行系统管理员的控制,A TM操作员可以获得开启系统ATM机权限,次过程同样受到银行系统管理员admin的控制。
备选流1:客户进入个人账户时输入账号密码有误,无法进入账号信息页面。
备选流2:客户进入个人账户时输入账号密码无误时仍无法进入账号信息页面,跳转有误
备选流3:客户进入提款功能时,因客观余额不足无法提款。
备选流4:客户进入提款功能时,余额不足显示出错,仍无法提款。
备选流5:客户进入转款功能时,因客观余额不足无法转账。
备选流6:客户进入转款功能时,因收款方账号不合法(查封)无法转账。
备选流7:客户进入存款功能时,因客观现钞ATM验钞系统检测不合法,无法实现存款
备选流8:客户进入存款功能时,现金验收无误,系统无法实现存款
备选流9:银行系统管理员admin对客户的提款功能监控失效
备选流10:ATM操作员无法开启系统
备选流11:银行系统管理员admin对ATM操作员的操作失效。
2、根据基本流和各项备选流生成不同的场景
场景1:
场景2:
……
场景n:。
使⽤场景法设计测试⽤例场景法是通过描述流经⽤例的路径来确定的过程,这个流经过程要从⽤例开始到结束遍历其中所有的基本流和备选流。
场景法就是根据这些基本流和备选流的流经过程设计测试⽤例。
⽬前的软件⼏乎都是由事件触发来控制流程的,事件触发时的情景便形成了场景,⽽同⼀事件不同的触发顺序和处理结果形成事件流。
这种在软件设计⽅⾯的思想也可被引⼊到软件测试中,⽣动的描绘出事件触发时的情景,有利于测试设计者设计测试⽤例,同时测试⽤例也更容易被理解和执⾏。
提出这种测试思想的是Rational公司。
下⾯使⽤⽹上购物系统的购物场景举例说明。
(1)场景描述⽤户进⼊⽹上购物系统⽹站进⾏购物,选好物品后进⾏购买,这时需要使⽤账号登录,登录成功后付款,交易成功后⽣成订单,完成此次购物活动。
(2)使⽤场景法设计测试⽤例①确定基本流和备选流事件基本流 登录⽹上购物系统⽹站,选择物品,登录账号,付钱交易,⽣成订单备选流1账号不存在备选流2账号或密码错误备选流3 账号余额不⾜备选流4 ⽤户账户没有钱备选流5⽤户退出系统②根据基本流和备选流来确定场景场景1-成功购物基本流场景2-账号不存在基本流备选流1场景3-账号或密码错误基本流备选流2场景4-账号余额不⾜基本流备选流3场景5=⽤户账号没有钱基本流备选流4③设计⽤例对每个场景都要做测试⽤例,可以使⽤矩阵(表格)来管理⽤例。
⽤⾏表⽰各个测试⽤例,列表⽰测试⽤例的信息。
⾸先将测试⽤例的ID、条件、涉及的数据元素以及预期结果列在矩阵中,然后将这些数据确定下来,填写在表格中。
下表中,“有效”表⽰这个条件必须是有效的才可执⾏基本流,⽽“⽆效”⽤于表⽰这种条件下将激活所需备选流。
“不适⽤”表⽰这个条件不适⽤测试⽤例。
测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1场景1:成功购物有效有效有效成功购物2场景2:账号不存在 ⽆效不适⽤不适⽤提⽰账号不存在3场景3:账号或密码错误(账号正确密码错误)有效⽆效不适⽤提⽰账号或密码错误,返回基本流步骤34场景3:账号或密码错误(账号错误密码正确)⽆效有效不适⽤提⽰账号或密码错误,返回基本流步骤35场景4:⽤户账号余额不⾜ 有效有效⽆效提⽰⽤户账号余额不⾜请充值6场景5:⽤户账号没有钱有效有效⽆效提⽰账号余额请充值④设计上表测试⽤例数据,填⼊下表测试⽤例ID 场景/条件账号密码⽤户账号余额预期结果1场景1:成功购物wangsh password193成功购物2场景2:账号不存在 song不适⽤不适⽤提⽰账号不存在3场景3:账号或密码错误(账号正确wangsh666666不适⽤提⽰账号或密码错误,3密码错误)wangsh666666不适⽤返回基本流步骤34场景3:账号或密码错误(账号错误密码正确)song password不适⽤提⽰账号或密码错误,返回基本流步骤35场景4:⽤户账号余额不⾜ wangsh password2提⽰⽤户账号余额不⾜请充值6场景5:⽤户账号没有钱wangsh password0提⽰账号余额请充值。
测试用例设计--场景法1.定义现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设用例场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有基本流和备选流。
右图中经过用例的每条路径都用基本流和备选流来表示:基本流用黑色表示,是经过用例的最简单的路径。
备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1 和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2 和4)。
1.应用的范围1)?????? 基本上每个软件都会用到这种方法,因为每个软件后面都有业务的支撑2)?????? 比较常见的有: 网上购物流程, ATM机取款流程等1.步骤1)????? 画出需要测试路径的流程图(一般选择工具Office Visio)2)????? 分析基本流和备选流3)????? 根据基本流和备选流设计测试用例1.案例基本事件流:1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;用户输入该银行卡的密码,ATM提款机与MainFrame传递密码,检验密码的正确性。
如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。
用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;备选事件流(考虑可能失败的地方):1.在基本事件流1中:a)???????? 如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。
场景设计法设计测试用例嘿,朋友们!今天咱们来唠唠这个场景设计法设计测试用例,就像厨师做菜得有个菜谱一样,测试用例就是软件测试的“菜谱”。
你想啊,软件就像一个神秘的大盒子,里面装满了各种奇奇怪怪的小玩意儿。
场景设计法呢,就像是拿着放大镜,一点一点去探索这个大盒子里每个角落的宝贝。
比如说,一个购物软件,那简直就是一个超级大集市。
这个集市里有琳琅满目的商品,就像天上的星星一样多。
我们设计测试用例的时候,就得想象自己是一个超级挑剔的顾客,从进入这个集市(打开软件)开始,就到处挑刺儿。
登录页面就像这个集市的大门,要是密码输错了,它可不能像个傻大门一样随便就开了,得像个忠诚的卫士一样把你拦住。
这时候我们的测试用例就像是给这个卫士出难题的捣蛋鬼,故意输错各种密码,看它是不是能坚守岗位。
再说说搜索功能,那简直就是这个集市里的寻宝地图。
我们输入关键词搜索商品的时候,要是搜出来的东西乱七八糟,就像从海里捞出来一堆石头,而不是我们想要的珍珠,那可不行。
测试用例这个时候就变成了一个严谨的鉴定师,输入各种奇葩的关键词,看这个寻宝地图是不是真的那么靠谱。
购物车功能呢,就像是我们的小推车。
要是我们把东西放进去,它突然就消失了,那就像小推车突然有个黑洞把东西都吞了一样恐怖。
测试用例得像个小侦探,仔细检查把东西放进购物车、修改数量、删除商品等各种操作,不能让这个小推车出乱子。
支付环节更是重中之重,就像在集市里结账的时候,要是这个过程像坐过山车一样忽上忽下,一会儿成功一会儿失败,那可就把顾客吓得够呛。
测试用例就像一个铁面无私的收银员,各种支付方式都要测试一遍,不能让任何一个漏洞溜过去。
还有商品详情页面,那得像个商品的小传记一样详细准确。
要是里面的信息错误百出,就像一个人的简历全是瞎编的一样可笑。
测试用例要像个认真的校对员,仔细核对每个商品详情里的内容。
软件的各个功能之间的交互也很重要,就像集市里各个摊位之间要和谐共处一样。
如果一个操作导致整个软件像多米诺骨牌一样全倒了,那可就乱套了。
软件测试用例场景法流程案例下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!软件测试用例设计:场景法的流程实践在软件开发过程中,测试是确保产品质量的关键环节。