《《软件功能性测试》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件功能性测试》PPT课件.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京软件产品质量检测检验中心北京软件产品质量检测检验中心软件测试工程师培训软件功能性测试“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。概览在本章中,我们将学习:功能性测试概述功能分解等价类划分边界值分析 因果图法其他测试法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。目标完成此课程之后,学员将具备以下能力:理解功能性测试的含义使用等价类划分的方法设计测试用例
2、使用边界值分析的方法设计测试用例 使用因果图的方法设计测试用例对具体项目进行功能测试“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录功能性测试概述功能性测试概述功能分解等价类划分 边界值分析 因果图法 其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能性测试概述任何程序都可以看作是将从输入定义域取值映射到输出值域的函数将系统看成黒盒,又称为
3、黒盒测试黒盒的实现是不需要了解的,只需要知道输入和预期输出“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能性测试模型输入输出黒盒内部实现不可见“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能性测试的优点功能性测试与软件如何实现无关,如果实现发生变化,功能性测试用例仍然可用测试用例开发可以与软件开发同时进行,可节省软件开发时间,通过软件的用例(use ca
4、se)就可以设计出大部分功能性测试用例“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能性测试的缺点测试用例数量较大测试用例可能产生很多冗余功能性测试的覆盖范围不可能达到100%“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能性测试的方法功能分解等价类划分边界值分析因果图法其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综
5、治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录功能性测试概述功能分解功能分解等价类划分 边界值分析 因果图法 其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。功能分解含义把软件分解为相对独立的功能单元目的通过功能分解可以明确软件功能性测试的内容使软件功能性测试可度量,有利于测试监督和管理“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控
6、联网应用为重点的“群众性治安防控工程”。功能分解功能分解应把握好度不能分解得过粗不能分解得过细可提高软件功能性测试度量的准确性“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录功能性测试概述功能分解等价类划分等价类划分 边界值分析 因果图法 其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类划分等价类划分是将程序的输入域或输出域的不同区间划
7、分为不同的数据类,以便导出测试用例每个等价类所揭示的程序错误都是等价的要求此方法的测试用例能各自发现一类错误,从而减少必须开发的测试用例数“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类分类有效等价类 对于程序的需求说明来说是合理的,有意义的输入数据所构成的集合利用它可以检验程序是否实现了预期的功能和性能无效等价类 对于程序的需求说明来说是不合理的,没有意义的输入数据所构成的集合 利用它可以检验程序对于无效数据的处理能力“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治
8、中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类划分数学含义A=x=B C=y=1&=50”两个无效等价类为“50”“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。确立等价类的原则如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类 如果规定了输入数据的一组值,而且程序要对每一个输入值分别进行处理,这时要对每一个规定的输入值确立一个有效等价类,而对于这组值之外的所有值确立一个无效等价类“雪亮工
9、程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。确立等价类的原则如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(即遵守规则的数据)和若干无效等价类(从不同角度违反规则的数据),例如:测试密码域,要求密码必须是数字或字母 有效等价类为“密码是数字和字母的组合”无效等价类为“密码包括中文”、“密码包括其它符号”等如果确知已划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支
10、撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类测试用例设计分析输入输出划分有效等价类、无效等价类 设计测试用例,使其尽可能多的覆盖有效等价类 设计测试用例,使其尽可能多的覆盖无效等价类“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。举例(保险费率计算)某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%点数的计算是年龄、性别、婚姻、抚养
11、人数所得的点数的总和输入:年龄、性别、婚姻、抚养人数输出:保险率查看程序“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。输入数据说明 年龄20396点40594点99以下59以上、20以下1以上2点性别男5点女3点婚姻已婚3点未婚5点抚养人数1人扣0.5点最多扣3点(四舍五入)“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类划分输入年龄有效等价类2039(
12、6点)(1)4059(4点)(2)6099、119(2点)(3)无效等价类空白(未知)(4)99(未知)(6)包含非数字字符(未知)(7)性别有效等价类男(5点)(8)女(3点)(9)婚姻有效等价类已婚(3点)(10)未婚(5点)(11)“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类划分输入抚养人数有效等价类12(1点)(12)34(2点)(13)4(3点)(14)无效等价类空白(未知)(15)=10点(0.6%)(18)10点(0.1%)(19)“雪亮工程是以区(县)
13、、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。设计测试用例用例编号输入输出备注年龄性别婚姻抚养人数保险率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)“雪亮工程是以
14、区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录功能性测试概述功能分解等价类划分 边界值分析边界值分析 因果图法 其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。边界值分析缺陷往往遗漏在角落里,聚集在边界上 选取输入条件的边界区域作为测试数据比中间的数据更加容易发现错误 边界值分析法是一种补充等价类划分的测试用例设计技术不是对某个等价类随便挑一个数据做测试
15、数据,而是选一个或多个边界数据,使得该等价类的每个边界都被测试到 不仅考虑输入数据,而且考虑输出数据“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。边界值分析数学含义A=x=B C=y=D“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。确立边界值的原则如果输入条件或输出条件规定了值的范围并且有效条件包括了值的边界,可分别对边界和略超出边界取值,例如:数据范围是1
16、=x=50正整数边界值取为:1、50、0、51如果输入条件或输出条件规定了值的范围并且有效条件不包括了值的边界,可分别对边界和略处于边界内取值,例如:数据范围是1x 1000 X =100X 100X=Y=100Y X“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。分析输出0=R50=10=R20=20=R10=10=R5=10=R2=20=R1 100X 100Y=50 找R5020=S 50 找R2010=S 20 找R105=S 10 找R52=S 5 找R21=S 10
17、0X=00 X 1000 X=100,Y X“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。分析后有效情形S=50S=49S=20S=19S=10S=9S=5S=4S=2S=1S=0“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。设计测试用例用例编号输入输出备注张数商品价格X付款Y50元R5020元R2010元R105元R52元R21元R11101错误20错误3
18、100101错误410099错误55010010000016511000201205780100010000188110000112049901000010001“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。设计测试用例用例编号输入输出备注张数商品价格X付款Y50元R5020元R2010元R105元R52元R21元R110911000001203119510000010011296100000020213981000000101149910000000111510010000
19、00000“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。简化测试用例删除用例10删除用例12“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。等价类划分与边界值分析的结合回到等价类划分的例子“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录
20、功能性测试概述功能分解等价类划分 边界值分析 因果图法因果图法 其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图法介绍考虑输入条件之间的相互联系、相互组合 因果图法最终生成的是判定表,它适用于检查程序输入条件的各种组合情况“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。判定表介绍在一些数据处理问题中,某些操作依赖多个逻辑条件的取值。处理这类问题
21、的一个非常有力的分析和表达工具是判定表一些软件的功能需求可用判定表表达得非常清楚,在检验程序的功能时判定表也就成为一个非常有力的工具“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。判定表介绍判定表由四个部分组成:条件桩(Condition Stub)动作桩(Action Stub)条件项(Condition Entry)动作项(Action Entry)“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控
22、联网应用为重点的“群众性治安防控工程”。判定表介绍条件桩条件项动作桩动作项“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。判定表图示“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图法步骤 分析软件规格说明描述中的因果关系(输入与输出的因果关系)找出原因与结果、原因与原因之间的对应关系,画出因果图在因果图上标记约束或限制条件把因果图转化为判定表将判定表中的每
23、一列拿出来设计测试用例 “雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图法的优点 测试用例数目较少 测试用例数目随数据数目的增加而线形的增加“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍因果图的四种符号:“恒等”“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用
24、为重点的“群众性治安防控工程”。因果图介绍因果图的四种符号:“非”“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍因果图的四种符号:“或”“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍因果图的四种符号:“与”“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用
25、为重点的“群众性治安防控工程”。因果图介绍因果图的四种符号说明:c i 表示原因,通常置于图的左部;e i 表示结果,通常在图的右部。c i 和e i 均可取值0或1,0表示某状态不出现,1表示某状态出现。“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍在实际问题中,输入状态相互之间还可能存在某些依赖关系,称之为“约束”。比如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。“雪亮工程是以区(县)、乡(镇)、村(社区)
26、三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图介绍说明:对于输入条件的约束有四种以下4类:E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。I约束(或)
27、: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。“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图法案例 第一列字
28、符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果分析原因:1第一列字符是A2第一列字符是B3第二列字符是一数字11 第一列字符是A或是B结果:21修改文件22给出信息L23给出信息M“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治
29、安防控工程”。因果图“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。因果图“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。由因果图建立的判定表1234567原因11110000210011003-01010111-111100结果21-01010022(L)-00001123(M)-101010测试用例As A2 Bd B5 Fr R3“雪亮工程是以区(县)、乡
30、(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。课程目录功能性测试概述功能分解等价类划分 边界值分析 因果图法 其他测试方法其他测试方法“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。随机测试使用随机数生成器选取测试用例值避免测试偏见(只选取边界值)存在问题:测试用例是否充分“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共
31、安全视频监控联网应用为重点的“群众性治安防控工程”。错误推测法 错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。错误推测法基本思想列举出程序中所有可能有的错误和容易发生错误的特殊情况来设计测试用例例如:以前测试时曾出现过错误的地方,包括单元测试、集成测试、系统测试、前几次回归测试输入数据的问题,如是否可为空,是否可以有特殊字符,是否可以小于0、等于0等等一些问题的范围或边界“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。本课总结功能性测试方法主要有三种:等价类划分、边界值分析、因果图法三种方法各有优势,应灵活使用“雪亮工程是以区(县)、乡(镇)、村(社区)三级综治中心为指挥平台、以综治信息化为支撑、以网格化管理为基础、以公共安全视频监控联网应用为重点的“群众性治安防控工程”。Thanks!
限制150内