《管理信息系统-实施.ppt》由会员分享,可在线阅读,更多相关《管理信息系统-实施.ppt(112页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章 管理信息系统的系统实施主要内容n 系统实施步骤n 软硬件购置n 系统准备(人员、数据、设备安装)n 测试n 系统试运行与切换n 评价与维护2 sdie1 实施步骤硬件获取软件编程用户准备人员:聘用和培训机房、场所准备数据准备安装测试试运行系统切换用户验收、评价3 sdie 2 系统软硬件、网络的购置1)硬件的获取n 根据系统设计的指标要求制作采购的标书n 邀请硬件供应商进行技术交流n 选择资质好的厂商发放标书n 评标n 开标及商务谈判n 签订合同n 执行合同4 sdie2)网络的获取n 局域网络的建设和改造新建网络改造网络自建或外包n 广域网络的建设传输网络的取得(传输方式的选择、线路
2、的租赁)网络设备的获取(与硬件同)自建与承包给系统集成商 2 系统软硬件、网络的购置(续)5 sdie3)软件工具的选取n 选择开发方法n 选择开发工具及数据库产品 2 系统软硬件、网络的购置(续)6 sdie3 系统准备1)用户准备n 用户准备主要是指准备好信息系统的管理人员、使用人员等。n 用户的培训 内部培训与外部培训n 信息系统的IT人员的招聘和培训2)场所准备新系统的工作场所(空调、电力、办公家具)7 sdie3)数据准备n 将原来的手工数据文件转化成计算机文件n 将原来的不同格式的数据文件转换成新系统的格式4)安装 将计算机设备、网络设备在信息系统场所安装、使其运转3 系统准备(续
3、)8 sdien 模块测试(单调)n 联合测试(联调)n 系统测试(总调)4 测试9 sdie4.1 测试的基本概念n 测试目标n 测试的基本原则n 测试信息n 测试的方法和技术n 测试步骤10 sdie4.1.1 测试的目标软件测试的目标:n 为了发现程序中的错误而执行程序的过程;n 好的测试方案是极有可能发现迄今尚未发现的尽可能多的错误的测试方案;n 成功的测试是发现了迄今尚未发现的错误的测试。测试是为了发现错误,不能证明程序正确。一般来说,单元测试可由程序员自己完成,而综合测试通常由测试小组来完成。11 sdie 1)软件开发成本 软件产品最大的成本是检测软件错误、修正软件错误的成本。在
4、整个软件开发中:测试工作量50%12 sdie2)软件测试的目标(1)预防错误:几乎不可实现(2)发现错误:软件测试目的找错13 sdie 把证明程序无错当作测试目的不仅是不正确的,完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。软件测试要设法使软件发生故障,暴露软件错误 测试的“成功”与“失败”:能够发现错误的测试是成功的测试,否则是失败的测试。2)软件测试的目标(续)14 sdie“测试的目的是说明程序正确地执行它应有的功能”也是错误的。例:程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。为
5、说明其能正确执行它的功能,可使用“测试用例”(3,4,5),(5,5,6),(6,6,6),程序都能给出正确结果,是否就可认为程序是正确的?2)软件测试的目标(续)15 sdie3)测试与开发各阶段的关系决定软件与系统的配合关系需求分析概要设计详细设计 编 码单元测试集成测试系统测试16 sdie测试阶段工作步骤:n 单元测试:检验每个模块能否单独工作n 集成测试:检验概要设计中模块接口设计问题n 系统测试:以需求规格说明书为检验尺度 测试可视为分析、设计、编码三个阶段的最终复审,以保证软件质量。3)测试与开发各阶段的关系(续)17 sdie软件生存期各阶段间需保持的正确性用户要求用户:我要什
6、么?运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机怎么做?设计说明书设计员:我要让软件做什么?需求说明书分析员:我可以提供什么?12345理解正确性表达正确性理解正确性设计正确性表达正确性理解正确性编码正确性运行正确性输入正确性相符吗?18 sdie 软件测试不等于程序测试 软件测试应贯穿于软件定义与开发的整个期间;据美国一家公司统计,查出的软件错误中,属于需求分析和软件设计的错误约占 64%,属于程序编写的错误仅占 36%。程序编写的许多错误是“先天的”。4)测试对象 19 sdie1 基本原则n“尽早测试”应成为软件开发人员的座右铭 坚持软件开发各阶段复审,尽早发现错误n 开
7、发和测试队伍分别建立n 测试用例应由输入数据和预期的输出结果两部分组成n 特别注意测试发现错误较多的程序模块,要重点测试n 程序修改后要回归测试n 应长期保留测试用例,直至系统废弃4.1.2 测试的基本原则20 sdie2“测试用例”设计n 测试用例的构成要素 输入数据+预期输出结果+测试功能说明+环境平台及运行条件n 兼顾合理的输入和不合理的输入数据n 不仅检查程序是否实现预期功能,还应检查程序是否作了不该做的事4.1.2 测试的基本原则(续)21 sdie3 程序测试举例例:程序 Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三
8、角形还是不等边三角形。4.1.2 测试的基本原则(续)22 sdie判断三角型的测试用例设计:输入数据 预期结果(1)6;6;6 等边(2)8;8;4 等腰(3)4;5;6 一般 还应输入非法数据:0;7;9-7;3;5 a;2;7 等4.1.2 测试的基本原则(续)23 sdie 4 软件错误分类n 功能错(需求分析错误)n 软件结构错n 数据错n 编码错n 软件集成错n 测试定义与测试执行错误 4.1.2 测试的基本原则(续)24 sdie4.1.3 软件测试信息流测试过程需要三类输入:软件配置:需求规格说明书 软件设计说明书 被测源程序代码测试配置:测试计划 测试用例(测试数据)测试驱动
9、程序测试工具25 sdie4.1.3 软件测试信息流(续)软件配置测试配置测试测试工具结果分析排错可靠性 分析测试结果错误预期结果出错率 改正的软件预测的可靠性26 sdie4.1.4 测试的方法与技术软件测试的策略和方法静态测试方法动态测试方法人工测试方法计算机辅助静态分析方法白盒测试方法黑盒测试方法穷举测试方法27 sdie1 静态测试 基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件。静态测试对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。约可找出3070%的逻辑设计错误。4.1.4 测试的方法与技术(续)28 sdie2 动态测试 通过运行
10、软件来检验软件的动态行为和运行结果的正确性 动态测试的两个基本要素:被测试程序 测试数据(测试用例)4.1.4 测试的方法与技术(续)29 sdie2 动态测试方法(续)(1)选取定义域有效值,或定义域外无效值(2)对已选取值决定预期的结果(3)用选取值执行程序(4)执行结果 与(2)结果相比,和程序不符合有错4.1.4 测试的方法与技术(续)30 sdie 1)模块测试n 又称单元测试,在软件编码阶段进行,确认模块作为单元能够正常运行2)集成测试/联合测试n 把经过测试的单元按一定顺序组装成为系统,进行测试,又称接口测试3)系统测试n 将软件系统作为单一实体,在用户积极参与下以实际数据测试,
11、测试的目的是验证系统能否达到SRS的要求,因此又称验收测试。4.1.5 测试步骤31 sdie3)系统测试(续)n 测试:由一个用户在开发环境下模拟实际操作环境运行程序系统n 目的是评价软件产品的功能、可用性、可靠性、性能和支持,系统的界面的特色。n 方法是由开发者在场记录系统出错情况及使用中存在的问题。4.1.5 测试步骤(续)32 sdie3)系统测试(续)n 测试:由系统一个或多个用户在实际操作环境中运行系统n 目的是评价系统的可支持性,包括文档的完整性、用户培训和支持、使用系统的能力和满意程度。n 方法是开发者不在测试现场,由用户记录的问题可能是系统存在的错误,也可能是用户的主观认定。
12、4.1.5 测试步骤(续)33 sdien 白盒法n 黑盒法4.2 测试的基本方法34 sdie1)黑盒测试(又称功能测试,数据驱动测试,基于规格说明书的测试)将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。一 两种类型的测试35 sdie 2)白盒测试(又称结构测试,玻璃盒测试,基于覆盖的测试)分析程序结构与过程执行路径,按照程序内部的逻辑结构设计测试用例,检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。一 两种类型的测试(续)36 sdie3)黑盒测试与白盒测试比较 黑盒测试是从用户观点,按规格说明书要
13、求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。白盒测试是根据程序内部逻辑结构进行测试。一 两种类型的测试(续)37 sdie4)彻底的黑盒法或者白盒法(穷举测试)例:输入 三条边长 黑盒测试可采用的测试用例数(设字长16位)执行时间:设测试一次需1ms 共需一万年=2 2 2 3 1016 16 16 14一 两种类型的测试(续)38 sdie4)穷举测试(续)白盒测试例:含4个分支,循环次数20,从A到B的可能路径执行时间:设测试一次需2ms 穷举测试需5亿年.=5+5+.+5+5 1020 121914AB一 两种类型的测试(续)39 sdie 不论黑盒还是白盒
14、测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误.一 两种类型的测试(续)40 sdie二 白盒法基于白盒法的测试思想:分析被测程序的逻辑结构,选择逻辑执行路径子集设计测试方案。选择路径子集的覆盖标准:n 语句覆盖(点覆盖)n 判定覆盖n 条件覆盖n 判定/条件覆盖n 条件组合覆盖n 路径覆盖n 点覆盖n 边覆盖41 sdie例:一个被测程序模块的流程图如右图:其程序为:int samp(int a,int b,int x)int y;if(a1)&(b=0)x=x/a;if(a=2)|(x1)x=x+1;y=x
15、;return(y);二 白盒法X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d42 sdie1 语句覆盖(点覆盖)n 执行足够多的测试用例,使得被测程序中每个可执行语句至少被执行一次。n 上例中只需设计一个测试用例:输入数据:A=2,B=0,X=4 即达到了语句覆盖;n 语句覆盖是最弱的覆盖标准。n 将程序模块抽象为程序图,语句覆盖又被称为点覆盖。X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d二 白盒法(续)43 sdie 2 判定覆盖(边覆盖)n 执行足够多的测试用例,使得被测程序中每个语句至少被执行一次,且每个判断
16、的真假 分支至少执行一次。n 上例中可设计两组测试用例:A=3,B=0,X=3 可覆盖c、d分支 A=2,B=1,X=1 可覆盖b、e分支 两组测试用例可覆盖所有判定 的真假分支n 判定覆盖仍是弱的覆盖标准。n 将程序模块抽象为程序图,判定覆盖又被称为边覆盖。X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d二 白盒法(续)44 sdie3 条件覆盖n 执行足够多的测试用例,使得被测程序中每个判定的每个条件的可能值至少执行一次。二 白盒法(续)45 sdie3 条件覆盖(续)n 上例中,第一判定表达式:A1 and B=0 设条件 A1 取真 记为 T1 假
17、T1 条件 B=0 取真 记为 T2 假 T2 第二判定表达式:A=2 or X1 设条件 A=2 取真 记为 T3 假 T3 条件 X1 取真 记为 T4 假 T4二 白盒法(续)46 sdie 3 条件覆盖(续)n 上例中,测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 1 0 3 abe T1,T2,T3,T4 b,e 2 1 1 abe T1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能 取值。n 未覆盖c、d分支,不满足判定覆盖的要求。条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖X=X/AA1 and B=0A=2 or X1X=X+1YYNa
18、cNeb开始返回d满足条件:T1,T1;T2,T2 T3,T3;T4,T4二 白盒法(续)47 sdie4 判定/条件覆盖n 执行足够多的测试用例,使得被测程序中的判定的每个条件的所有可能取值至少执行一次,同时每个判定本身的所有可能判定结果至少执行一次。n 是判定覆盖与条件覆盖的综合,但不能保证检查出逻辑表达式的全部错误。对于上例中A1时检查B=0,而 A=1时,B0却不去验证了。二 白盒法(续)48 sdie 4 判定/条件覆盖(续)n 上例中,测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abd T1,T2,T3
19、,T4 b,d 两个测试用例能同时满足判定、条件覆盖。X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d满足条件:T1,T1;T2,T2 T3,T3;T4,T4二 白盒法(续)49 sdie5 条件组合覆盖n 执行足够多的测试用例,使得被测程序中所有可能的条件取值组合至少执行一次。n 上例的模块中条件共有8种可能的条件组合:(1)A1,B=0(2)A1,B0(3)A=1,B=0(4)A=1,B0(5)A=2,X1(6)A=2,X=1(7)A2,X1(8)A2,X=1n 满足条件组合覆盖必满足判定、条件、判定/条件覆盖,但仍不能遍历每条路径。二 白盒法(续)50
20、 sdie 5 条件组合覆盖(续)n 上例中,测试用例 通过 满足的 覆盖 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 二 白盒法(续)51 sdie 5 条件组合覆盖(续)n 另一组测试用例:测试
21、用例 通过 满足的 覆盖 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 二 白盒法(续)52 sdie 6 路径覆盖n 执行足够多的测试用例,使得被测程序中每条可能路径至少通过一次。n 上例中设计测试用例:测试用例 通过 满足的 覆盖 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 T1,T2,T3,
22、T4 c,d 2 0 4 ace T1,T2,T3,T4 c,en 满足路径覆盖保证了每个可能的路径至少通过一次,与条件组合覆盖结合使用可能取得较好效果。二 白盒法(续)53 sdie7 点覆盖 测试路径至少经过程序控制流图中每个节点一次执行路径:abdghi和aceghi满足点覆盖S123456Eacbdfeghi二 白盒法(续)54 sdie8 边覆盖 测试路径至少经过程序控制流图中每条边一次.执行路径:abdfi和aceghi满足边覆盖 边覆盖与路径覆盖不同S123456Eacbdfeghi二 白盒法(续)55 sdie1 等价分类法n 等价分类法的基本思想是将所有可能的输入数据(有效的
23、和无效的)划分成若干个等价的子集(称为等价类),使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它值的作用相同.可从每个子集中选取一组数据来测试程序。n 等价类划分有两种情况:n 合理等价类:测试模块是否实现了规定的功能和性能n 不合理等价类:测试模块是否能够拒绝无效输入,被测试对象在运行条件错误时的可靠性如何三 黑盒法56 sdie1 等价分类法(续)n 划分等价类的规则(1)如果输入条件代表一个范围,可定义一个有效等价类和两个无效等价类。例 输入条件规定:项数可从1到999三 黑盒法(续)1 999 有效等价类 无效等价类 999 无效等价类 157 sdie1 等价分类法(续)
24、n 划分等价类的规则(2)如果输入条件代表集合的某个元素,则可定义一个有效等价类和一个无效等价类。(3)如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类(所有不允许的输入值的集合)。三 黑盒法(续)58 sdie1 等价分类法(续)n 划分等价类的规则(4)如果规定了输入条件必须遵守的规则,则可划分一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。*(5)如果规定了输入数据是整型,则可划分出正整数、零、负整数三个有效等价类。(6)如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。
25、三 黑盒法(续)59 sdie1 等价分类法(续)n 用等价类划分法设计测试用例 例1:某个待测程序的输入参数“职称”的输入值可以是助教、讲师、副教授、教授四种。则,可以设计一个有效等价类(取四个职称中的一个值);一个无效等价类(四个职称之外的任意值)。三 黑盒法(续)60 sdie1 等价分类法(续)n 用等价类划分法设计测试用例 例1(续):如果程序对不同职称有不同的处理方案,如“住房分配”程序。则,应设计四个有效等价类(四个职称每个值为一类);一个无效等价类(四个职称之外的任意值)。(根据规则(6))三 黑盒法(续)61 sdie1 等价分类法(续)n 用等价类划分法设计测试用例步骤:(
26、1)形成等价类表,每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;三 黑盒法(续)62 sdie1 等价分类法(续)n 用等价类划分法设计测试用例(例1):例:某城市电话号码由三部分组成 地区码:空白或3位数字 前 缀:非0或1开 头的三位数字 后 缀:4位数字三 黑盒法(续)63 sdie输入条件 有效等价类 无效等价类 地区码空白(1)3位数字(2)有非数字字符(5)少于3位数字(6)多于3位数字(7)前
27、缀从200到999之间的3位数字(3)有非数字字符(8)起始位为0(9)起始位为1(10)少于3位数字(11)多于3位数字(12)后 缀有非数字字符(13)少于4位数字(14)多于4位数字(15)4位数字(4)第一步:电话号码等价类划分64 sdie 测试数据 测试范围 期望结果()276-2345(635)805-9321等价类(1)(3)(4)等价类(2)(3)(4)有效有效第二步:确定测试用例 对表中4个有效等价类可公用 下面两个测试用例:65 sdie对表中11个无效等价类应选择11个测试用例:测试数据 测试范围 期望结果(20A)123-4567(33)234-5678(7777)345-6789.无效等价类(5)无效等价类(6)无效等价类(7).(15)无效无效无效.本例的15个等价类至少需要13个测试用例第二步:确定测试用例66 sdie1 等价分类法(续)n 用等价类划分法设计测试用例(例2):例:把一个六位数字字符串转化为整数三 黑盒法(续)边界分析法67 sdie
限制150内