




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2013-02-20,中南大学地信院地理信息系,1,8.1 系统实施概述8.2 程序编制 8.3 软件测试 8.4 软件调试 8.5 现场部署与培训8.6 系统试运行,8 GIS工程实施,2013-02-20,中南大学地信院地理信息系,2,8.1 工程实施概述,与前面的几个阶段相比,工程实施阶段的任务涉及的人力和物力都要多得多,各种技术专长的工作人员均参加到项目建设工作中,产生了大量的组织协调工作,需要项目负责人进行全面的安排,因此,要制订详细的工程实施计划。,2013-02-20,中南大学地信院地理信息系,3,8.1 工程实施概述,工程实施阶段的任务:准备工作 程序的编写与测试系统的安装与培训,2013-02-20,中南大学地信院地理信息系,4,2013-02-20,中南大学地信院地理信息系,5,8.1 工程实施概述,准备工作 :软硬件准备人员准备数据准备制定实施计划,2013-02-20,中南大学地信院地理信息系,6,8.2 程序编制,程序编制是一项系统工程,是系统实施的本质内容,是系统实施阶段的核心工作,需要投入大量的人力、物力,其目的就在于研制出一个成功的软件产品。,2013-02-20,中南大学地信院地理信息系,7,8.2 程序编制,尽量使用已有编程资源注意系统配置要求良好的程序设计风格程序容错性强采用版本控制管理程序编码,8.2.1 程序编制的一般要求,2013-02-20,中南大学地信院地理信息系,8,8.2 程序编制,项目特征历史沿革个人习惯,8.2.2 编程语言的选择,2013-02-20,中南大学地信院地理信息系,9,8.2 程序编制,版本控制是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。版本控制透过文档控制记录程序各个模组的改动,并为每次改动编上序号。,8.2.3 版本控制,2013-02-20,中南大学地信院地理信息系,10,8.2 程序编制,版本控制的优点:便于版本管理有利于团队协作便于保护知识产权利于建立开发档案,8.2.3 版本控制,2013-02-20,中南大学地信院地理信息系,11,8.2 程序编制,常用的版本控制软件:Visual Source Safe(VSS)Concurrent Version System(CVS)Subversion(SVN)StarTeamClearCaseSourceAnywhere,8.2.3 版本控制,2013-02-20,中南大学地信院地理信息系,12,8.2 程序编制,程序设计风格指一个人编制程序时所表现出来的特点、习惯及逻辑思路等。 良好的程序设计风格:源程序文档化(恰当的标识符、适当的注解和舒适的视觉组织)。,8.2.4 程序设计风格,2013-02-20,中南大学地信院地理信息系,13,8.2 程序编制,标识符即符号名,包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等。这些名字应能反映它所代表的实际东西,应有一定实际意义。应当选择精炼的意义明确的名字,必要时可使用缩写名字。在一个程序中,一个标示符只应用于一种用途。,8.2.4 程序设计风格恰当的标识符,2013-02-20,中南大学地信院地理信息系,14,8.2 程序编制,程序中的注释是程序员与日后的程序读者之间通信的重要手段。 注释决不是可有可无的。 一些正规的程序文本中,注释行的数量占到整个源程序的13到12,甚至更多。 注释分为序言性注释和功能性注释。,8.2.4 程序设计风格适当的注释,2013-02-20,中南大学地信院地理信息系,15,序言性注释:通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。,2013-02-20,中南大学地信院地理信息系,16,序言性注释包括:程序标题;有关本模块功能和目的的说明; 主要算法; 接口说明:包括调用形式,参数描述,子程序清单; 有关数据描述:重要的变量及其用途,约束或限制条件,以及其它有关信息; 模块位置:在哪一个源文件中,或隶属于哪一个软件包; 开发简历:模块设计者,复审者,复审日期,修改日期及有关说明等。,2013-02-20,中南大学地信院地理信息系,17,功能性注释:嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作。要点 描述一段程序,而不是每一个语句; 用缩进和空行,使程序与注释容易区别; 注释要正确。,2013-02-20,中南大学地信院地理信息系,18,8.2 程序编制,空格:可以突出运算的优先性,避免发生运算的错误。空行:隔开自然的程序段;缩格:分清层次关系。不要为了节省空间而把多个语句写在同一行;尽量避免复杂的条件测试;避免大量使用循环嵌套和条件嵌套;利用括号使逻辑表达式或算术表达式的运算次序清晰直观。,8.2.4 程序设计风格舒适的视觉组织,2013-02-20,中南大学地信院地理信息系,19,输入输出对所有输入数据都进行检验; 保持输入格式简单;使用数据结束标记,不要要求用户指定数据的数目;明确提示交互式输入的请求,详细说明可用的选择或边界数值;对输出的结果应采用良好的格式,并加以必要的说明。,8.2.4 程序设计风格,8.2 程序编制,2013-02-20,中南大学地信院地理信息系,20,效率仔细研究嵌套的循环,以确定是否有语句可以从内层往外移;尽量避免使用多维数组;尽量避免使用指针和复杂的表;使用执行时间短的算术运算;不要混合使用不同的数据类型;尽量使用整数运算和布尔表达式。,8.2.4 程序设计风格,8.2 程序编制,2013-02-20,中南大学地信院地理信息系,21,8.3 软件测试,软件测试是指对一个完成了全部或部分功能的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行。,2013-02-20,中南大学地信院地理信息系,22,8.3 软件测试,以最少的时间和人力,系统地发现软件中潜藏的错误或缺陷,以便改正后把一个高质量的软件系统交给用户使用。,8.3.1 软件测试的目标,2013-02-20,中南大学地信院地理信息系,23,8.3 软件测试,应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。测试用例应由测试输入数据和对应的预期输出结果这两部分组成。程序员应避免检查自己的程序。在设计测试用例时,应包括合理的输入条件和不合理的输入条件。,8.3.2 软件测试的原则,2013-02-20,中南大学地信院地理信息系,24,充分注意测试中的群集现象。严格执行测试计划,排除测试的随意性。应当对每一个测试结果做全面检查。妥善保存测试计划、测试用例、出错统计和最终分析报告、为维护提供方便。测试应贯穿于软件定义与开发的整个期间。,2013-02-20,中南大学地信院地理信息系,25,2013-02-20,中南大学地信院地理信息系,26,8.3 软件测试,软件开发过程是一个自顶向下,逐步细化的过程。测试过程是依相反顺序安排的自底向上,逐步集成的过程。一般要经过单元测试、集成测试、确认测试。,8.3.3 软件测试的过程,2013-02-20,中南大学地信院地理信息系,27,2013-02-20,中南大学地信院地理信息系,28,8.3 软件测试,单元测试又称模块测试,是针对软件设计的最小单位 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。,8.3.3 软件测试的过程单元测试,2013-02-20,中南大学地信院地理信息系,29,8.3 软件测试,单元测试主要评价模块的下述五个特性:模块接口;局部数据结构;重要的执行通路;出错处理;边界条件。,8.3.3 软件测试的过程单元测试,2013-02-20,中南大学地信院地理信息系,30,模块接口测试检查内容:参数的数目、次序、属性或单位系统与变元是否一致;是否修改了只作输入用的变元;全局变量的定义和用法在各个模块中是否一致。,2013-02-20,中南大学地信院地理信息系,31,局部数据结构测试检查内容:说明不正确或不一致;初始化或缺省值错误;变量名未定义或拼写错误;数据类型不相容;全局数据对模块的影响等。,2013-02-20,中南大学地信院地理信息系,32,重要的执行通路测试检查内容:不正确计算:运算符优先次序不正确、运算方式不正确、初始化方式不正确、精确度不够等。 条件及控制流错误:逻辑运算符不正确、优先次序错误、循环终止条件错误或死循环、错误地修改循环变量等。,2013-02-20,中南大学地信院地理信息系,33,出错处理测试检查内容:外部输入错误或内部处理引起错误时能否处理;对错误的描述是否难以理解;记下的错误与实际遇到的错误不同;在对错误进行处理之前,错误条件已经引起系统干预;对错误的处理不正确;描述错误的信息不足以帮助确定造成错误的位置。,2013-02-20,中南大学地信院地理信息系,34,边界条件测试检查内容:数据流、控制流中刚好等于、大于或小于确定的比较值时是否出错。如果对模块运行时间有要求的话,在最坏情况下和平均意义下对模块运行时间的影响因素。,2013-02-20,中南大学地信院地理信息系,35,测试方法,人工测试,也称为代码审查:人工阅读源代码,查找错误。计算机测试:设计测试用例,通过运行程序查找错误。,2013-02-20,中南大学地信院地理信息系,36,驱动模块:被测模块的上级调用模块的模拟。其功能比上级调用模块简单得多,只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接受被测模块的测试结果并输出。桩模块:被测模块所调用模块的模拟。作用是返回被测模块所需的信息。,2013-02-20,中南大学地信院地理信息系,37,8.3 软件测试,集成测试又称组装测试或联合测试,是在单元测试的基础上,将所有模块按照设计要求组装成为系统后而进行的测试,以期发现在模块连接中可能出现的问题。,8.3.3 软件测试的过程集成测试,2013-02-20,中南大学地信院地理信息系,38,集成测试时需要考虑的问题是: 在把各个模块连接起来的时侯,穿越模块接口的数据是否会丢失; 一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能; 全局数据结构是否有问题; 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。,2013-02-20,中南大学地信院地理信息系,39,把模块组装成为系统的方式有两种:一次性组装方式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,这种方法称为非渐增式测试方法。增殖式组装方式:把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。这种每次增加一个模块的方法称为渐增式测试,这种方法实际上同时完成单元测试和集成测试。,2013-02-20,中南大学地信院地理信息系,40,增殖式组装方式之一自顶向下集成,从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。在把附属于(及最终附属于)主控制模块的那些模块组装到程序结构中去时,或者使用深度优先的策略,或者使用宽度优先的策略。深度优先:先组装在软件结构的一条主控制通路上的所有模块。选择一条主控制通路取决于应用的特点,并且有很大任意性。宽度优先:沿软件结构水平地移动,把处于同一个控制层次上的所有模块组装起来。,2013-02-20,中南大学地信院地理信息系,41,自顶向下结合,2013-02-20,中南大学地信院地理信息系,42,从软件结构的最低层模块开始逐个组装和测试。,增殖式组装方式之一自底向上集成,2013-02-20,中南大学地信院地理信息系,43,自底向上结合,2013-02-20,中南大学地信院地理信息系,44,不同集成测试策略的比较,自顶向下测试方法的主要优点是不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能在早期发现上层模块的接口错误。自顶向下测试方法的主要缺点是需要桩程序,可能遇到与此相联系的测试困难,低层关键模块中的错误发现较晚,而且用这种方法在早期不能充分展开人力。可以看出,自底向上测试方法的优缺点与上述自顶向下测试方法的优缺点刚好相反。,2013-02-20,中南大学地信院地理信息系,45,8.3 软件测试,8.3.3 软件测试的过程确认测试,确认测试又称有效性测试,也称为验收测试。它的目标是验证软件的有效性。,有效性:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。,2013-02-20,中南大学地信院地理信息系,46,8.3 软件测试,8.3.3 软件测试的过程确认测试,主要内容包括:,功能测试:测试软件系统的功能是否正确,其依据是需求文档,如产品需求规格说明书。由于正确性是软件最重要的质量因素,所以功能测试必不可少。健壮性测试:测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。,2013-02-20,中南大学地信院地理信息系,47,8.3 软件测试,8.3.3 软件测试的过程确认测试,按内容分类:,恢复测试:关注导致软件运行失败的各种条件,并验证其恢复过程能否正确执行。安全测试:验证系统内部的保护机制,以防止非法侵入。压力测试:在正常资源下使用异常的访问量、频率或数据量来执行系统。,2013-02-20,中南大学地信院地理信息系,48,8.3 软件测试,8.3.3 软件测试的过程确认测试,按环境分类:,Alpha测试:在开发者的指导下,用户在开发者的场所进行测试。开发者负责记录发现的错误和使用中遇到的问题。总之,Alpha测试是在受控的环境中进行的。Beta测试:最终用户在开发者不能控制的环境中一个或多个客户场所进行测试。用户记录在测试过程中遇到的一切问题,并且定期把这些问题报告给开发者。接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并最终向客户发布最终的软件产品。,2013-02-20,中南大学地信院地理信息系,49,8.3 软件测试,8.3.3 软件测试的过程确认测试,步骤:,制定系统测试计划设计系统测试用例执行系统测试改错,2013-02-20,中南大学地信院地理信息系,50,确认测试有下述两种可能的结果:(1) 功能和性能与用户要求一致,软件是可以接受的;(2) 功能和性能与用户要求有差距。,2013-02-20,中南大学地信院地理信息系,51,8.3 软件测试,8.3.4 软件测试方法静态测试,静态测试:不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。静态测试主要包括代码检查、静态结构分析。,2013-02-20,中南大学地信院地理信息系,52,8.3 软件测试,8.3.4 软件测试方法静态测试,代码检查主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面。静态结构分析主要是以图形的方式表现程序的内部结构。静态测试优点:发现缺陷早、降低返工成本、覆盖重点和发现缺陷的概率高。静态测试缺点:耗时长、技术能力要求高。,2013-02-20,中南大学地信院地理信息系,53,8.3 软件测试,8.3.4 软件测试方法动态测试,动态测试:设计测试用例,通过运行来检测程序的正确性。根据测试用例的设计方法不同,又分为两种测试方法,即黑盒测试和白盒测试。,2013-02-20,中南大学地信院地理信息系,54,8.3 软件测试,8.3.4 软件测试方法白盒测试,白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。,2013-02-20,中南大学地信院地理信息系,55,8.3 软件测试,8.3.4 软件测试方法白盒测试,要求:保证一个模块中的所有独立路径至少被使用一次;对所有逻辑值均需测试 true 和 false;在上下边界及可操作范围内运行所有循环;检查内部数据结构以确保其有效性。,2013-02-20,中南大学地信院地理信息系,56,8.3 软件测试,8.3.4 软件测试方法白盒测试,优点:迫使测试人员去仔细思考软件的实现;可以检测代码中的每条分支和路径;揭示隐藏在代码中的错误;对代码的测试比较彻底。缺点:昂贵;无法检测代码中遗漏的路径和数据敏感性错误;不验证规格的正确性。,2013-02-20,中南大学地信院地理信息系,57,8.3 软件测试,8.3.4 软件测试方法白盒测试,局限:穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。穷举路径测试不可能查出程序中因遗漏路径而出错。穷举路径测试可能发现不了一些与数据相关的错误。,2013-02-20,中南大学地信院地理信息系,58,8.3 软件测试,8.3.4 软件测试方法黑盒测试,黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。,2013-02-20,中南大学地信院地理信息系,59,8.3 软件测试,8.3.4 软件测试方法黑盒测试,作用:功能不正确或遗漏; 界面错误; 输入和输出错误;数据库访问错误; 性能错误; 初始化和终止错误等。,2013-02-20,中南大学地信院地理信息系,60,8.3 软件测试,8.3.4 软件测试方法黑盒测试,黑盒测试用例设计方法:等价类划分:把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。边界值分析:通过选择等价类边界设计测试用例。错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例。,2013-02-20,中南大学地信院地理信息系,61,黑盒测试着重测试软件功能,并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型的错误。白盒测试在测试过程的早期阶段进行,而黑盒测试主要用于测试过程的后期。,2013-02-20,中南大学地信院地理信息系,62,8.3 软件测试,8.3.4 软件测试方法实施步骤,实施步骤:1.计划阶段:根据需求说明书,制定测试进度。2.设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。3.执行阶段:输入测试用例,得到测试结果。4.总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。,2013-02-20,中南大学地信院地理信息系,63,8.4 软件调试,软件调试是在进行了成功的测试之后才开始的工作。它与软件测试不同,其任务是根据测试时所发现的错误,找出原因和具体的位置,进行改正。,2013-02-20,中南大学地信院地理信息系,64,调试的步骤:,从错误的外部表现形式入手,确定程序中出错位置;研究有关部分的程序,找出错误的内在原因;修改设计和代码,排除这个错误;重复进行暴露了这个错误的原始测试或某些有关测试。,8.4 软件调试,2013-02-20,中南大学地信院地理信息系,65,现象与原因所处的位置可能相距甚远。当其它错误得到纠正时,这一错误所表现出的现象可能会暂时消失,但并未实际排除。现象实际上是由一些非错误原因(例如,舍入不精确)引起的。现象可能是由于一些不容易发现的人为错误引起的。 错误是由于时序问题引起的,与处理过程无关。 现象是由于难于精确再现的输入状态(例如,实时应用中输入顺序不确定)引起。 现象可能是周期出现的。,查找错误的难度:,8.4 软件调试,2013-02-20,中南大学地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业租赁合同管理及风险防范措施
- 影视投资与制作合同
- 石料加工项目合作协议范本
- 2025江苏南通市保障房建设投资集团有限公司下属子公司招聘工作人员2人考试参考题库及答案解析
- 2025浙江温州市鹿城区公房经营管理有限公司招聘编外工作人员2人考试参考题库及答案解析
- 2025四川九州电子科技股份有限公司招聘ME等2人备考考试题库附答案解析
- 2025年哈尔滨市南岗区第四幼儿园公开招聘教师4人(补招)考试模拟试题及答案解析
- 2025年凭祥市专职化社区工作者招聘9人备考模拟试题及答案解析
- 2025-2030高端矿泉水水源地分析及品牌故事塑造与奢侈品营销路径研究
- 2025-2030餐饮下沉市场消费特征与连锁品牌扩张机会评估报告
- 2025-2030水务工程行业并购重组机会及投融资战略研究咨询报告
- 2025年呼伦贝尔农垦集团有限公司招聘笔试参考题库含答案解析
- 象棋入门教学课件
- 风雨操场调研报告
- 2025年重庆市中考数学试卷真题(含标准答案)
- 旋挖钻机地基承载力验算2017.7
- 机组资源管理(CRM)训练指南
- 建立隐患闭环管理制度
- T/CECS 10026-2019绿色建材评价建筑门窗及配件
- 2025-2030中国甘草酸铵行业市场现状供需分析及投资评估规划分析研究报告
- 银川文化园全民健身体育运动馆地块土壤污染状况调查报告
评论
0/150
提交评论