管理信息系统第八章系统维护与评价.ppt_第1页
管理信息系统第八章系统维护与评价.ppt_第2页
管理信息系统第八章系统维护与评价.ppt_第3页
管理信息系统第八章系统维护与评价.ppt_第4页
管理信息系统第八章系统维护与评价.ppt_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 系统评价和维护,系统实施步骤 软硬件购置 系统准备(人员、数据、设备安装) 测试 系统试运行与切换 评价与维护,1 实施步骤,硬件获取,软件编程,用户准备,人员:聘用和培训,机房、场所准备,数据准备,安装,测试,试运行,系统切换,用户验收、评价,2 系统软硬件、网络的购置,1)硬件的获取 根据系统设计的指标要求制作采购的标书 邀请硬件供应商进行技术交流 选择资质好的厂商发放标书 评标 开标及商务谈判 签订合同 执行合同,2)网络的获取 局域网络的建设和改造 新建网络 改造网络 自建或外包 广域网络的建设 传输网络的取得(传输方式的选择、线路的租赁) 网络设备的获取(与硬件同) 自建与承

2、包给系统集成商,2 系统软硬件、网络的购置(续),3)软件工具的选取 选择开发方法 选择开发工具及数据库产品,2 系统软硬件、网络的购置(续),3 系统准备,1)用户准备 用户准备主要是指准备好信息系统的管理人员、使用人员等。 用户的培训 内部培训与外部培训 信息系统的IT人员的招聘和培训 2)场所准备 新系统的工作场所(空调、电力、办公家具),3)数据准备 将原来的手工数据文件转化成计算机文件 将原来的不同格式的数据文件转换成新系统的格式 4)安装 将计算机设备、网络设备在信息系统场所安装、使其运转,3 系统准备(续),模块测试 (单调) 联合测试 (联调) 系统测试 (总调),4 测试,4

3、.1 测试的基本概念,测试目标 测试的基本原则 测试信息 测试的方法和技术 测试步骤,4.1.1 测试的目标,软件测试的目标: 为了发现程序中的错误而执行程序的过程; 好的测试方案是极有可能发现迄今尚未发现的尽可能多的错误的测试方案; 成功的测试是发现了迄今尚未发现的错误的测试。 测试是为了发现错误,不能证明程序正确。一般来说,单元测试可由程序员自己完成,而综合测试通常由测试小组来完成。,1) 软件开发成本,软件产品最大的成本是检测软件错误、修正软件错误的成本。 在整个软件开发中: 测试工作量50%,2) 软件测试的目标,(1)预防错误: 几乎不可实现 (2)发现错误: 软件测试目的,找错,把

4、证明程序无错当作测试目的不仅是不正确的, 完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。 软件测试要设法使软件发生故障,暴露软件错误 测试的“成功”与“失败”: 能够发现错误的测试是成功的测试,否则是失败的测试。,2) 软件测试的目标(续),“测试的目的是说明程序正确地执行它应有的功能”也是错误的。 例:程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。 为说明其能正确执行它的功能,可使用“测试用例”(3,4,5),(5,5,6),(6,6,6), 程序都能给出正确结果,是否就可认为程序是正确的

5、?,2) 软件测试的目标(续),3)测试与开发各阶段的关系,决定软件与系统的配合关系,需求分析,概要设计,详细设计,编 码,单元测试,集成测试,系统测试,测试阶段工作步骤: 单元测试: 检验每个模块能否单独工作 集成测试: 检验概要设计中模块接口设计问题 系统测试: 以需求规格说明书为检验尺度 测试可视为分析、设计、编码三个阶段的最终复审,以保证软件质量。,3) 测试与开发各阶段的关系(续),软件生存期各阶段间需保持的正确性,软件测试不等于程序测试 软件测试应贯穿于软件定义与开发的整个期间; 据美国一家公司统计,查出的软件错误中,属于需求分析和软件设计的错误约占 64%,属于程序编写的错误仅占

6、 36%。程序编写的许多错误是“先天的”。,4) 测试对象,1 基本原则 “尽早测试”应成为软件开发人员的座右铭 坚持软件开发各阶段复审,尽早发现错误 开发和测试队伍分别建立 测试用例应由输入数据和预期的输出结果两部分组成 特别注意测试发现错误较多的程序模块,要重点测试 程序修改后要回归测试 应长期保留测试用例,直至系统废弃,4.1.2 测试的基本原则,2“测试用例”设计 测试用例的构成要素 输入数据+预期输出结果+测试功能说明+环境平台及运行条件 兼顾合理的输入和不合理的输入数据 不仅检查程序是否实现预期功能,还应检查程序是否作了不该做的事,4.1.2 测试的基本原则(续),3 程序测试举例

7、 例:程序 Triangle, 输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。,4.1.2 测试的基本原则(续),判断三角型的测试用例设计: 输入数据 预期结果 (1) 6;6;6 等边 (2) 8;8;4 等腰 (3) 4;5;6 一般 还应输入非法数据: 0; 7; 9 -7;3; 5 a; 2; 7 等,4.1.2 测试的基本原则(续),4 软件错误分类 功能错(需求分析错误) 软件结构错 数据错 编码错 软件集成错 测试定义与测试执行错误,4.1.2 测试的基本原则(续),4.1.3 软件测试信息流,测试过程需要三类输

8、入: 软件配置:需求规格说明书 软件设计说明书 被测源程序代码 测试配置:测试计划 测试用例(测试数据) 测试驱动程序 测试工具,4.1.3 软件测试信息流(续),软件 配置,测试 配置,测试,测试 工具,结果 分析,排错,可靠性 分析,测试 结果,错误,预期 结果,出错率,改正 的软件,预测的可靠性,4.1.4 测试的方法与技术,软件测试的 策略和方法,静态测 试方法,动态测 试方法,人工测试方法,计算机辅助静 态分析方法,白盒测试方法,黑盒测试方法,穷举测试方法,1 静态测试 基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件。 静态测试对需求规格说明书、软件设计说明书、源程序

9、做结构分析、流程图分析、符号执行来找错。约可找出3070%的逻辑设计错误。,4.1.4 测试的方法与技术(续),2 动态测试 通过运行软件来检验软件的动态行为和运行结果的正确性 动态测试的两个基本要素: 被测试程序 测试数据(测试用例),4.1.4 测试的方法与技术(续),2 动态测试方法(续) (1)选取定义域有效值,或定义域外无效值 (2)对已选取值决定预期的结果 (3)用选取值执行程序 (4)执行结果 与(2)结果相比, 和程序不符合有错,4.1.4 测试的方法与技术(续),1) 模块测试 又称单元测试,在软件编码阶段进行,确认模块作为单元能够正常运行 2) 集成测试/联合测试 把经过测

10、试的单元按一定顺序组装成为系统,进行测试,又称接口测试 3) 系统测试 将软件系统作为单一实体,在用户积极参与下以实际数据测试,测试的目的是验证系统能否达到SRS的要求,因此又称验收测试。,4.1.5 测试步骤,3) 系统测试(续) 测试:由一个用户在开发环境下模拟实际操作环境运行程序系统 目的是评价软件产品的功能、可用性、可靠性、性能和支持,系统的界面的特色。 方法是由开发者在场记录系统出错情况及使用中存在的问题。,4.1.5 测试步骤(续),3) 系统测试(续) 测试:由系统一个或多个用户在实际操作环境中运行系统 目的是评价系统的可支持性,包括文档的完整性、用户培训和支持、使用系统的能力和

11、满意程度。 方法是开发者不在测试现场,由用户记录的问题可能是系统存在的错误,也可能是用户的主观认定。,4.1.5 测试步骤(续),白盒法 黑盒法,4.2 测试的基本方法,1) 黑盒测试(又称功能测试,数据驱动测试,基于规格说明书的测试) 将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。,一 两种类型的测试,2) 白盒测试(又称结构测试,玻璃盒测试,基于覆盖的测试) 分析程序结构与过程执行路径,按照程序内部的逻辑结构设计测试用例,检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。,一 两种类型的测试(续),3)

12、 黑盒测试与白盒测试比较 黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。 白盒测试是根据程序内部逻辑结构进行测试。,一 两种类型的测试(续),4) 彻底的黑盒法或者白盒法(穷举测试) 例:输入 三条边长 黑盒测试 可采用的测试用例数 (设字长16位) 执行时间: 设测试一次需1ms 共需一万年,=2 2 2 3 10,16,16,16,14,一 两种类型的测试(续),4) 穷举测试(续) 白盒测试 例: 含4个分支,循环次数 20,从A到B的可能 路径 执行时间: 设测试一次需2ms 穷举测试需5亿年.,=5 +5 +.+5 +5

13、 10,20,1,2,19,14,A,B,一 两种类型的测试(续),不论黑盒还是白盒测试都不能进行穷尽测试, 所以软件测试不可能发现程序中存在的所有错误, 因此需精心设计测试方案, 力争尽可能少的次数,测出尽可能多的错误.,一 两种类型的测试(续),二 白盒法,基于白盒法的测试思想: 分析被测程序的逻辑结构,选择逻辑执行路径子集设计测试方案。 选择路径子集的覆盖标准: 语句覆盖(点覆盖) 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 点覆盖 边覆盖,例:一个被测程序模块的流程图如右图: 其程序为: int samp (int a,int b,int x) int y; if (a

14、1) ,二 白盒法,1 语句覆盖(点覆盖) 执行足够多的测试用例,使得被测程序中每个可执行语句至少被执行一次。 上例中只需设计一个测试用例: 输入数据:A=2,B=0,X=4 即达到了语句覆盖; 语句覆盖是最弱的覆盖标准。 将程序模块抽象为程序图,语 句覆盖又被称为点覆盖。,二 白盒法(续),2 判定覆盖(边覆盖) 执行足够多的测试用例,使得被测程序中每个语句至少被执行一次,且每个判断的真假 分支至少执行一次。 上例中可设计两组测试用例: A=3,B=0 ,X=3 可覆盖c、d分支 A=2,B=1 ,X=1 可覆盖b、e分支 两组测试用例可覆盖所有判定 的真假分支 判定覆盖仍是弱的覆盖标准。

15、将程序模块抽象为程序图,判 定覆盖又被称为边覆盖。,二 白盒法(续),3 条件覆盖 执行足够多的测试用例,使得被测程序中每个判定的每个条件的可能值至少执行一次。,二 白盒法(续),3 条件覆盖(续) 上例中, 第一判定表达式:A1 and B=0 设条件 A1 取真 记为 T1 假 T1 条件 B=0 取真 记为 T2 假 T2 第二判定表达式:A=2 or X1 设条件 A=2 取真 记为 T3 假 T3 条件 X1 取真 记为 T4 假 T4,二 白盒法(续),3 条件覆盖(续) 上例中, 测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 1 0 3 abe T1,T2,T3,T

16、4 b,e 2 1 1 abe T1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能 取值。 未覆盖c、d分支,不满足判定覆盖的 要求。 条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖,满足条件: T1,T1;T2,T2 T3,T3;T4,T4,二 白盒法(续),4 判定/条件覆盖 执行足够多的测试用例,使得被测程序中的判定的每个条件的所有可能取值至少执行一次,同时每个判定本身的所有可能判定结果至少执行一次。 是判定覆盖与条件覆盖的综合,但不能保证检查出逻辑表达式的全部错误。 对于上例中A1时检查B=0,而 A0却不去验证了。,二 白盒法(续),4 判定/条件覆盖(续)

17、 上例中, 测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abd T1,T2,T3,T4 b,d 两个测试用例能同时满足判定、条件覆盖。,满足条件: T1,T1;T2,T2 T3,T3;T4,T4,二 白盒法(续),5 条件组合覆盖 执行足够多的测试用例,使得被测程序中所有可能的条件取值组合至少执行一次。 上例的模块中条件共有8种可能的条件组合: (1)A1, B=0 (2) A1, B0 (3) A0 (5) A=2, X1 (6) A=2, X2, X1 (8) A2, X=1 满足条件组合覆盖必满足判定、条件、

18、判定/条件覆盖,但仍不能遍历每条路径。,二 白盒法(续),5 条件组合覆盖(续) 上例中, 测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 2 0 3 ace T1,T2,T3,T4 c,e 2 1 1 abe T1,T2,T3,T4 b,e 0 0 1 abe T1,T2,T3,T4 b,e 0 1 0 abd T1,T2,T3,T4 b,d 2 0 2 ace T1,T2,T3,T4 c,e 2 1 1 abe T1,T2,T3,T4 b,e 3 2 2 abe T1,T2,T3,T4 b,e 3 3 1 abd T1,T2,T3,T4 b,d,二 白盒法(续),5 条件组合覆

19、盖(续) 另一组测试用例: 测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abe T1,T2,T3,T4 b,e 1 0 2 abd T1,T2,T3,T4 b,d 1 1 1 abd T1,T2,T3,T4 b,d,二 白盒法(续),6 路径覆盖 执行足够多的测试用例,使得被测程序中每条可能路径至少通过一次。 上例中设计测试用例: 测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 1 1 1 abd T1,T2,T3,T4 b,d 1 1 2 abe T1,T2,T3,T4 b,e 3 0 1 acd T

20、1,T2,T3,T4 c,d 2 0 4 ace T1,T2,T3,T4 c,e 满足路径覆盖保证了每个可能的路径至少通过一次,与条件组合覆盖结合使用可能取得较好效果。,二 白盒法(续),7 点覆盖 测试路径至少经过程序控制流图 中每个节点一次 执行路径: abdghi和aceghi 满足点覆盖,二 白盒法(续),8 边覆盖 测试路径至少经过程序控制流图 中每条边一次. 执行路径: abdfi和aceghi 满足边覆盖 边覆盖与路径覆盖不同,二 白盒法(续),等价分类法 等价分类法的基本思想是将所有可能的输入数据(有效的和无效的)划分成若干个等价的子集 (称为等价类), 使得每个子集中的一个典

21、型值在测试中的作用与这一子集中所有其它值的作用相同. 可从每个子集中选取一组数据来测试程序。 等价类划分有两种情况: 合理等价类:测试模块是否实现了规定的功能和性能 不合理等价类:测试模块是否能够拒绝无效输入,被测试对象在运行条件错误时的可靠性如何,三 黑盒法,等价分类法(续) 划分等价类的规则 (1)如果输入条件代表一个范围,可定义一个有效等价类和两个无效等价类。 例 输入条件规定:项数可从1到999,三 黑盒法(续),1 999,有效 等价类,无效 等价类 999,无效 等价类 1,等价分类法(续) 划分等价类的规则 (2)如果输入条件代表集合的某个元素,则可定义一个有效等价类和一个无效等

22、价类。 (3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。,三 黑盒法(续),等价分类法(续) 划分等价类的规则 (4)如果规定了输入条件必须遵守的规则,则可划分一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 *(5)如果规定了输入数据是整型,则可划分出正整数、零、负整数三个有效等价类。 (6)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。,三 黑盒法(续),等价分类法(续) 用等价类划分法设计测试用例 例1:某个待测程序的输入参数“职称

23、”的输入值可以是助教、讲师、副教授、教授四种。 则,可以设计一个有效等价类(取四个职称中的一个值);一个无效等价类(四个职称之外的任意值)。,三 黑盒法(续),等价分类法(续) 用等价类划分法设计测试用例 例1(续):如果程序对不同职称有不同的处理方案,如“住房分配”程序。 则,应设计四个有效等价类(四个职称每个值为一类);一个无效等价类(四个职称之外的任意值)。(根据规则(6)),三 黑盒法(续),等价分类法(续) 用等价类划分法设计测试用例步骤: (1)形成等价类表,每一等价类规定一个唯一的编号; (2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价

24、类均被测试用例所覆盖; (3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;,三 黑盒法(续),等价分类法(续) 用等价类划分法设计测试用例(例1): 例:某城市电话号码由三部分组成 地区码:空白或3位数字 前 缀:非0或1开 头的三位数字 后 缀:4位数字,三 黑盒法(续),输入条件 有效等价类 无效等价类,地区码,空白(1) 3位数字(2),有非数字字符 (5) 少于3位数字 (6) 多于3位数字 (7),前 缀,从200到999 之间的3位数字(3),有非数字字符 (8) 起始位为0(9) 起始位为1(10) 少于3位数字 (11) 多于3位数字 (

25、12),后 缀,有非数字字符 (13) 少于4位数字 (14) 多于4位数字 (15),4位数字(4),第一步:电话号码等价类划分,测试数据 测试范围 期望结果,( )276-2345 (635)805-9321,等价类(1)(3)(4) 等价类(2)(3)(4),有效 有效,第二步:确定测试用例,对表中4个有效等价类可公用 下面两个测试用例:,对表中11个无效等价类应选择11个测试用例:,测试数据 测试范围 期望结果,(20A)123-4567 (33 )234-5678 (7777)345-6789 . . .,无效等价类(5) 无效等价类(6) 无效等价类(7) . . . (15),无

26、效 无效 无效 . . .,本例的15个等价类至少需要13个测试用例,第二步:确定测试用例,等价分类法(续) 用等价类划分法设计测试用例(例2): 例:把一个六位数字字符串转化为整数,三 黑盒法(续),边界 分析法,有效输入的等价类无效输入的等价类 1)16个数字串(最高位非0)4)空字符串 2)最高位为0的数字串5)不足6位时,字符串左 边填充不是0或空格 3)最高位数字左邻是负号的 6)最高位数字右边包含字 数字串 符和空格 7)负号与最高位数字间有 空格 8)在最小负整数与0之间的负 11)比-32767还小的负整数 整数 9)0 12)比32768还大的正整数 10)在0和最大正整数之

27、间的正 整数,第一步:等价类划分,根据以上等价类,设计测试方案: 1) 16个数字串,输出合法的正整数 2)最高位为0的数字串,输出合法正整数 3)最高位数字时0,输出也为0 4)最高位数字左邻是负号的数字串,输出合法负整数 5)太小的负整数:-47561,无效输入 6)太大的正整数:132767,无效输入 7)空字符串: ,没有数字,无效输入 8)字符串左部非0也不是空格:*1,填充错误 9)最高位数字后面有空格:1 2,无效输入 10)最高位数字后有其它字符: 1*2, 无效输入 11)负号和最高位数字间有空格: - 12,无效输入,第二步:确定测试用例,2 边界值分析法 边界值分析法与等

28、价类划分法区别 (1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。 (2)边界值分析不仅考虑 输入条件,还要考虑输 出空间产生的测试情况,三 黑盒法(续),2 边界值分析法(续) 设计测试用例原则: (1)如输入条件代表以a和b为边界的范围,测试用例应包含a、b、略大于a和略小于b的值。 (2)如输入条件代表一组值,测试用例应当执行其中的最大值和最小值,还应测试略大于最大值和略小于最小值的值。,三 黑盒法(续),边界值分析设计测试用例原则,例:邮件收费规定 15 kg收费2元 则应设计测试用例: 0.9,1, 5,5.1 kg 或0.99,1, 5

29、,5.01 kg。,边界值分析设计测试用例原则,例:一个输入文件可有1255个记录则可分别设计有: 1个、255个、0个、256个记录的输入文件,2 边界值分析法(续) 设计测试用例原则: (3)如规格说明中提出输入输出的有序集(顺序文件、有序表等),取有序集的第一个和最后一个元素做测试用例。 (4)如程序数据结构有预定的边界,应测试其边界的数据项。 (5)如输出条件规定了取值范围,取边界上下浮动值做测试用例。,三 黑盒法(续),边界值分析设计测试用例原则,例:程序中定义一数组,其元素下标的下界是0,上界是100,则应选择达到这个数组下标边界的值,如0与100作为测试用例。,例: 每日保险扣除

30、额(输出项)在01165.25 元,则应设计测试用例使其恰好产生0元和1165.25元的结果, 此外还应考虑设计结果为负值或 1165.25元的测试用例。 (如: -0.01元和1165.26元) 由于输入值的边界不与输出值的边界相对应,所以要检查输出值的边界及产生超出输出值值域的结果不一定可能。,边界值分析设计测试用例原则,2 边界值分析法(续) 上例2中,应补充下述测试方案: 12)使输出刚好等于-32768,输出-32768 13)使输出刚好等于32767,输出32767 改5)使输出刚好小于-32768:-32769,无效输 入 改6)使输出刚好大于32767:32768,无效输入,三

31、 黑盒法(续),黑盒法,错误推测(猜错法) 不同类型的程序通常具有若干特殊的易出错的情况,这些情况未必可以归结为等价类或者边界情况。有经验的测试人员往往根据经验与直觉,例举出程序中可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例,实行高效的测试。,三 黑盒法(续),4 因果图法 因果图适合于描述对于多种输入条件的组合,相应产生多个动作的形式来设计测试用例。因果图方法最终生成的是判定表。,三 黑盒法(续),4 因果图法(续) 用因果图法生成测试用例的步骤: (1)分析哪些是原因,哪些是结果,给每个原 因、结果一个标识。 (2)分析语义,找出原因与结果、原因与原因之间的关系,画出因果图。

32、 (3)在因果图上标明约束或限制条件。 (4)把因果图转化为判定表 。 (5)根据判定表每一列设计测试用例。,三 黑盒法(续),某电力公司有A、B、C、D四类收费标准, 并规定: 居民用电 100度/月 按A类收费 100度/月按B类收费 动力用电 10000度/月,非高峰,B类收费 10000度/月,非高峰,C类收费 10000度/月, 高峰,C类收费 10000度/月, 高峰,D类收费,因果图方法实例1,列出输入条件和输出动作并编号: 输入条件(原因) 输出动作(结果) 1居民用电 A- A类计费 2动力用电 B- B类计费 3100度/月 C- C类计费 410000度/月 D- D类计

33、费 5高峰用电,因果图方法实例1(续),把因果图转换为判定表:,因果图方法实例1(续),1列 居民电,90度/月 A 2列 居民电,110度/月 B 3列 动力电,非高峰,8000度/月 B 4列 动力电,非高峰,1.2万度/月 C 5列 动力电, 高峰,0.9万度/月 C 6列 动力电, 高峰,1.1万度/月 D,条件 测试用例 预期结果 组合 (输入数据) (输出动作),为判定表每一列设计一个测试用例:,因果图方法实例1(续),某软件规格说明中规定: 输入两个字符, 当第一个字符是A或B,且第二个字符是数字时修改文件。 若第一个字符不是 A,也不是B 时,输出错误信息S,若第二个字符不是数

34、字时,输出错误信息P。,因果图方法实例2,原因是: 1第1个字符是A 2第1个字符是B 3第2个字符是数字。,结果是: 11修改文件。 12输出错误信息S。 13输出错误信息P。,约束E,1,2,(1,2不能同时成立),分析规格说明并编号:,因果图方法实例2(续),因果图转换的判定表:,因果图方法实例2(续),因果图转换的判定表分析: 判定表所有条件组合数:23 =8。 第1、2列条件组合不可能出现,针对第38列设计测试用例如下:,条件 测试用例 预期结果 组合 (输入数据) (输出动作),3列 A3 修改文件 4列 A* 5列 B8 6列 BB 信息P 7列 X6 信息S 8列 CC 信息S

35、,P,因果图方法实例2(续),黑盒法为主、白盒法为辅,具体如下: 任何情况下都应该使用边界值分析设计测试用例; 必要时采用等价分类法补充用例; 必要时再用错误推测法补充用例; 对照程序逻辑,检查设计用例的逻辑覆盖标准。根据程序可靠性要求,补充用例使之达到规定的覆盖标准。,四 综合测试策略,例:程序TRIANGLE读入三个整数值,代表三条边长,程序根据这三个值判断三角形属于不等边、等腰或等边三角形中哪一种。 综合使用边界值分析、等价划分、错误推测技术可设计9种测试数据: 测试功能测试数据 1.等边10,10,10 2.等腰10,10,17 10,17,10 17,10,10 3.不等边 8,10

36、,12 8,12,10 10,12,8 4.非三角形10,10,21 10,21,10 21,10,10 5.退化情况10,5,5 5,10,55,5,10 6.零数据0,0,00,0,170,10,12 7.负数据-10,-10,-10-10,-10,17-8,10,17 8.遗漏数据-, -, -10,-,-8,10,- 9.无效输入a,b,c=, +, *8,10,a,综合测试策略实例,测试数据覆盖程度检验 编号测试数据覆盖的边 1.10,10,10 1,2,3,4,5,6,7,8 2a.10,10,17 1,2,3,4,5,15,19,20,8 2b.10,17,10 1,2,3,4,

37、14,18,19,20,8 2c.17,10,10 1,2,3,4,14,16,17,19,20,8 3a.8,10,12 1,2,3,4,14,16,21,22,8 3b.8,12,10 1,2,3,4,14,16,21,22,8 3c.10,12,8 1,2,3,4,14,16,21,22,8 4a.10,10,21 1,2,3,11,12,13,8 4b.10,21,10 1,2,10,12,13,8 4c.21,10,10 1,9,12,13,8 以上测试数据已满足路径覆盖,因此不需再用白盒法设计测试数据。,综合测试策略实例(续),4.3 模块测试,一、模块测试内容 模块接口 局部数据

38、结构 重要的执行路径 出错处理问题 影响上述各方面的边界条件 二、模块测试过程 人工测试(代码审查) 计算机测试 三、模块测试方法 (黑盒法、白盒法),4.4 集成测试,模块集成测试策略 非渐增式:一次性装配得到目标系统 渐增式:按照一定顺序,将模块逐个安装并调试 自顶向下的结合 自底向上的结合 “三明治”方法,4.4 集成测试(续),1 集成测试方法 在集成测试过程中,要为模块设计一个驱动模块和若干个桩模块。 驱动模块 桩模块,4.4 集成测试(续),驱动模块 驱动模块是模拟待测模块X的调用模块,其作用是将测试数据传送给待测模块X,并显示待测模块X的结果。,4.4 集成测试(续),桩模块 桩

39、模块的作用是模拟待测模块X的下层模块E。其作用是接受待测模块X的控制并模拟下层模块E的功能。,A,X,Y, , ,待测模块,X,桩1,集成测试:,E,4.4 集成测试(续),非渐增式: 先分别测试A、B、C、D、E、F,然后将六个模块连接起来再测试。 渐增式(自底向上): 先并行测试E、C、F,然后测试B、D,最后测试A。,2 渐增式和非渐增式的比较,A,B,C,E,D,F,4.4 集成测试(续),2 渐增式和非渐增式的比较(续) 非渐增式需要较多的人工编写桩模块和驱动模块,渐增式较少 渐增式可以较早地发现模块界面之间的错误 渐增式有利于排错 渐增式比较彻底 渐增式需要较多的机器时间 渐增式的

40、测试工作无法并行 结论:总的来说,渐增式比较优越,4.4 集成测试(续),3 渐增式测试 由顶向下 自底向上 两种方式结合(“三明治”方式) 决定测试顺序的基本原则: 尽早测试关键的模块。所谓关键的模块是指 较复杂、较可能出错、或含有新的算法的模块。 尽早测试包含输入输出操作的模块。这样向程序送入测试数据、以及检察输出结果就方便了。,4.4 集成测试(续),3 渐增式测试(续) 由顶向下和自底向上的比较 由顶向下可以较早地形成整个系统的总体框架,但有模块介入问题。使测试较为困难。 自底向上没有模块介入问题,但总体框架要到最后一个模块(顶层模块)测试完才形成。,4.4 集成测试(续),3 渐增式

41、测试(续),A,D,C,B,I,H,J,G,F,E,L,K,右图中J、I是包含输入输出的模块, D、F是关键的模块。 则测试顺序可以取: (自顶向下)ABCDEFGHIJKL; ABEFJCGKDHLI; ADHIJKLCGBFJE; ABFJDICGEKHL; (由下而上) KLHID以及JF-E,B- (三明治式)JFBADI- ,4.5 确认验收测试,目的是向用户表明软件系统的有效性,确认测试技术以黑盒法为主,以验证软件是否满足SRS规定的需求。 SRS (Software Requirement Specification) :软件需求说明书,4.5 确认验收测试,常用测试类型: 功能

42、测试 容量测试 大数据量 紧张度测试 峰值 使用性测试 如,用户界面是否合理?风格是否统一? 操作是否方便?出错信息是否简明易用等 安全性测试,4.5 确认验收测试,常用测试类型(续): 可靠性测试 恢复测试 文档测试 确保用户文档的精确性和清晰性,确保叙述正确无误 工序测试 与人工工序的配合情况,4.6 软件调试,调试的任务: 测试阶段发现的是故障的表现,可以成为外部错误。对于发现的错误必须进行诊断,找到其发生的原因和位置,这就是调试的任务。 测试工作由他人(专业测试小组)进行,而调试要求对程序结构和算法十分熟悉,因此最好由程序设计者本人完成。 常用调试技术 设置程序运行断点,插入打印语句

43、使用自动调试工具 常用调试策略 试探法 回溯法 对分查找 归纳法,4.7 测试过程文档,测试计划: 1)每个测试阶段的目的 2)每个测试阶段完成的标准 3)时间进度表 4)每个测试阶段的负责人员 5)测试用例库 6)测试所需的工具 7)每个测试阶段所需机时数,4.7 测试过程文档(续),测试过程中的记录内容: 1)发现的错误 2)纠错时对系统作的修改 3)退化测试情况:即修改后的再测试 4)错误原因、类型、比率的分析和统计,思考,软件测试的基本任务是什么?简述软件测试的方法。 总结软件测试的基本原则。 什么是软件系统的测试和测试,它们各自的目的和方法有什么特点? 使用白盒法覆盖了被测试程序的所有逻辑执行路径能够保证程序正确吗? 为什么综合测试策略中首先考虑边界值分析,而不是等价分类方法?,5 系统试运行与切换,系统切换:新旧系统的交替过程,也就是旧的管理信息系统逐渐退出,由新的管理信息系统来代替 系统测试的同时就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论