您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 《软件功能性测试》PPT课件
北京软件产品质量检测检验中心软件测试工程师培训软件功能性测试概览在本章中,我们将学习:–功能性测试概述–功能分解–等价类划分–边界值分析–因果图法–其他测试法目标完成此课程之后,学员将具备以下能力:–理解功能性测试的含义–使用等价类划分的方法设计测试用例–使用边界值分析的方法设计测试用例–使用因果图的方法设计测试用例–对具体项目进行功能测试课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法功能性测试概述任何程序都可以看作是将从输入定义域取值映射到输出值域的函数将系统看成黒盒,又称为黒盒测试黒盒的实现是不需要了解的,只需要知道输入和预期输出功能性测试模型输入输出黒盒内部实现不可见功能性测试的优点功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件的用例(usecase)就可以设计出大部分功能性测试用例功能性测试的缺点测试用例数量较大测试用例可能产生很多冗余功能性测试的覆盖范围不可能达到100%功能性测试的方法功能分解等价类划分边界值分析因果图法其他测试方法课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法功能分解含义–把软件分解为相对独立的功能单元目的–通过功能分解可以明确软件功能性测试的内容–使软件功能性测试可度量,有利于测试监督和管理功能分解功能分解应把握好度–不能分解得过粗–不能分解得过细–可提高软件功能性测试度量的准确性课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法等价类划分等价类划分是将程序的输入域或输出域的不同区间划分为不同的数据类,以便导出测试用例每个等价类所揭示的程序错误都是等价的要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数等价类分类有效等价类–对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合–利用它可以检验程序是否实现了预期的功能和性能无效等价类–对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合–利用它可以检验程序对于无效数据的处理能力等价类划分数学含义A=x=BC=y=D确立等价类的原则如果输入条件规定了取值范围,或者值的个数,则可以确立一个有效等价类和两个无效等价类,例如:–数据范围是1~50–有效等价类为“=1&&=50”–两个无效等价类为“1”和“50”确立等价类的原则如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类确立等价类的原则如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:–测试密码域,要求密码必须是数字或字母–有效等价类为“密码是数字和字母的组合”–无效等价类为“密码包括中文”、“密码包括其它符号”等如果确知已划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类等价类测试用例设计分析输入输出划分有效等价类、无效等价类设计测试用例,使其尽可能多的覆盖有效等价类设计测试用例,使其尽可能多的覆盖无效等价类举例(保险费率计算)某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和输入:年龄、性别、婚姻、抚养人数输出:保险率查看程序输入数据说明年龄20~396点40~594点99以下59以上、20以下1以上2点性别男5点女3点婚姻已婚3点未婚5点抚养人数1人扣0.5点最多扣3点(四舍五入)等价类划分输入年龄有效等价类20~39(6点)(1)40~59(4点)(2)60~99、1~19(2点)(3)无效等价类空白(未知)(4)1(未知)(5)99(未知)(6)包含非数字字符(未知)(7)性别有效等价类男(5点)(8)女(3点)(9)婚姻有效等价类已婚(3点)(10)未婚(5点)(11)等价类划分输入抚养人数有效等价类1~2(1点)(12)3~4(2点)(13)4(3点)(14)无效等价类空白(未知)(15)1(未知)(16)包含非数字字符(未知)(17)输出保险费率有效等价类=10点(0.6%)(18)10点(0.1%)(19)设计测试用例用例编号输入输出备注年龄性别婚姻抚养人数保险率122男已婚10.6%(1)(8)(10)(12)(18)13点245女未婚40.1%(2)(9)(11)(13)(19)8点365男已婚80.1%(3)(8)(10)(14)(19)7点4空白男未婚1错误(4)5-1男未婚2错误(5)6122男未婚8错误(6)7“tt1”女已婚1错误(7)822女已婚空白错误(15)922女已婚-1错误(16)1022女未婚“ct2”错误(17)课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法边界值分析缺陷往往遗漏在角落里,聚集在边界上选取输入条件的边界区域作为测试数据比中间的数据更加容易发现错误边界值分析法是一种补充等价类划分的测试用例设计技术不是对某个等价类随便挑一个数据做测试数据,而是选一个或多个边界数据,使得该等价类的每个边界都被测试到不仅考虑输入数据,而且考虑输出数据边界值分析数学含义A=x=BC=y=D确立边界值的原则如果输入条件或输出条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如:–数据范围是1=x=50正整数–边界值取为:1、50、0、51如果输入条件或输出条件规定了值的范围并且有效条件不包括了值的边界,可分别对边界和略处于边界内取值,例如:–数据范围是1x50正整数–边界值取为:1、50、2、49确立边界值的原则如果输入或输出域是个有序的集合(如顺序文件、表格等),应注意选取有序集的第一个和最后一个元素以及集合外但靠近集合的元素作为边界,例如:–输入文件名介于file0101~file0120之间–边界值取为file0100,file0101,file0120,file0121举例(找零钱最佳组合)假设商店商品价格[X]皆不大于100元(整数),若顾客买一件商品,付款[Y]在100元内,求找给顾客的最少货币张数?货币面值:–50元[R50]–20元[R20]–10元[R10]–5元[R5]–2元[R2]–1元[R1]分析输入X1000X=100X=0Y100X=Y=100YX分析输出0=R50=10=R20=20=R10=10=R5=10=R2=20=R1=1分析边界无效边界–X100–X=0–Y100–YX分析边界有效边界–设找部分钱后剩余的金额为S–S=50找R50–20=S50找R20–10=S20找R10–5=S10找R5–2=S5找R2–1=S2找R1分析后无效情形X100X=00X=100,Y1000X=100,YX分析后有效情形S=50S=49S=20S=19S=10S=9S=5S=4S=2S=1S=0设计测试用例用例编号输入输出备注张数商品价格X付款Y50元R5020元R2010元R105元R52元R21元R11101错误20错误3100101错误410099错误55010010000016511000201205780100010000188110000112049901000010001设计测试用例用例编号输入输出备注张数商品价格X付款Y50元R5020元R2010元R105元R52元R21元R11091100000120311951000001001129610000002021398100000010114991000000011151001000000000简化测试用例删除用例10删除用例12等价类划分与边界值分析的结合回到等价类划分的例子课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法因果图法介绍考虑输入条件之间的相互联系、相互组合因果图法最终生成的是判定表,它适用于检查程序输入条件的各种组合情况判定表介绍在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题的一个非常有力的分析和表达工具是判定表一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有力的工具判定表介绍判定表由四个部分组成:–条件桩(ConditionStub)–动作桩(ActionStub)–条件项(ConditionEntry)–动作项(ActionEntry)判定表介绍条件桩条件项动作桩动作项判定表图示规则1规则2规则3规则4条件11100条件21—0—条件3010—条件40101操作1XX操作2X操作3X根据规格说明得到的判定表因果图法步骤分析软件规格说明描述中的因果关系(输入与输出的因果关系)找出原因与结果、原因与原因之间的对应关系,画出因果图在因果图上标记约束或限制条件把因果图转化为判定表将判定表中的每一列拿出来设计测试用例因果图法的优点测试用例数目较少测试用例数目随数据数目的增加而线形的增加因果图介绍因果图的四种符号:“恒等”恒等c1e1因果图介绍因果图的四种符号:“非”非c1e1因果图介绍因果图的四种符号:“或”∨或c1e1c2c3因果图介绍因果图的四种符号:“与”∧与c1e1c2c3因果图介绍因果图的四种符号说明:–ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。因果图介绍在实际问题中,输入状态相互之间还可能存在某些依赖关系,称之为“约束”。比如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。因果图介绍E异ab因果图介绍I或acb因果图介绍说明:对于输入条件的约束有四种以下4类:–E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。–I约束(或):a、b和c中至少有一个必须是1,即a、b和c不能同时为0。–O约束(唯一):a和b必须有且仅有一个为1。–R约束(要求):a是1时,b必须为1,即不可能a是1时b是0。因果图介绍输出结果只有M约束(强制):若结果a是1时,则b的结果强制为0。M强制ab因果图法案例第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。因果分析原因:–1——第一列字符是A–2——第一列字符是B–3——第二列字符是一数字–11——第一列字符是A或是B结果:–21——修改文件–22——给出信息L–23——给出信息M因果图∨∧11122132322因果图∨∧E11122132322由因果图建立的判定表1234567原因11110000210011003-01010111-111100结果21-01010022(L)-00001123(M)-101010测试用例AsA2BdB5FrR3课程目录功能性测试概述功能分解等价类划分边界值分析因果图法其他测试方法随机测试使用随机数生成器选取测试用例值避免测试偏见(只选取边界值)存在问题:测试用例是否充分错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例错误推测法基本思想列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例例如:–以前测试时曾出现过错
本文标题:《软件功能性测试》PPT课件
链接地址:https://www.777doc.com/doc-4757018 .html