版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 系统实施本章目录本章目录6.1 系统实施概述系统实施概述 6.2 编程标准编程标准 6.3 程序设计与调试程序设计与调试6.4 系统测试系统测试 6.5 系统交接系统交接 6.6 系统的运行与维护系统的运行与维护小结小结6 6.1 .1 系统实施概述系统实施概述主要活动主要活动命名约定命名约定命名约定命名约定匈牙利标记匈牙利标记标识符命名标识符命名代码注释代码注释序言性注释序言性注释功能性注释功能性注释返目录程序设计原则程序设计原则五大五大原则原则可维护性可维护性可靠性可靠性可理解性可理解性健壮性健壮性效率效率6.3.16.3.1程序设计原则程序设计原则 程序效率程序效率是指计算机是指
2、计算机资源资源能否能否有效地使用有效地使用,即,即系统运行时尽量系统运行时尽量占用较少空间,却能用较快速占用较少空间,却能用较快速度完成规定功能度完成规定功能。 编程时,要在效率与可维护性、可理解性之间编程时,要在效率与可维护性、可理解性之间取得动态平衡。取得动态平衡。 程序效率的提高主要应通过选择高效的算法来程序效率的提高主要应通过选择高效的算法来实现。实现。 例子例子 6.3.16.3.1程序设计原则程序设计原则 健壮性即系统的健壮性即系统的容错能力。容错能力。这是系统长期平稳这是系统长期平稳运行的基本前提。运行的基本前提。 健壮性是指系统对错误操作、错误数据输入予健壮性是指系统对错误操作
3、、错误数据输入予以以识别与禁止的能力识别与禁止的能力,不会因错误操作、错误,不会因错误操作、错误数据输入及硬件故障而造成系统崩溃。数据输入及硬件故障而造成系统崩溃。6 6.3.2 .3.2 程序语言选择程序语言选择MISMIS开发以数据处理为主开发以数据处理为主v前端前端工具主要是数据库开发,现在主流工具主要是数据库开发,现在主流开发工开发工具具有有Visual StudioVisual Studio系列,系列,DelphiDelphi,Power BuilderPower Builder,C+ BuilderC+ Builder等。等。v后台后台主要是主要是数据库服务器数据库服务器,用于数据
4、管理,用于数据管理,基基本采用大型本采用大型DBMSDBMS,如,如OracleOracle,SQL serverSQL server,S-S-ybaseybase等。等。 6 6.3.2 .3.2 程序语言选择程序语言选择 在在MISMIS开发过程中,语言选择都应考开发过程中,语言选择都应考虑以下因素:虑以下因素:1. 1. 语言的结构化机制与数据管理能力语言的结构化机制与数据管理能力2. 2. 语言可提供的交互功能语言可提供的交互功能3. 3. 有较丰富的软件工具有较丰富的软件工具4. 4. 开发人员的熟练程度开发人员的熟练程度5. 5. 软件可移植性要求软件可移植性要求6. 6. 系统用
5、户的要求系统用户的要求6.3.3 6.3.3 结构化程序设计方法结构化程序设计方法1 1、结构化程序的基本结构、结构化程序的基本结构 鲍赫门鲍赫门(BOHM)(BOHM)和加柯皮和加柯皮(JACOPINI)(JACOPINI)在在19661966年就证明年就证明了结构定理:任何程序结构都可以了结构定理:任何程序结构都可以用顺序、选择和循环这用顺序、选择和循环这三种基本结构来表示。三种基本结构来表示。 (a)顺序 (b) 选择 (c) 循环6.3.3 6.3.3 结构化程序设计方法结构化程序设计方法2 2、自上而下、逐步细化的编程过程、自上而下、逐步细化的编程过程 对于一个执行过程模糊不清的模块
6、如图对于一个执行过程模糊不清的模块如图6-2(a)6-2(a)所示,可所示,可以采用以下几种方式对该过程进行分解:以采用以下几种方式对该过程进行分解: (1) (1) 用顺序方式对过程作分解,用顺序方式对过程作分解,确定模糊过程中各个部确定模糊过程中各个部分的执行顺序,如图分的执行顺序,如图6-2 (b)6-2 (b)所示。所示。 (2) (2) 用选择方式对过程作分解,用选择方式对过程作分解,确定模糊过程中某个部确定模糊过程中某个部分的条件,如图分的条件,如图6-2 (c)6-2 (c)所示。所示。 (3) (3) 用循环方式对过程作分解,用循环方式对过程作分解,确定模糊过程中主体部确定模糊
7、过程中主体部分进行重复的起始、终止条件,如图分进行重复的起始、终止条件,如图6-2 (d)6-2 (d)所示。所示。 6.3.3 6.3.3 结构化程序设计方法结构化程序设计方法逐步求精的分解方法逐步求精的分解方法(a)(a) (b) (b) (c) (d) (c) (d) 反复使用反复使用上述分解方法,最后使整个模块都清晰起来,上述分解方法,最后使整个模块都清晰起来,从而把全部细节确定下来。从而把全部细节确定下来。返目录6.46.4系统测试系统测试 人们常常有一种错觉,认为程序编写出来人们常常有一种错觉,认为程序编写出来就就“万事大吉万事大吉”。 (1)预防错误: 几乎不可实现(2)发现错误
8、: 系统测试目的DO 5 I =1 3DO 5 I =1 3找错 保证软件质量,满足设计的要求和客户保证软件质量,满足设计的要求和客户的需求的需求; ;系统地揭示不同类型的错误,耗费系统地揭示不同类型的错误,耗费最少时间和最小工作量,降低软件的开发成最少时间和最小工作量,降低软件的开发成本和维护成本。本和维护成本。系统测试系统测试在计算机上用各种可能的数据和操作条件,在计算机上用各种可能的数据和操作条件,反复地对程序进行试验,发现错误及时修改,反复地对程序进行试验,发现错误及时修改,便其完全符合设计要求的过程。便其完全符合设计要求的过程。标目项目经理约 250人开发人员约 1700人测试人员约
9、 3200人测试人员/开发人员1.9Windows 2000 Windows 2000 的人员结构的人员结构 本节目录本节目录6 6.4.1 .4.1 系统测试的主要内容系统测试的主要内容6 6.4.2 .4.2 系统测试计划系统测试计划6.4.3 6.4.3 系统测试规程系统测试规程6.4.5 6.4.5 测试数据的准备测试数据的准备6.4.1 6.4.1 系统测试的主要内容系统测试的主要内容系统测试系统测试确认测试确认测试组装测试组装测试单元测试单元测试43215验收测试验收测试需求分析需求分析概要设计概要设计详细设计详细设计编码编码单元测试单元测试集成测试集成测试确认测试确认测试软件开发
10、过程软件开发过程软件测试过程软件测试过程软件开发活动和软件测试活动间的关系软件开发活动和软件测试活动间的关系测试的目标测试的目标 (1)数据处理正确性测试 (2)功能完整性测试 (3)系统性能测试6 6.4.2 .4.2 系统测试计划系统测试计划测试计划的主要内容应包括:测试计划的主要内容应包括: 测试内容。测试内容。测试环境。测试环境。输入数据。输入数据。输出数据。输出数据。操作步骤。操作步骤。评价准则。评价准则。6 6.4.3 .4.3 系统测试规程系统测试规程该规程的该规程的主要内容有:主要内容有:测试文档应包括测试文档应包括、等等。1、申请条件 (1) (1)单元测试申请条件单元测试申
11、请条件程序无错误地通过编译和汇编;程序无错误地通过编译和汇编;完成代码审查;完成代码审查;程序调试通过。程序调试通过。(2)(2)组装测试申请条件组装测试申请条件完成各模块的单元测试并提交测试报告;完成各模块的单元测试并提交测试报告;提交符合编程格式的源程序;提交符合编程格式的源程序;提交组装测试计划。提交组装测试计划。 6 6.4.3 .4.3 系统测试规程系统测试规程(3)(3)确认测试申请条件确认测试申请条件 完成组装测试并提交测试报告;完成组装测试并提交测试报告; 经验证完全满足设计要求经验证完全满足设计要求( (包括所有的输入和输包括所有的输入和输出要求出要求) ); 提交确认测试计
12、划。提交确认测试计划。(4)(4)系统测试申请条件系统测试申请条件 完成确认测试并提交测试报告;完成确认测试并提交测试报告; 系统均满足功能需求及设计要求;系统均满足功能需求及设计要求; 提交系统测试计划。提交系统测试计划。6 6.4.3 .4.3 系统测试规程系统测试规程(5)(5)验收测试申请条件验收测试申请条件 完成上述各阶段的测试并提交相应的测试报完成上述各阶段的测试并提交相应的测试报告;告; 软件设计开发的文档资料齐备软件设计开发的文档资料齐备( (系统分析说明系统分析说明书、总体设计及详细设计说明书、用户操作手书、总体设计及详细设计说明书、用户操作手册、全部的源程序清单等册、全部的
13、源程序清单等) ); 满足软件质量保证要求;满足软件质量保证要求; 制定验收标准。制定验收标准。6 6.4.3 .4.3 系统测试规程系统测试规程2 2、测试申请、测试申请 测试申请测试申请概要地描述申请测试软件的情况概要地描述申请测试软件的情况并并说明应提交的文档说明应提交的文档。软件测试申请报告由。软件测试申请报告由开开发单位项目负责人发单位项目负责人签字。签字。3 3、测试审批、测试审批 各阶段测试工作必须在测试申请批准后进行。各阶段测试工作必须在测试申请批准后进行。成立软件测试组成立软件测试组v组织机构组织机构 要建立要建立软件测试组软件测试组,在,在总质量师总质量师的领导下负责软件的
14、领导下负责软件测试工作。测试组设测试工作。测试组设组长一人组长一人,组员若干人。,组员若干人。 单元测试及组装测试单元测试及组装测试在测试组的技术指导下,由在测试组的技术指导下,由软软件开发单位件开发单位具体负责,测试小组主要由具体负责,测试小组主要由程序编制人员程序编制人员组组成。成。 确认测试、系统测试和验收测试确认测试、系统测试和验收测试在在总师组总师组的领导下,的领导下,由由测试组统一组织测试组统一组织进行。进行。v测试地点测试地点 除合同另有规定外,软件测试工作实际工作环境,除合同另有规定外,软件测试工作实际工作环境,企业必须提供符合测试要求的各种条件。企业必须提供符合测试要求的各种
15、条件。6.4.4 6.4.4 系统测试方法系统测试方法 测试的方法有测试的方法有: : 不需要运行程序不需要运行程序需要运行程序需要运行程序静态测试动态测试代码审查代码审查静态测试静态测试静态分析静态分析静态测试静态测试内容包括内容包括: :v代码和设计的代码和设计的一致性一致性; ;v代码的代码的标准性、可读性标准性、可读性; ; v代码代码逻辑表达的正确性和完整性逻辑表达的正确性和完整性; ; v结构的合理性结构的合理性等。等。 静态测试静态测试v 对程序进行对程序进行控制流分析控制流分析、数据流分析数据流分析、接口分析接口分析和和表达式分析表达式分析等。等。v 一般由一般由计算机辅助计算
16、机辅助完成,其对象是计算机程序。完成,其对象是计算机程序。v 根据程序设计语言的不同,静态分析工具也就不根据程序设计语言的不同,静态分析工具也就不同。同。v 目前,具备静态分析功能的目前,具备静态分析功能的软件测试工具软件测试工具有很多,有很多,如如PurifyPurify、LogiscopeLogiscope、MacabeMacabe等。等。 动态测试动态测试技术技术1 1、白盒测试白盒测试(White Box Testing)2 2、黑盒测试黑盒测试(Black Box Testing)对比图对比图动态测试动态测试A 黑箱测试黑箱测试B 白箱测试白箱测试黑盒测试黑盒测试 已知产品的功能设计
17、规格,可以进行测试证明每已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。黑盒测试法是根据被个实现了的功能是否符合要求。黑盒测试法是根据被测程序测程序功能功能来进行测试,所以通常也称为来进行测试,所以通常也称为功能测试功能测试。 黑盒测试黑盒测试(Black Box Testing)黑盒测试黑盒测试黑盒测试测试用例的设计黑盒测试测试用例的设计用黑盒测试法设计测试用例,有用黑盒测试法设计测试用例,有4 4 种常用技术:种常用技术: 等价分类法等价分类法 边界值分析边界值分析 错误猜测法错误猜测法 因果图法因果图法 黑盒测试法是穷举输入测试,不仅要测试所有合法的输入,而且还要测
18、试所有不合法但是可能的输入。 一、等价分类法一、等价分类法 等价分类等价分类,就是把输入数据的可能值划分若干等价类,就是把输入数据的可能值划分若干等价类( (等价类对于揭露程序中的错误都是等价的等价类对于揭露程序中的错误都是等价的) )。 可以把全部输入数据合理地划分为若干等价类在每一可以把全部输入数据合理地划分为若干等价类在每一个等价类中个等价类中取一个数据取一个数据作为测试的输入条件,这样就可以作为测试的输入条件,这样就可以少量的少量的代表代表性测试数据,来取得较好的测试结果。性测试数据,来取得较好的测试结果。 是指对于程序的规格说明来说,是是指对于程序的规格说明来说,是合理的有意义的输合
19、理的有意义的输入数据入数据构成的集合。利用它可以检验程序是否实现预先规构成的集合。利用它可以检验程序是否实现预先规定的功能和性能。定的功能和性能。 有效等价类有效等价类 是指对于程序的规格说明来说,是不合理的,是是指对于程序的规格说明来说,是不合理的,是无意无意义的输入数据义的输入数据构成的集合。程序员主要利用这一类测试用构成的集合。程序员主要利用这一类测试用例来检查程序中功能和性能的实现是否不符合规格说明要例来检查程序中功能和性能的实现是否不符合规格说明要求。求。 无效等价类无效等价类 1 1、划分等价类不仅要要考虑代表划分等价类不仅要要考虑代表“有效有效”输输 入值的有效等价类,还需考虑代
20、表入值的有效等价类,还需考虑代表 “无效无效”输入输入 值的无效等价类。值的无效等价类。采用这一技术要注意以下两点采用这一技术要注意以下两点: : 2 2、每一无效等价类至少要用一个测试用例每一无效等价类至少要用一个测试用例 ,不然就可能漏掉某一类错误,但允许若干有,不然就可能漏掉某一类错误,但允许若干有 效等价类合用同一个测试用例,以便进一步减效等价类合用同一个测试用例,以便进一步减 少测试的次数。少测试的次数。 51等价类划分的原则等价类划分的原则(1)如果输入条件规定了一个取值范围(例如“数量可以是1到99”),那么就应确定:一个有效等价类(1数量99),以及两个无效等价类(数量99)。
21、52等价类划分的原则(续)等价类划分的原则(续)(2)如果输入条件规定了取值的个数(例如“汽车可登记一至六名车主”)。那么就应确定:一个有效等价类(1车主个数6)和两个无效等价类(没有车主,或车主多于六个)。53等价类划分的原则(续)等价类划分的原则(续)(3)如果输入条件规定了一个输入值的集合,而且有理由认为程序会对每个值进行不同处理(例如,“交通工具的类型必须是公共汽车、卡车、出租车、火车或摩托车”)。那么就应为每个输入值确定一个有效等价类和一个无效等价类(例如“拖车”)。54等价类划分的原则(续)等价类划分的原则(续)(4)如果输入条件规定了“必须是”的情况(例如“标识符的第一个字符必须
22、是字母”)。那么就应确定:一个有效等价类(首字符是字母)和一个无效等价类(首字符不是字母)。 采用边界值分析法来选择测试用例,可采用边界值分析法来选择测试用例,可使得被测程序能在使得被测程序能在边界值及其附近边界值及其附近运行从而运行从而更有效地暴露程序中潜藏的错误。更有效地暴露程序中潜藏的错误。二、边界值分析法二、边界值分析法56边界值分析边界值分析方法方法n首先应确定边界情况;n选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据。57边界值分析方法原则边界值分析方法原则(1)如果输入条件规定了值的范围(例如“数量可以是1到99”),则应取刚达到这个范围的边界值(1或者99),以及刚刚超越
23、这个范围边界的值(0.999或者99.001)作为测试输入数据。58边界值分析方法原则(续)边界值分析方法原则(续)(2)如果输入条件规定了值的个数(例如“汽车可登记一至六名车主”),则用最大个数(六名车主)、最小个数(一名车主)、比最小个数少一(无车主)、比最大个数多一(七名车主)的数作为测试数据。59边界值分析方法原则(续)边界值分析方法原则(续)(3)如果系统设计说明书给出的输入域或输出域是有序集合则应选取集合的第一个元素和最后一个元素作为测试用例。三、错误猜测法三、错误猜测法 所谓猜测,就是所谓猜测,就是猜测被测程序在哪些地方容易出错猜测被测程序在哪些地方容易出错,然后针对可能的薄弱环
24、节来设计测试用例。,然后针对可能的薄弱环节来设计测试用例。 比前两种方法更多地依靠测试人员的比前两种方法更多地依靠测试人员的直觉与经验直觉与经验。 一般都先用前两方法设计测试用例然后再用猜测法一般都先用前两方法设计测试用例然后再用猜测法去去补充补充一些例子作为一些例子作为辅助的手段辅助的手段。四、因果图法 因果图是因果图是借助图形借助图形来设计测试用例的一种系来设计测试用例的一种系 统方法。统方法。它适用于被测程序具有多种输入条件它适用于被测程序具有多种输入条件, 程序的程序的输出又依赖于输入条件的各种组合输出又依赖于输入条件的各种组合的情况。的情况。 因果图是一种简化了的因果图是一种简化了的
25、逻辑图逻辑图,它能,它能直观地直观地 表明程序输入条件(原因)和输出动作(结果)表明程序输入条件(原因)和输出动作(结果) 之间的相互关系。之间的相互关系。62因果图法因果图法的基本思想的基本思想n 根据系统设计说明书画出因果图n 通过因果图生成判定表n 再通过判定表生成测试用例 从因果图生成的测试用例须包括所有输入(条件)取TRUE(用“1”表示)及取FALSE(用“0”表示)的情况,以保证用例的完整性。63因果图中的因果关系因果图中的因果关系因果图中的因果关系共有四种: (1)恒等 (2)非 (3)或 (4)与64因果图中的因果关系例因果图中的因果关系例有如下程序,要求填入的年龄大于0、小
26、于或等于150,程序返回提示:“填写正确”,否则返回提示:“输入错误”。请输入您的年龄请输入您的年龄提交65因果图中的因果关系例(续)因果图中的因果关系例(续)C1E1恒等因C1:输入年龄为30。果E1:程序提示“填写正确”。恒等,即因C1为1必然导致果E1。66因果图中的因果关系例(续)因果图中的因果关系例(续)C1E1非因C1:输入年龄为1000。果E1:程序提示“填写正确”。非,即因C1为1必然不导致果E1。67因果图中的因果关系例(续)因果图中的因果关系例(续)C1E1或因C1:输入年龄大于50小于70 。果E1:程序提示“填写正确”。或,即对于因C1和因C2,其中任意 一个因为1,必
27、然导致果E1。C2因C2:输入年龄大于30小于40。68因果图中的因果关系例(续)因果图中的因果关系例(续)C1E1与因C1:输入年龄小于150 。果E1:程序提示“填写正确”。与,即对于因C1和因C2,两者必须 同时为1,才能导致果E1。C2 因C2:输入年龄大于0。69因果图中的输入条件约束因果图中的输入条件约束因果图中的输入条件约束共有四种: (1)E约束(异或) (2)I约束(或) (3)O约束(唯一) (4)R约束(要求)70因果图中的输入条件约束例因果图中的输入条件约束例a异因a:输入年龄大于50 。E约束(异) :a和b中至多有一个可能为1,即a和b不能同时为1。 b因b:输入年
28、龄小于40。E71a或因a:输入年龄小于50 。I约束(或):a、b中至少有一个必须是1, 即a、b不能同时为0。 b因b:输入年龄大于40。I因果图中的输入条件约束例因果图中的输入条件约束例72a唯一因a:输入年龄小于或等于50 。O约束(唯一):a和b必须有一个, 且仅有一个为1。 b因b:输入年龄大于50。O因果图中的输入条件约束例因果图中的输入条件约束例73a要求因a:输入年龄小于30。R约束(要求):a是1时,b必须是1, 即不可能a是1时b是0。 b因b:输入年龄小于40。R74因果图中的输出条件约束只有一种: (1)M约束(强制)a强制果a:返回提示:“填写正确”。R约束(强制)
29、:若结果a是1,则结果b强制为0。 b果b:返回提示:“填写错误”。M75因果图法的基本步骤因果图法的基本步骤Step1:分析系统设计说明书,确定哪些是原因,哪些是结果,并给每个原因和结果分配唯一的标识符。Step2:分析系统设计说明书,找出因果之间的关系,根据因果图基本符号和因果图约束画出因果图。Step3:把因果图转换为判定表。Step4:把判定表中每一列表示的情况写成测试用例。76【例】 因果图方法例某校园网登录系统的功能模块设计说明书中对用户名有如下要求:用户名第一个字符必须是T或S(分别代表老师和学生),第二个字符必须是一个数字(代表编号,老师和学生的数字编号可以重复,例如T6和S6
30、允许同时存在;并且假设编号可为0)。77【例】因果图方法例(续)满足上述条件的为合法用户名,给出用户提示:“此用户名合法,请继续输入密码”。如果第一个字符不正确,则给出错误信息“教师请输入T,学生请输入S”;如果第二个字符不是数字,则给出错误信息“请正确输入编号”。 78【例】因果图方法例(续)Step1:确定原因和结果 原因:n1第一个字符是Tn2第一个字符是Sn3第二个字符是一个数字79例 因果图方法例(续)Step1:确定原因和结果 结果:n a给出用户提示:“此用户名合法,请继续输入密码”n b给出错误信息“教师请输入T,学生请输入S”n c给出错误信息“请正确输入编号”80Step2
31、:画出因果图注:添加中间节点4,作为导出结果的进一步原因,以简化因果图导出的判定表。原因1、2不能同时发生,所以对其施加异约束E。81Step2:画出因果图1234Ebac4不会导致不会导致b情况情况“教师请输入教师请输入T,学生请输入,学生请输入S ”3不会导致不会导致c情况情况“请正确输入编号请正确输入编号”3、4同时成立会导致同时成立会导致a情况情况“此用户名合法,请继续输入密码此用户名合法,请继续输入密码”输入首字母不可能既是输入首字母不可能既是T又是又是S 4代表输入首字母是代表输入首字母是T或或S82例7-1 因果图方法例(续)Step3:把因果图转换成判定表此例共有3个输入条件,
32、故组合情况为238,即8列。83例7-1 因果图方法例(续)Step3:把因果图转换成判定表12345678原因原因1111100002110011003101010104111100结果结果b000011a101000c01010184例7-1 因果图方法例(续)Step4:把判定表中每一列表示的情况写成测试用例。由于此表比较简单,直接在表中附加一行给出对应的测试用例。由于1,2条件施加了异约束,不能同时出现,所以不对1,2两列生成测试用例。这样,一共生成6组用例(每列给出了两个用例)。85例7-1 因果图方法例(续)Step4:把判定表写成测试用例。12345678原因原因11111000
33、02110011003101010104111100结果结果b000011a101000c010101测试用测试用例例T5T#S2S?A7DT1TTS9S:C5UF白盒测试白盒测试 也叫玻璃盒测试也叫玻璃盒测试(Glass Box Testing)(Glass Box Testing)。 对软件的过程性细节做细致的检查。这一方法对软件的过程性细节做细致的检查。这一方法是把测试对象看作一个打开的盒子,它允许测试人是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,来设计或员利用程序内部的逻辑结构及有关信息,来设计或选择测试用例,对程序所有逻辑路径进行测试。选择测试用例
34、,对程序所有逻辑路径进行测试。 白盒测试白盒测试(White Box Testing)白盒测试白盒测试白盒测试用例设计标准白盒测试用例设计标准发现错误发现错误的能力的能力标标 准准含含 义义(弱弱)语句覆盖语句覆盖每条语句至少执行一次每条语句至少执行一次判定覆盖判定覆盖每一判定的每个分支至少执行一次每一判定的每个分支至少执行一次条件覆盖条件覆盖每一判定中的每个条件,分别按每一判定中的每个条件,分别按“真真”、“假假”至少各执行一次至少各执行一次判定判定/ /条件覆条件覆盖盖同时满足判定覆盖和条件覆盖的要同时满足判定覆盖和条件覆盖的要求求(强强) 条件组合覆盖条件组合覆盖求出判定中所有条件的各种
35、可能组求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执合值,每一可能的条件组合至少执行一次行一次白盒测试用例的设计白盒测试用例的设计 例:例:两个判定(菱形部分)和四个条件(两个判定(菱形部分)和四个条件(A1、B=0、A=2、X1) v 编写足够的测试数据,使得每条语句至少执行一次编写足够的测试数据,使得每条语句至少执行一次1 1、语句覆盖、语句覆盖 n路径路径s sacbedacbed 满足覆盖要求满足覆盖要求n设计测试数据:设计测试数据:nA A2 2;B B0 0;X X3(3(可任意可任意) ) n问题:问题:n若第一个判定被错误地写成若第一个判定被错误地写成“OR”,则
36、这个错误将检查,则这个错误将检查不出来。不出来。n若第二个判定中若第二个判定中“X1”写写成成“X0”,则也将检查不,则也将检查不出错误。出错误。v 编写足够的测试数据,使得不仅每条语句至少执行一次,编写足够的测试数据,使得不仅每条语句至少执行一次,而且每个判定至少有一次而且每个判定至少有一次“真真”和一次和一次“假假”的结果。的结果。v 即,每个分支方向必须至少经过一次。即,每个分支方向必须至少经过一次。2 2、判定覆盖(分支覆盖)、判定覆盖(分支覆盖) n路径路径s sacbd、sabedsabed满足覆盖要求满足覆盖要求 n设计测试数据:设计测试数据:nA3,B0,X3 (s sacbd
37、 )nA1 1,B1,X1 (sabedsabed)n问题:问题:n若第二个判定有错(若第二个判定有错(X1被错被错误地写成误地写成X1),),n则上述路径检测不出这个错误则上述路径检测不出这个错误 编写足够的测试数据,使得不仅每条语句至少执行一次,编写足够的测试数据,使得不仅每条语句至少执行一次,而且使而且使判定中每个条件的所有可能结果至少出现一次判定中每个条件的所有可能结果至少出现一次。3 3、条件覆盖、条件覆盖n两个判定,四个条件:两个判定,四个条件:nA A1 1,B B0 0,A A2 2和和X X1 1;n在在a a点出现:点出现:nA A1 1,A1A1,B B0 0,B0B0。
38、n在在b b点出现:点出现:nA A2 2,A2A2,X X1 1,X1 X1 n设计的测试数据:设计的测试数据:nA A2 2,B B0 0,X X4 4,执行路径执行路径 sacbed sacbed n( (满足满足A A1 1,B B0 0,A A2 2和和X X1 1条件条件) )nA A1 1,B B1 1,X X1 1,执行路径执行路径 sabdsabdn( (满足满足A1A1,B0B0,A2A2和和X1X1条件条件) )n问题:问题:当测试判定条件一个条件的当测试判定条件一个条件的“真真”或或“假假”会掩盖另一个条件的错误。会掩盖另一个条件的错误。3 3、条件覆盖(续)、条件覆盖
39、(续)n两个判定,四个条件:两个判定,四个条件:nA A1 1,B B0 0,A A2 2和和X X1 1;n在在a a点出现:点出现:A A1 1,A1A1,B B0 0,B0B0。n在在b b点出现:点出现:A A2 2,A2A2,X X1 1,X1 X1 n设计的测试数据:设计的测试数据:nA A2 2,B B0 0,X X1 1,执行路径,执行路径 sacbed sacbed n( (满足满足A A1 1,B B0 0,A A2 2和和X 1X 1条件条件) )nA A1 1,B B1 1,X X2 2,执行路径,执行路径 sabedsabedn( (满足满足A1A1,B0B0,A2A
40、2和和X X 1 1条件条件) )n问题:问题:只满足条件覆盖标准,不满足判定覆盖标准。只满足条件覆盖标准,不满足判定覆盖标准。 (第二个判定表达式的值总为真)。(第二个判定表达式的值总为真)。v 编写足够的测试数据,使得判定中编写足够的测试数据,使得判定中每个条件的所有可能结果至少出现一每个条件的所有可能结果至少出现一次次,每个判定本身所有可能结果也至少出现一次。每个判定本身所有可能结果也至少出现一次。4 4、判定、判定/ /条件覆盖条件覆盖 n设计的测试数据:设计的测试数据:nA A2 2,B B0 0,X X4 4,执行路径,执行路径sacbedsacbed n满足满足 A A1 1,B
41、 B0 0,A A2 2和和 X X1 1条件条件n满足满足 a a和和 b b 点为真(点为真(T T)nA A1 1,B B1 1,X X1 1,执行路径,执行路径sabdsabdn满足满足A1A1,B0B0,A2A2和和 X1X1条件条件n满足满足 a a和和 b b 点为假(点为假(F F)问题:问题:上述两组测试数据与满足条件上述两组测试数据与满足条件覆盖标准选取的两组数据相同覆盖标准选取的两组数据相同,因此,判定因此,判定/ /条件覆盖有时也并条件覆盖有时也并不比条件覆盖强。不比条件覆盖强。v 编写足够的测试数据,使得每个判定中条件结果的所有可能组合至少出编写足够的测试数据,使得每
42、个判定中条件结果的所有可能组合至少出现一次。现一次。5 5、多重条件覆盖、多重条件覆盖 n8 8种可能的条件组合:种可能的条件组合:n A A1 1,B B0 0n A A1 1,B0B0n A1 A1,B B0 0n A1 A1,B0B0n A A2 2,X X1 1n A A2 2,X1X1n A2 A2,X X1 1n A2 A2,X1 X1 n设计的测试数据:设计的测试数据:nA A2 2,B B0 0,X X4 4 覆盖,覆盖,(sacbed)(sacbed)nA A2 2,B B1 1,X X1 1 覆盖,覆盖,(sabed)(sabed)nA A1 1,B B0 0,X X2 2
43、 覆盖,覆盖,(sabed)(sabed)nA A1 1,B B1 1,X X1 1 覆盖,覆盖,(sabd)(sabd)n问题:没有测试路径问题:没有测试路径 sacbdsacbd6.4.5 6.4.5 测试数据的准备测试数据的准备 用于测试的数据称为用于测试的数据称为测试数据测试数据,即,即测试用测试用例例。测试用例是指为实施一次测试而向被测系。测试用例是指为实施一次测试而向被测系统提供的统提供的输入数据、操作或各种环境设置输入数据、操作或各种环境设置。设计和使用测试用例总的原则设计和使用测试用例总的原则 同时确定程序的预期结果同时确定程序的预期结果。 测试用例的测试用例的代表性代表性。
44、测试结果的测试结果的可判定性可判定性。 测试结果的测试结果的可再现性可再现性。 除了检查程序是否做了除了检查程序是否做了应该做应该做的事情,还要检查程序的事情,还要检查程序是否做了是否做了不应该做不应该做的事情。的事情。 千万不要幻想程序是正确的。千万不要幻想程序是正确的。 应该应该保留保留有用的测试用例,以便有用的测试用例,以便“再测试再测试”时使用。时使用。 测试用例要测试用例要系统地进行设计系统地进行设计,不可随意拼凑。,不可随意拼凑。6.5 6.5 系统交接系统交接系统交接系统交接系统的交接方式通常有三种,如图所示。系统的交接方式通常有三种,如图所示。逐步逐步6.6 6.6 系统的运行
45、与维护系统的运行与维护 系统运行管理包括:系统运行管理包括:系统的日常运行管理系统的日常运行管理系统维护系统维护 6.6.1 6.6.1 日常运行管理日常运行管理 MISMIS的日常运行管理绝不仅仅是的日常运行管理绝不仅仅是机房环境和设机房环境和设施的管理施的管理,更主要的是对系统,更主要的是对系统每天的运行状况、每天的运行状况、数据输入和输出情况以及系统的安全性与完备性,数据输入和输出情况以及系统的安全性与完备性,及时如实记录和处置及时如实记录和处置。日常运行管理工作主要由。日常运行管理工作主要由系统运行值班人员系统运行值班人员完成。完成。1 1、日常运行管理制度、日常运行管理制度机房管理制
46、度机房管理制度系统维护人员、操作人员及值班人员的义务、权系统维护人员、操作人员及值班人员的义务、权限;任务和责任;限;任务和责任;系统日常运行记录,包括值班日记、系统故障及系统日常运行记录,包括值班日记、系统故障及排除日记等;排除日记等;机房清洁卫生制度;机房清洁卫生制度;机房设备管理和维护制度;机房设备管理和维护制度;应付紧急情况的方案。应付紧急情况的方案。1 1、日常运行管理制度、日常运行管理制度技术档案管理制度技术档案管理制度数据录入和维护制度数据录入和维护制度操作规程操作规程6.6.1 6.6.1 日常运行管理日常运行管理2 2、系统运行情况的记录、系统运行情况的记录v能够反映系统在能够反映系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品安全复习题(附参考答案)
- 基站施工合同范例
- 2025年白山货运资格证考试题库
- 别墅装修装饰设计合同范例
- 数字技术适老化发展报告(2024年)
- 2025年江西货运上岗证模拟考试题
- 台球厅合作合同范例
- 成都租房月租合同范例
- 天府新区航空旅游职业学院《近世代数》2023-2024学年第一学期期末试卷
- 公益文艺演出聘用合同范例
- 一汽大众新员工三级安全教育(入厂级)
- 常见繁体字的简化表 香港人简体字教学
- 塑料模具肥皂盒设计说明书
- 最新X公司事业部建设规划方案
- 十一学校行动纲要
- 穿越河流工程定向钻专项施工方案
- 社会主义新农村建设建筑废料利用探究
- 唯一住房补贴申请书(共2页)
- 《质量守恒定律》评课稿
- 数据中心IDC项目建议书
- 中医养生脾胃为先PPT文档
评论
0/150
提交评论