《07.管理信息系统——实施.ppt》由会员分享,可在线阅读,更多相关《07.管理信息系统——实施.ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第七章 管理信息系统的系统实施主要内容n系统实施步骤n软硬件购置n系统准备(人员、数据、设备安装)n 测试n系统试运行与切换n评价与维护2sdie1 实施步骤硬件获取软件编程用户准备人员:聘用和培训机房、场所准备数据准备安装测试试运行系统切换用户验收、评价3sdie 2 系统软硬件、网络的购置1)硬件的获取n根据系统设计的指标要求制作采购的标书n邀请硬件供应商进行技术交流n选择资质好的厂商发放标书n评标n开标及商务谈判n签订合同n执行合同4sdie2)网络的获取n局域网络的建设和改造新建网络改造网络自建或外包n广域网络的建设传输网络的取得(传输方式的选择、线路的租赁)网络设备的获取(与硬件同)
2、自建与承包给系统集成商 2 系统软硬件、网络的购置(续)5sdie3)软件工具的选取n选择开发方法n选择开发工具及数据库产品 2 系统软硬件、网络的购置(续)6sdie3 系统准备1)用户准备n用户准备主要是指准备好信息系统的管理人员、使用人员等。n用户的培训 内部培训与外部培训n信息系统的IT人员的招聘和培训2)场所准备新系统的工作场所(空调、电力、办公家具)7sdie3)数据准备n将原来的手工数据文件转化成计算机文件n将原来的不同格式的数据文件转换成新系统的格式4)安装 将计算机设备、网络设备在信息系统场所安装、使其运转3 系统准备(续)8sdien 模块测试(单调)n 联合测试(联调)n
3、 系统测试(总调)4 测试9sdie4.1 测试的基本概念n测试目标n测试的基本原则n测试信息n测试的方法和技术n测试步骤10sdie4.1.1 测试的目标软件测试的目标:n为了发现程序中的错误而执行程序的过程;n好的测试方案是极有可能发现迄今尚未发现的尽可能多的错误的测试方案;n成功的测试是发现了迄今尚未发现的错误的测试。测试是为了发现错误,不能证明程序正确。一般来说,单元测试可由程序员自己完成,而综合测试通常由测试小组来完成。11sdie 1)软件开发成本 软件产品最大的成本是检测软件错误、修正软件错误的成本。在整个软件开发中:测试工作量50%12sdie2)软件测试的目标 (1)预防错误
4、:几乎不可实现(2)发现错误:软件测试目的找错13sdie 把证明程序无错当作测试目的不仅是不正确的,完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。软件测试要设法使软件发生故障,暴露软件错误 测试的“成功”与“失败”:能够发现错误的测试是成功的测试,否则是失败的测试。2)软件测试的目标(续)14sdie“测试的目的是说明程序正确地执行它应有的功能”也是错误的。例:程序Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。为说明其能正确执行它的功能,可使用“测试用例”(3,4,5),(5,5,6),(6,
5、6,6),程序都能给出正确结果,是否就可认为程序是正确的?2)软件测试的目标(续)15sdie3)测测试试与与开开发发各各阶阶段段的的关关系系决定软件与系统的配合关系决定软件与系统的配合关系需求分析需求分析概要设计概要设计详细设计详细设计 编编 码码单元测试单元测试集成测试集成测试系统系统测试测试16sdie测试阶段工作步骤:n单元测试:检验每个模块能否单独工作n集成测试:检验概要设计中模块接口设计问题n系统测试:以需求规格说明书为检验尺度 测试可视为分析、设计、编码三个阶段的最终复审,以保证软件质量。3)测试与开发各阶段的关系(续)17sdie软件生存期各阶段间需保持的正确性用户要求用户要求
6、用户用户:我要什么我要什么?运行结果运行结果计算机计算机:程序运行得程序运行得到的结果到的结果源程序源程序程序员程序员:我要让计算我要让计算机机怎怎么做么做?设计说明书设计说明书设计员设计员:我要让软件我要让软件做什么做什么?需求说明书需求说明书分析员分析员:我可以提我可以提供什么供什么?12345理解正确性理解正确性表达正确性表达正确性理解正确性理解正确性设计正确性设计正确性表达正确性表达正确性理解正确性理解正确性编码正确性编码正确性运行正确性运行正确性输入正确性输入正确性相符吗相符吗?18sdie 软件测试不等于程序测试 软件测试应贯穿于软件定义与开发的整个期间;据美国一家公司统计,查出的
7、软件错误中,属于需求分析和软件设计的错误约占 64%,属于程序编写的错误仅占 36%。程序编写的许多错误是“先天的”。4)测试对象 19sdie1 基本原则n“尽早测试”应成为软件开发人员的座右铭 坚持软件开发各阶段复审,尽早发现错误n开发和测试队伍分别建立n测试用例应由输入数据和预期的输出结果两部分组成n特别注意测试发现错误较多的程序模块,要重点测试n程序修改后要回归测试n应长期保留测试用例,直至系统废弃4.1.2 测试的基本原则20sdie2“测试用例”设计n测试用例的构成要素 输入数据+预期输出结果+测试功能说明+环境平台及运行条件n兼顾合理的输入和不合理的输入数据n不仅检查程序是否实现
8、预期功能,还应检查程序是否作了不该做的事4.1.2 测试的基本原则(续)21sdie3 程序测试举例例:程序 Triangle,输入三个整数,表示一个三角形的三个边长,该程序产生一个结果,指出该三角形是等边三角形、等腰三角形还是不等边三角形。4.1.2 测试的基本原则(续)22sdie判断三角型的测试用例设计:输入数据 预期结果(1)6;6;6 等边(2)8;8;4 等腰(3)4;5;6 一般 还应输入非法数据:0;7;9 -7;3;5 a;2;7 等4.1.2 测试的基本原则(续)23sdie 4 软件错误分类n 功能错(需求分析错误)n 软件结构错n 数据错n 编码错n 软件集成错n 测试
9、定义与测试执行错误 4.1.2 测试的基本原则(续)24sdie4.1.3 软件测试信息流测试过程需要三类输入:软件配置:需求规格说明书 软件设计说明书 被测源程序代码测试配置:测试计划 测试用例(测试数据)测试驱动程序测试工具25sdie4.1.3 软件测试信息流(续)软件配置测试配置测试测试工具结果分析排错可靠性 分析测试结果错误预期结果出错率 改正的软件预测的可靠性26sdie4.1.4 测试的方法与技术软件测试的策略和方法静态测试方法动态测试方法人工测试方法计算机辅助静态分析方法白盒测试方法黑盒测试方法穷举测试方法27sdie1 静态测试 基本特征是在对软件进行分析、检查和测试,不实际
10、运行被测试的软件。静态测试对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。约可找出3070%的逻辑设计错误。4.1.4 测试的方法与技术(续)28sdie2 动态测试 通过运行软件来检验软件的动态行为和运行结果的正确性 动态测试的两个基本要素:被测试程序 测试数据(测试用例)4.1.4 测试的方法与技术(续)29sdie2 动态测试方法(续)(1)选取定义域有效值,或定义域外无效值(2)对已选取值决定预期的结果(3)用选取值执行程序(4)执行结果 与(2)结果相比,和程序不符合有错4.1.4 测试的方法与技术(续)30sdie 1)模块测试n又称单元测试,在软件
11、编码阶段进行,确认模块作为单元能够正常运行2)集成测试/联合测试n把经过测试的单元按一定顺序组装成为系统,进行测试,又称接口测试3)系统测试n将软件系统作为单一实体,在用户积极参与下以实际数据测试,测试的目的是验证系统能否达到SRS的要求,因此又称验收测试。4.1.5 测试步骤31sdie3)系统测试(续)n测试:由一个用户在开发环境下模拟实际操作环境运行程序系统n目的是评价软件产品的功能、可用性、可靠性、性能和支持,系统的界面的特色。n方法是由开发者在场记录系统出错情况及使用中存在的问题。4.1.5 测试步骤(续)32sdie3)系统测试(续)n测试:由系统一个或多个用户在实际操作环境中运行
12、系统n目的是评价系统的可支持性,包括文档的完整性、用户培训和支持、使用系统的能力和满意程度。n方法是开发者不在测试现场,由用户记录的问题可能是系统存在的错误,也可能是用户的主观认定。4.1.5 测试步骤(续)33sdien 白盒法n 黑盒法4.2 测试的基本方法34sdie1)黑盒测试(又称功能测试,数据驱动测试,基于规格说明书的测试)将被测试程序对象看作黑盒子,不考虑其内部程序结构与处理过程,仅仅对于程序接口进行测试。即检查适当的输入是否能够产生适当的输出。一 两种类型的测试35sdie 2)白盒测试(又称结构测试,玻璃盒测试,基于覆盖的测试)分析程序结构与过程执行路径,按照程序内部的逻辑结
13、构设计测试用例,检验程序的每条通路是否按预期正常进行,力求提高测试覆盖率。一 两种类型的测试(续)36sdie3)黑盒测试与白盒测试比较 黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。白盒测试是根据程序内部逻辑结构进行测试。一 两种类型的测试(续)37sdie4)彻底的黑盒法或者白盒法(穷举测试)例:输入 三条边长 黑盒测试可采用的测试用例数(设字长16位)执行时间:设测试一次需1ms 共需一万年=2 2 2 3 1016161614一 两种类型的测试(续)38sdie4)穷举测试(续)白盒测试例:含4个分支,循环次数20,从A到
14、B的可能路径执行时间:设测试一次需2ms 穷举测试需5亿年.=5+5+.+5 +5=5+5+.+5 +5 101020201 12 219191414A AB B一 两种类型的测试(续)39sdie 不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误.一 两种类型的测试(续)40sdie二 白盒法基于白盒法的测试思想:分析被测程序的逻辑结构,选择逻辑执行路径子集设计测试方案。选择路径子集的覆盖标准:n语句覆盖(点覆盖)n判定覆盖n条件覆盖n判定/条件覆盖n条件组合覆盖n路径覆盖n点覆盖n边覆盖41s
15、die例:一个被测程序模块的流程图如右图:其程序为: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;return(y);二 白盒法X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d42sdie1 语句覆盖(点覆盖)n执行足够多的测试用例,使得被测程序中每个可执行语句至少被执行一次。n上例中只需设计一个测试用例:输入数据:A=2,B=0,X=4 即达到了语句覆盖;n语句覆盖是最弱的覆盖标准。n将程序模块抽象为程序图,语句覆盖又被称为点覆盖。X=X/AA1 and B
16、=0A=2 or X1X=X+1YYNacNeb开始返回d二 白盒法(续)43sdie 2 判定覆盖(边覆盖)n执行足够多的测试用例,使得被测程序中每个语句至少被执行一次,且每个判断的真假 分支至少执行一次。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二 白盒法(续)44sdie3 条件覆盖n执行足够多的测试用例,使得被测程序中每
17、个判定的每个条件的可能值至少执行一次。二 白盒法(续)45sdie3 条件覆盖(续)n上例中,上例中,第一判定表达式第一判定表达式:A1 and B=0A1 and B=0 设条件 A1 取真 记为 T1 假 T1 条件 B=0 取真 记为 T2 假 T2 第二判定表达式第二判定表达式:A=2 or X1A=2 or X1 设条件 A=2 取真 记为 T3 假 T3 条件 X1 取真 记为 T4 假 T4二 白盒法(续)46sdie 3 条件覆盖(续)n上例中,测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 1 0 3 abe T1,T2,T3,T4 b,e 2 1 1 abe T
18、1,T2,T3,T4 b,e 两个测试用例覆盖了四个条件八种可能 取值。n未覆盖c、d分支,不满足判定覆盖的要求。条件覆盖不一定包含判定覆盖 判定覆盖也不一定包含条件覆盖X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d满足条件:T1,T1;T2,T2 T3,T3;T4,T4二 白盒法(续)47sdie4 判定/条件覆盖n执行足够多的测试用例,使得被测程序中的判定的每个条件的所有可能取值至少执行一次,同时每个判定本身的所有可能判定结果至少执行一次。n是判定覆盖与条件覆盖的综合,但不能保证检查出逻辑表达式的全部错误。对于上例中A1时检查B=0,而 A=1时,B0
19、却不去验证了。二 白盒法(续)48sdie 4 判定/条件覆盖(续)n上例中,测试用例 通过 满足的 覆盖 A B X 路径 条件 分支 2 0 4 ace T1,T2,T3,T4 c,e 2 1 1 abd T1,T2,T3,T4 b,d 两个测试用例能同时满足判定、条件覆盖。X=X/AA1 and B=0A=2 or X1X=X+1YYNacNeb开始返回d满足条件:T1,T1;T2,T2 T3,T3;T4,T4二 白盒法(续)49sdie5 条件组合覆盖n执行足够多的测试用例,使得被测程序中所有可能的条件取值组合至少执行一次。n上例的模块中条件共有8种可能的条件组合:(1)A1,B=0
20、(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 999 999 无效无效等价类等价类 1 1165.25元的测试用例。(如:-0.01元和1165.26元)由于输入值的边界不与输出值的边界相对应,所以要检查输出值的边界及产生超出输出值值域的结果不一定可能。边界值分析设计测试用例原则76sdie2 边界值分析法(续)n上例2中,应补充下述测试方案:12)使输出刚好等于-32768,输出-3276813)使输出刚好等于32767,输出32767改5)使输出刚好小于-32768:-32769,无效输 入改6)使输出
21、刚好大于32767:32768,无效输入三 黑盒法(续)黑盒法77sdie3错误推测(猜错法)n不同类型的程序通常具有若干特殊的易出错的情况,这些情况未必可以归结为等价类或者边界情况。有经验的测试人员往往根据经验与直觉,例举出程序中可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例,实行高效的测试。三 黑盒法(续)78sdie4 因果图法n因果图适合于描述对于多种输入条件的组合,相应产生多个动作的形式来设计测试用例。因果图方法最终生成的是判定表。三 黑盒法(续)79sdie4 因果图法(续)n用因果图法生成测试用例的步骤:(1)分析哪些是原因,哪些是结果,给每个原 因、结果一个标识。(
22、2)分析语义,找出原因与结果、原因与原因之间的关系,画出因果图。(3)在因果图上标明约束或限制条件。(4)把因果图转化为判定表。(5)根据判定表每一列设计测试用例。三 黑盒法(续)80sdie某电力公司有A、B、C、D四类收费标准,并规定:居民用电 100度/月 按A类收费 100度/月按B类收费动力用电 10000度/月,非高峰,B类收费 10000度/月,非高峰,C类收费 10000度/月,高峰,C类收费 10000度/月,高峰,D类收费因果图方法实例181sdie列出输入条件和输出动作并编号:输入条件(原因)输出动作(结果)1居民用电 A-A类计费2动力用电 B-B类计费3100度/月
23、C-C类计费4E,B-(三明治式)JFBADI-101sdie4.5 确认验收测试n目的是向用户表明软件系统的有效性,确认测试技术以黑盒法为主,以验证软件是否满足SRS规定的需求。SRS(Software Requirement Specification):软件需求说明书 102sdie4.5 确认验收测试常用测试类型:n功能测试n容量测试 大数据量n紧张度测试 峰值n使用性测试 如,用户界面是否合理?风格是否统一?操作是否方便?出错信息是否简明易用等n安全性测试103sdie4.5 确认验收测试常用测试类型(续):n可靠性测试 n恢复测试n文档测试 确保用户文档的精确性和清晰性,确保叙述正
24、确无误n工序测试 与人工工序的配合情况104sdie4.6 软件调试n 调试的任务:n测试阶段发现的是故障的表现,可以成为外部错误。对于发现的错误必须进行诊断,找到其发生的原因和位置,这就是调试的任务。n测试工作由他人(专业测试小组)进行,而调试要求对程序结构和算法十分熟悉,因此最好由程序设计者本人完成。n常用调试技术n设置程序运行断点,插入打印语句n使用自动调试工具n常用调试策略n试探法n回溯法n对分查找n归纳法105sdie4.7 测试过程文档测试计划:1)每个测试阶段的目的2)每个测试阶段完成的标准3)时间进度表4)每个测试阶段的负责人员5)测试用例库6)测试所需的工具7)每个测试阶段所
25、需机时数106sdie4.7 测试过程文档(续)测试过程中的记录内容:1)发现的错误2)纠错时对系统作的修改3)退化测试情况:即修改后的再测试4)错误原因、类型、比率的分析和统计107sdie思考n软件测试的基本任务是什么?简述软件测试的方法。n总结软件测试的基本原则。n什么是软件系统的测试和测试,它们各自的目的和方法有什么特点?n使用白盒法覆盖了被测试程序的所有逻辑执行路径能够保证程序正确吗?n为什么综合测试策略中首先考虑边界值分析,而不是等价分类方法?108sdie5 系统试运行与切换n系统切换:新旧系统的交替过程,也就是旧的管理信息系统逐渐退出,由新的管理信息系统来代替n系统测试的同时就可进行试运行n切换的方法 直接法 并行法 阶梯法(分段法)109sdie老系统老系统新系统新系统老系统老系统 新系统新系统1 新系统新系统2新系统新系统n老系统老系统新系统新系统直接法阶梯法并行法5 系统试运行与切换(续)切换的方法110sdien 用户验收 系统验收 文档验收 签署文件5 系统试运行与切换(续)111sdie讨论与思考 如何理解管理信息系统的成功取决于如何理解管理信息系统的成功取决于“三分技术,七分实施,十二分数据三分技术,七分实施,十二分数据”?112sdie