




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试基础,-3场景法,黑盒测试用例设计方法,-2边界值,目录,场景法,边界值,1,2,3,错误推测法,边界值分析法,边界值分析法,边界值分析方法是对等价类划分方法的补充.1)边界值分析方法的考虑:,长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误。,使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.,与等价划分的区别边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。,边界值分析法,通常情况下,软件测试所包含的边界检验有,边界值分析法,数字,字符,位置,重量,大小,速度,方位,尺寸,空间,相应地,以上类型的边界值应该情况进行测试在:,最大/最小,首位/末位,上/下,最快/最慢,最高/最低,最长/最短,空/满,边界值分析法,1)如果输入条件规定的是一个取值区间或取值个数,且该区间包含边界本身,比如,一个输入文件应包括1255个记录,则测试用例可取1和255,还应取0及256等。,边界值分析法,2)如果输入条件规定取值区间或取值个数,但是该区间不包含边界本身,比如,某学校的学生年龄为(1724)岁,则测试用例可取17和24,还应取18及23等。边界值取值的个数最多只有4个,不会有超过4个数的情况;,运用边界值分析法设计测试用例的原则:1.若规定取值范围:取刚好达到范围的值,刚刚超过范围的值作为测试数据依据2.若规定取值的个数:取最大、最小、最大+1、最小-13.若输入域与输出域为有序的集合(如序表、顺序文件等):取集合第一个和最后一个元素作为测试用例,边界值分析法,.常见的边界值1)屏幕上光标在最左上、最右下位置2)报表的第一行和最后一行3)数组元素的第一个和最后一个4)循环的第0次、第1次和倒数第2次、最后一次,边界值分析法,场景法,场景法,请在此处添加标题,请在此处添加副标题,场景法,场景法,场景法也叫流程分析法,是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到。,场景法,现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。,比较常见的有:网上购物流程,ATM机取款流程等,基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,,场景法应用,场景法应用,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和4),1、一个业务只存在一个基本流;2、基本流只有一个起点,一个终点;3、基本流是主流,备选流是支流;4、备选流可以起始于基本流,也可以起始于其它备选流;5、备选流的终点可以是一个流程的出口,也可以是回到基本流,还可以是汇入其它的备选流;,基本流和备选流的识别原则,1)画出需要测试路径的流程图(一般选择工具OfficeVisio)2)分析基本流和备选流,生成不同的场景3)根据基本流和备选流设计测试用例4)对生成招兵买马有测试用例重新审查,去掉多余的测试用例,确定测试用例后,为每一个测试用例确定测试数据值。,场景法设计测试用例步骤,基本流程1、用户向ATM提款机中插入银行卡,如果银行卡是合法的,ATM提款机界面提示用户输入提款密码;2、用户输入该银行卡的密码,检验密码的正确性。如果输入密码正确,提示用户输入取钱金额,提示信息为,“请输入您的提款额度”;3、用户输入取钱金额,系统校验金额正确,提示用户确认,提示信息为“您输入的金额是xxx,请确认,谢谢!”,用户按下确认键,确认需要提取的金额;4、系统同步银行主机,点钞票,输出给用户,并且减掉数据库中该用户帐户中的存款金额。5、用户提款,银行卡自动退出,用户取走现金,拔出银行卡,ATM提款机界面恢复到初始状态;,场景法例子ATM机取款,场景法例子ATM机取款,备选事件流(考虑可能失败的地方):在基本事件流1中:1)如果插入无效的银行卡,那么,在ATM提款机界面上提示用户“您使用的银行卡无效!”,3秒钟后,自动退出该银行卡。在基本事件流2中:1)如果用户输入的密码错误,则提示用户“您输入的密码无效,请重新输入”;2)如果用户连续3次输入错误密码,ATM提款机吞卡,并且ATM提款机的界面恢复到初始状态。此时,其他提款人可以继续使用其他的合法的银行卡在ATM提款机上提取现金。3)用户输入错误的密码后,也可以按“退出”键,则银行卡自动退出。,场景法例子ATM机取款,在基本事件流3中:a)如果用户输入的单笔提款金额超过单笔提款上限,ATM提款机界面提示“您输入的金额错误,单笔提款上限金额是3000RMB,请重新输入”;b)如果用户输入的单笔金额,不是以100RMB为单位的,那么提示用户“您输入的提款金额错误,请输入以100为单位的金额”;c)如果用户在24小时内提取的金额大于20000RMB,则ATM提款机提示用户,“24小时内只能提取20000RMB,请重新输入提款金额”输入提取的金额超过了系统的设定的限制;d)如果用户输入正确的提款金额,ATM提款机提示用户确认后,用户取消提款,则ATM提款机自动退出该银行卡;e)如果ATM提款机中余额不足,则提示用户,“抱歉,ATM提款机中余额不足”,3秒钟后,自动退出银行卡。,场景法例子ATM机取款,在基本事件流4中:a)如果用户银行户头中的存款小于提款金额,则提示用户“抱歉,您的存款余额不足!”,3秒钟后,自动退出银行卡;在基本事件流5中:a)如果用户没有取走现金,或者没有拔出银行卡,ATM提款机不做任何提示,直接恢复到界面的初始状态;,场景法例子ATM机取款,场景法例子ATM机取款,场景法例子ATM机取款,数据设计一旦确定了所有的测试用例,则应对这些用例进行复审和验证以确保其准确且适度,并取消多余或等效的测试用例。测试用例一经认可,就可以确定实际数据值(在测试用例实施矩阵中)并且设定测试数据,场景法例子ATM机取款,场景法例子ATM机取款,我们都在当当网或china-pub华章网上书店都订购过书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需要登录自己注册的帐号,登录成功后,进行结帐并生成订单,整个购物过程结束。那么我们通过以上的描述,从中确定哪是基本流,哪些是备选流:,场景法例子-在线购物系统,场景法例子,场景法例子,根据基本流和备选流来确定场景:,在下面的矩阵中,V(有效)用于表明这个条件必须是VALID(有效的)才可执行基本流,而I(无效)用于表明这种条件下将激活所需备选流。下表中使用的“n/a”(不适用)表明这个条件不适用于测试用例。,场景法例子,输入测试数据,错误推测法,错误推测法,错误推测法是基于以往的经验和直觉,参照以往的软件系统出现的错误,推测程序中所有可能存在的各种缺陷和错误,从而有针对性的设计测试用例。错误推测法的基本思路:列举出程序中所有可能的错误和容易发生错误的特殊情况,根据可能出现的错误情况选择测试用例。如:1.单元测试中列出许多在模块中常见的错误、以前产品测试中曾经发现的错误等。2.输入数据为0或字符为空。3.各种情况在产品说明中常常被忽视,也可能被程序员遗忘,但是在实际使用中经常发生。测试人员要站在用户的角度,考虑他们要输入的信息,而不管这些信息看起来是否合法的输入还是非法的输入。,错误推测法,例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:1)无SIM卡插入时进行呼出(非紧急呼叫)2)插入已欠费SIM卡进行呼出3)射频器件损坏或无信号区域插入有效SIM卡呼出4)网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)5)网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字,测试方法选择策略,1.首先进行等价类划分,包括输入条件和输出条件的等价类划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。2.在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。3.可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。4.对于业务清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。,因果图判定表,因果图法,回顾,前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。,因果图,考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。,因果图介绍,4种符号分别表示了规格说明中向4种因果关系。,因果图介绍,因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。,因果图概念,关系,1.恒等,2.非,3.或,4.与,若ci是1,则ei也是1;否则ei为0。,若ci是1,则ei是0;否则ei是1。,若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。,若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。,因果图概念,约束输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。,因果图概念,因果图概念,输入条件的约束有以下4类:E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。I约束(或):a、b和c中至少有一个必须是1,即a、b和c不能同时为0。O约束(唯一);a和b必须有一个,且仅有1个为1。R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。,输出条件约束类型输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。,因果图方法,因果图方法最终生成的是判定表。它适合于检查程序输入条件的各种组合情况。利用因果图生成测试用例的基本步骤:(1)分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符。(2)分析软件规格说明描述中的语义.找出原因与结果之间,原因与原因之间对应的关系.根据这些关系,画出因果图。(3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不不可能出现.为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。(4)把因果图转换为判定表。(5)把判定表的每一列拿出来作为依据,设计测试用例。,判定表(决策表),条件桩(ConditionStub):列出了问题的所有条件.通常认为列出的条件的次序无关紧要.动作桩(ActionStub):列出了问题规定可能采取的操作.这些操作的排列顺序没有约束.条件项(ConditionEntry):列出针对它左列条件的取值.在所有可能情况下的真假值.动作项(ActionEntry):列出在条件项的各种取值情况下应该采取的动作.,因果图方法举例,因果图方法举例,因果图方法举例,因果图方法举例,因果图方法举例,例4:某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。解答:根据题意,原因和结果如下:,因果图方法举例,原因:1第一列字符是A;2第一列字符是B;3第二列字符是一数字。结果:21修改文件;22给出信息L;23给出信息M。,因果图方法举例,其对应的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。,原因:1第一列字符是A;2第一列字符是B;3第二列字符是一数字。结果:21修改文件;22给出信息L;23给出信息M。,因果图方法举例,根据因果图建立判定表。,表中8种情况的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。,因果图方法小结,因果图方法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了分析。从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加。如果哪个开发项目在设计阶段就采用了判定表,也就不必再画因果图,而是可以直接利用判定表设计测试用例了。,因果图判定表法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源管理师实战面试题集
- 2025年房地产销售经理面试指南与模拟题解析
- 2025年燃气工程中级知识系统梳理与预测题解析
- 电力冬季安全知识培训课件
- 2025年环境工程师高级专业模拟题及答案解析
- 2025年财务会计实操技巧与面试预测题
- 2025年初入金融行业必-备知识金融分析师面试模拟题集
- 2025年煤气工程专业知识与考试热点预测
- 电信线路设备基础知识培训课件
- 2025年外贸业务经理中级面试攻略与模拟题集全解
- 《半年度工作总结与规划》课件
- 《稻田养鸭技术》课件
- 污水处理设施运维服务投标方案(技术标)
- 投标物业管理服务方案
- 农业电力线路改造施工合同
- 个人优缺点剖析
- 选矿厂租赁合同范本
- DLT 593-2016 高压开关设备和控制设备
- 汽车电泳涂装技术及工艺详解
- 采购部三年规划
- 人教版九年级全一册英语Unit 1~14各单元重点语法知识点复习提纲
评论
0/150
提交评论