《系统测试之系统测试用例.ppt》由会员分享,可在线阅读,更多相关《系统测试之系统测试用例.ppt(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、系统测试阶段之系统测试用例系统测试阶段之系统测试用例课程内容l系统测试理论回顾系统测试理论回顾l系统测试用例设计方法l系统测试用例设计思想l系统测试用例设计实践l答疑&交流什么是系统测试?l软件工程:系统测试(System Testing)是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持 软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环 境下,对计算机系统进行一系列的测试活动。软件是一个大计算机系统的一个构成成分,软件要和其他的系统成分 (如硬件、信息)集成,然后要进行系统集成和确认测试。系统测试事实 上是对整个基于计算机系统进行考验的一系
2、列不同的测试。虽然每一个 测试都有不同的目的,但所有都是为了整个系统成分能正常地集成到一 起以完成分配的功能而工作的lIS09126:系统测试是进行全面的系统级测试,其内容包括产品功能、性能指标、兼容性(含互连性)、可靠性(含满负荷)、容错能力、可 维护性等方面系统测试的目的l通过与系统的需求定义做比较,发现软件与系统定义不符合或与之矛盾 的地方 -验证系统功能是否符合需求规格定义 -验证系统的可靠性、可维护性、可用性、稳定性、容错性等其他属性l系统测试的测试用例应根据需求分析说明书来设计,并在实际使用环境 下运行系统测试的对象l系统测试的对象是软硬集合在一起的系统,不应是独立的软件与 硬件环
3、 境。当然具体操作、执行时可根据实际情况来组织。l验证时应尽可能模拟实际的运行环境与条件。单元、集成、系统测试的比较l测试方法不同 -系统测试属于黑盒测试 -单元测试属于白盒测试 -集成测试属于灰盒测试范畴l考察范围不同 -单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等 -集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组 合后的整体功能 -系统测试主要测试整个系统相对于需求的符合度l评估基准不同 -系统测试的评估基准是测试用例对需求规格的覆盖率 -单元测试的评估主要是逻辑覆盖率 -集成测试评估的主要是接口覆盖率系统测试用例编写原则l系统测试用例的设计根据是系统的需求规格说
4、明书、各种规范l系统测试用例的依据决不是软件的本身l系统测试用例不仅仅包括功能测试用例,同时还应该包含属性测试用例系统测试过程l测试过程=:测试计划 +测试设计 +测试实现 +测试执行 测试过程体现了测试设计和实现的分离 测试实现 测试执行l系统测试计划阶段:完成系统测试计划 系统测试设计阶段:完成系统测试方案 系统测试实现阶段:完成系统测试用例和脚本、系统测试规程、系统测 试预测试项 系统测试执行阶段:执行系统测试预测试项、提交系统测试预测试报告 ;执行系统测试用例,提交测试日报,发现问题并 提交缺陷报告、系统测试报告;进行回归测试系统测试过程与开发阶段需求分析阶段概要设计详细设计编码单元测
5、试执行集成测试执行系统测试执行系统测试计划系统测试设计系统测试实现课程内容l系统测试理论回顾l系统测试用例设计方法系统测试用例设计方法l系统测试用例设计思想l系统测试用例设计实践l答疑&交流常用系统测试用例设计方法l等价类划分法l边界值分析法l判定表法l因果图法l状态迁移图法l流程分析法l正交验证法l输入域测试法l输出域覆盖法l异常分析法l错误猜测法等价类划分法等价类:某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误l有效等价类:有效等价类是程序规格说明有意义,合理的输入数据l无效等价类:无效等价类是程序规
6、格说明无意义,不合理的输入数据等价类划分法等价类划分原则l如果输入条件规定了取值范围或值的格式,则可以确定一个有效等价类 和两个无效等价类l输入条件规定了输入值的集合,或是规定了必须如何的条件,则可以确 定一个有效等价类和一个无效等价类l输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等 价类l如果我们确知,已经划分的等价类中各个元素在程序中的处理方式不同 的,则应该将此等价类进一步划分l在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类 (符合规则)和若干个无效等价类(从不同角度违反规则)等价类划分法等价类表输入条件有效等价类无效等价类等价类法设计测试用例的步骤为每个输
7、入划分等价类,得到等价类表,为每个等价类规定一个唯一编 号设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使得有效等价类均被测试用例所覆盖设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所 有无效等价类均被覆盖等价类划分法练习保险费率计算:人人保险公司承担人寿保险已有很多年历史,该公司保费计算方式为投保额*保险率,保险率又依据点数不同而有别,10点以上费率为0.6%,10点一下费率有0.1%。保险率和以下参数有关:年龄:数字0-150性别:字符组合,区分大小写婚姻:字符组合抚养人:数字1-9人其中前三个为必填项,最后一个为选填项等价类划分法练习年龄20
8、39 岁40 59 岁60岁以上20岁以下性别MALEFEMALE婚姻已婚未婚抚养人数一人口0.5点最多3点(四舍五入取整数)根据以上内容使用等价类划分设计测试用例根据以上内容使用等价类划分设计测试用例边界值分析法边界值分析方法的理论基础,是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附近的取值不会导致程序出错,那么其它的取值导致程序错误的可能性很小l输入条件明确了一个值的取值范围,或是规定了值的个数l输入条件明确了一个有序集合边界值分析法边界点定义l上点:边界上的点,如果域的边界是封闭的,上点就是在域范围 内;如果域的边界是开放的,上点就是在域范围外l离点:就是离上点最近的一个点
9、,如果域的边界是封闭的,离点 就在域范围外,如果域的边界是开放的,离点就在域范围内l内点:顾名思义,就是在域范围内的任意一个点边界值分析法离点离点上点上点内点内点离点离点上点上点内点内点离点离点上点上点内点内点闭区间闭区间开区间开区间半开半闭区间半开半闭区间边界值分析法边界值分析的原则l如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例l如果输入(输出)条件规定了值的个数,则用最大个数,最小个 数,比最小个数少一,比最大个数多一的数作为测试数据l如果程序规格说明中提到了输入或输出是一个有序的集合,应该 注意选取有序集合的第一个和最后一个元素
10、作为测试用例l如果程序中使用了一个内部数据结构,则应当选择这个内部数据 结构的边界上的值作为测试用例边界值分析法边界值分析法设计用例的步骤l分析输入参数的类型:从测试规格中分析得到输入参数类型l等价类划分(可选):对输入等价类划分方法进行等价类的划分l确定边界:运用域测试分析方法确定域范围的边界(上点、离点 与内点)l相关性分析(可选):如果存在多个输入域,则需要运用因果图 、判定表方法对这些输入域边界值的组合情况进行进一步分析l形成测试项:选择这些上点、离点与内点或者这些点的组合形成 测试项边界值划分练习1、写出下列区间的上点、离点与内点闭区间:【50,100】半开半闭区间:(50,100】
11、开区间(50,100)2、将等价类作业内容,使用边界值在此进行划分判定表法判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种条件组合的情况表达的既具体有明确l条件桩(Condition Stub)l动作桩(Action Stub)l条件项(Condition Entry)l动作项(Action Entry)条件桩条件桩动作桩动作桩 条件项条件项 动作项动作项规则判定表法每一个部分之间用双线或粗条线分开,左上部称条件桩,它列出决定一组条件的对象;右上部称条件项,它列出各种可能的条件组合;左下部称动作桩,它列出所有的操作,右下部为动作项,它列出在对应的条件组合下的
12、动作。表的右部一般有很多列。判定表法判定表的合并化简工作是以合并相似规则为目标的。如果表中有两条或多条规则具有相同的动作,并且其条件项之间存在极为相似的关系,我们便可以将其合并YYNNYNXXYY-NNNXXYN-XY-NX判定表法判定表法设计用例的步骤l确定规则的个数。如这里有3个条件,每个条件有两个取值,故 应有2*2*2=8种规则l列出所有的条件桩和动作桩l填入条件项l填入动作桩和动作项l化简,合并相似规则l将每条规则转化为用例判定表的优缺点l优点 它能把复杂的问题按各种可能的情况一一列举出来,简明而易于 理解,也可避免遗漏l缺点 合并存在漏测的风险。一个显然易见的原因是,虽然某个输入条
13、 件在输出接口上是无关的,但是在软件设计上,内部针对这个条 件走了不同的程序分支判定表法练习需求:需求:订购单的检查。如果金额超过500元,又未过期,则发出批准单和提货单;如果金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。因果图法l因果图提供了一个把规则转化为判定表的系统化方法 ,从该图中可以产生测试数据。其中,原因是表述输 入条件,结果是对输入执行的一系列计算后得到的输 出l因果图方法最终生成的就是判定表。它适合于检查软 件输入条件的各种组合情况因果图基本符号因果图基本符号因果图基本符号因果图法因果图法设计
14、测试用例的步骤l把大的系统规格划分解成可以测试的规格片段l分析分解后的待测的系统规格,找出哪些是原因,哪些是结果l画出因果图l把因果图转换成判定表l简化判定表l用判定表中的每一项生成测试用例因果图法l优点 -等价类尽管各个输入条件可能出错的情况都考虑到了,但是多 个输入条件组合起来出错的情况却被忽略了 -因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例 -因果图分析还能为我们指出,程序规格说明描述中存在什么问 题l缺点 -输入条件与输出结果的因果关系,有时难以从软件需求规格说 明得到 -即使得到了这些因果关系,也会因为因果关系复杂导致因果图 非常庞大,测试用例数目
15、及其庞大状态迁移图法l许多需求用状态机的方式来描述,状态机的测试主要关注在测试 状态转移的正确性上面。对于一个有限状态机,通过测试验证其 在给定的条件内是否能够产生需要的状态变化,有没有不可达的 状态和非法的状态,可能不可能产生非法的状态转移等l通过构造能导致状态迁移的事件来测试状态之间的转换,常用于 协议测试l用这种方法可以设计逆向的测试用例,如状态和事件的非法组合状态迁移图法状态迁移图法设计用例步骤l画出状态迁移图l列出状态-事件表l从状态转换树推导出测试路径l根据测试路径编写合法测试用例l编写非法测试用例流程分析法流程分析法是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。
16、根据流程的顺序依次进行组合,使得流程的各个分支都能走到。这是从白盒测试中路径覆盖分析法中推广到黑盒测试中来的测试分析方法。流程分析法流程分析法设计用例步骤l画出业务流程图l设置功能路径优先级l确定测试路径l选取测试数据l构造测试用例正交试验法正交试验设计法,是从大量的试验点中挑选出适量的、有代表性的点,应用依据迦罗瓦理论导出的“正交表”,合理安排试验的一种科学的试验设计方法。l指标:通常把判断试验结果优劣的标准叫做试验的指标l因子:所有影响试验指标的条件l因子的状态:而影响试验因子的,叫做因子的状态正交试验法步骤一、提取功能说明,构造因子-状态表因子1因子2。因子n状态1状态2。状态m正交试验
17、法步骤二、加权筛选,生成因素分析表计算各因子和状态的权值,删去一部分权值较小,即重要性较小的因子或状态,使最后生成的测试用例集缩减到允许范围。三、利用正交表构造测试数据集1、如果各因子的状态数是不统一的,几乎不可能出现均匀的情况。必须首先用逻辑命令来组合各因子的状态,作出布尔图2、根据布尔图查找最接近的相应阶数的正交表3、依照因果图上根节点到叶子节点的顺序逐步替换正交表上的中间 节点,得到最终的正交表四、利用正交表每行数据构造测试用例异常分析法系统异常分析法就是针对系统有可能存在的异常操作、软硬件缺陷引起的故障进行分析,依此设计测试用例。主要针对系统的容错能力、故障恢复能力进行测试。错误猜测法
18、l错误猜测法就是根据经验猜想可能有什么问题并依此设计测试用 例l错误猜测法只能作为测试设计的补充而不能单独用来设计测试用 例,否则可能会造成测试的不充分课程内容l系统测试理论回顾l系统测试用例设计方法l系统测试用例设计思想系统测试用例设计思想l系统测试用例设计实践l答疑&交流系统测试用例编写思路l为系统功能性设计测试用例l为系统可靠性设计测试用例l为系统易用性设计测试用例l为系统可移植性设计测试用例l为系统可维护性设计测试用例l为系统效率设计测试用例l为系统异常设计用例系统测试用例编写思路一、根据ISO9126质量模型分析需求规格说明书,将需测试的需求项归纳到各特性、子特性下质量特性质量子特性
19、测试项功能性适合性准确性或操作性安全性功能依从性效率时间特性。系统测试用例编写思路二、对分析出来的测试需求项进行归纳、总结,确定需要进行何种类型的测试,并把各测试项归类到各测试类型下:l功能测试l性能测试l压力测试l容量测试l安全性测试lGUI测试l可用性测试l安装测试l配置测试l异常测试(恢复性测试)l备份测试l健壮性测试l文档测试l在线帮助测试l网络测试l。系统测试用例编写思路三、对各测试类型下的测试项细分,形成为测试子项四、对各测试子项对应的具体需求规格进行分析,利用各种系统测试用例设计方法,从各角度设计用例去对需求规格进行覆盖,从而达到对需求的充分覆盖:l等价类划分法l边界值分析法l状态迁移图法l因果图法l正交试验法l。