《第六章管理信息系统的实施优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第六章管理信息系统的实施优秀PPT.ppt(149页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章管理信息系统的实施第一页,本课件共有149页 系系统统实实施施的的任任务务是是实实现现系系统统设设计计阶阶段段提提出出的的物物理理模模型型,按按实实施施方方案案完完成成一一个个可可以以实实际际运运行行的的信信息息系系统统,交付用户使用。交付用户使用。n理解系统实施的工作内容;理解系统实施的工作内容;n了解软件测试的概念和方法;了解软件测试的概念和方法;n掌握系统转换的方式。掌握系统转换的方式。本章学习目标本章学习目标第二页,本课件共有149页第六章第六章 管理信息系统的实施管理信息系统的实施 6.1 物理系统的实施物理系统的实施 6.2 程序设计程序设计 6.3 软件测试与调试软件测试与
2、调试 6.4 人员培训人员培训6.5 系统转换系统转换第三页,本课件共有149页第六章 管理信息系统的实施 系统实施概述系统实施概述 系统实施的任务系统实施的任务n系系统统实实施施的的任任务务是是以以系系统统设设计计方方案案为为依依据据,按按照照系系统统实实施施方方案案进进行行具具体体的的实实现现,最最终终组组建建出出一一个个能能够够实实际际运运行行的的系系统统,交交付付用用户使用。户使用。n具具体体任任务务包包括括:硬硬件件准准备备、软软件件准准备备、人人员培训、数据准备员培训、数据准备第四页,本课件共有149页1 1、硬件准备、硬件准备 硬件准备包括计算机主机、输入输出设备、存储设备、硬件
3、准备包括计算机主机、输入输出设备、存储设备、辅助设备(稳压电源、空调设备)、通信设备等。辅助设备(稳压电源、空调设备)、通信设备等。2 2、软件准备、软件准备 软件包括系统软件、数据库管理系统以及一些应用软件。软件包括系统软件、数据库管理系统以及一些应用软件。第六章 管理信息系统的实施第五页,本课件共有149页3 3、人员培训、人员培训 主要指用户培训,包括主管人员和业务人员。主要指用户培训,包括主管人员和业务人员。4 4、数据准备、数据准备 没有一定的基础数据的准备,系统调试就不能很好的没有一定的基础数据的准备,系统调试就不能很好的进行。进行。第六章第六章 管理信息系统的实施管理信息系统的实
4、施第六页,本课件共有149页系统实施的工作流程系统实施的工作流程第七页,本课件共有149页第六章第六章 管理信息系统实施管理信息系统实施 系统实施的特点系统实施的特点n工作量大工作量大n投入人力、物力多投入人力、物力多n组织管理工作繁重组织管理工作繁重第八页,本课件共有149页第六章第六章 管理信息系统实施管理信息系统实施 系统实施的方法系统实施的方法n划分版本的基本原则划分版本的基本原则n确定版本的规模确定版本的规模n实现复杂模块的方法实现复杂模块的方法n安排实现模块的顺序安排实现模块的顺序第九页,本课件共有149页自顶向下的实现方法自顶向下的实现方法版本的划分需要考虑以下几个方面:版本的划
5、分需要考虑以下几个方面:(1)先实现控制部分,后实现执行部分,先上层先实现控制部分,后实现执行部分,先上层后下层。后下层。(2)根据开发力量、设备、培训等方面的情况确根据开发力量、设备、培训等方面的情况确定每个版本实现多少模块、实现哪些模块。定每个版本实现多少模块、实现哪些模块。(3)复杂的模块分散在几个版本中逐步实现。复杂的模块分散在几个版本中逐步实现。(4)兼顾功能模块和数据库的实现。兼顾功能模块和数据库的实现。(5)兼顾硬件、软件、人员培训方面的情况。兼顾硬件、软件、人员培训方面的情况。第十页,本课件共有149页 MIS物理系统的实施是计算机系统和通信网物理系统的实施是计算机系统和通信网
6、络系统设备的订购、机房的准备和设备的安装络系统设备的订购、机房的准备和设备的安装调试等一系列活动。调试等一系列活动。6.1.1 选择供应商的标准选择供应商的标准n系统安装主要是指对各种软、硬件设备的购置、安装系统安装主要是指对各种软、硬件设备的购置、安装以及整个系统调试运行以及整个系统调试运行n选择供应商的标准是:实力雄厚、信誉可靠、质优选择供应商的标准是:实力雄厚、信誉可靠、质优价低、售后服务好价低、售后服务好6.1 物理系统的实施物理系统的实施第十一页,本课件共有149页6.1.2 选择安装地点的思路选择安装地点的思路 n考虑系统对电缆、电话或数据通讯服务、工考虑系统对电缆、电话或数据通讯
7、服务、工作空间和存储、噪音和通讯条件及交通情况作空间和存储、噪音和通讯条件及交通情况的要求的要求n例如,使用专门的地板,让电缆通过地板孔道,例如,使用专门的地板,让电缆通过地板孔道,连接中央处理机及各设备,保证安全;提供不中连接中央处理机及各设备,保证安全;提供不中断电源,以免丢失数据断电源,以免丢失数据6.1 物理系统的实施物理系统的实施第十二页,本课件共有149页 编程(编程(Coding)就是为系统各个模块编写程序。)就是为系统各个模块编写程序。根据结构化方法设计了详细方案,又有了高级语言,根据结构化方法设计了详细方案,又有了高级语言,初级程序员都可以参加这一阶段的工作。初级程序员都可以
8、参加这一阶段的工作。6.2 程序设计程序设计 第十三页,本课件共有149页 可维护性可维护性 由于信息系统需求的不确定性,系统需求可能会随由于信息系统需求的不确定性,系统需求可能会随着环境的变化而不断变化,因此,就必须对系统功能进着环境的变化而不断变化,因此,就必须对系统功能进行完善和调整,为此,就要对程序进行补充或修改。此行完善和调整,为此,就要对程序进行补充或修改。此外,由于计算机软硬件的更新换代也需要对程序进行相外,由于计算机软硬件的更新换代也需要对程序进行相应的升级。应的升级。程序设计的目标程序设计的目标第十四页,本课件共有149页 可靠性可靠性:程序应具有较好的容错能力。:程序应具有
9、较好的容错能力。正常情况下能正确工作。正常情况下能正确工作。意外情况下应便于处理,不至产生意外的操作,从而意外情况下应便于处理,不至产生意外的操作,从而造成严重损失。造成严重损失。可理解性:可理解性:程序不仅要求逻辑正确,计算机能够执程序不仅要求逻辑正确,计算机能够执行,而且应当层次清楚,便于阅读。行,而且应当层次清楚,便于阅读。程序设计的目标程序设计的目标第十五页,本课件共有149页 效率:效率:程序能否有效地利用计算机资源程序能否有效地利用计算机资源 程序效率的地位:程序效率的地位:已不像以前那样举足轻重了,因为已不像以前那样举足轻重了,因为硬件价格大幅度下降,而其性能却不断完善和提高。硬
10、件价格大幅度下降,而其性能却不断完善和提高。程序设计人员工作效率的地位日益重要。不仅能降低程序设计人员工作效率的地位日益重要。不仅能降低软件开发成本;而且可明显降低程序的出错率,进而减软件开发成本;而且可明显降低程序的出错率,进而减轻维护人员的工作负担。为了提高程序设计效率,应充轻维护人员的工作负担。为了提高程序设计效率,应充分利用各种软件开发工具。分利用各种软件开发工具。程序设计的目标程序设计的目标第十六页,本课件共有149页在过去的小程序设计中,主要强调程序的正确和效率。在过去的小程序设计中,主要强调程序的正确和效率。对于大型程序,人们则倾向于首先强调程序的可维对于大型程序,人们则倾向于首
11、先强调程序的可维护性、可靠性和可理解性,然后才是效率。护性、可靠性和可理解性,然后才是效率。注意程序效率、可维护性、可理解性三者之间的关系程序效率、可维护性、可理解性三者之间的关系第十七页,本课件共有149页程序设计的基本要求程序设计的基本要求n程序的功能必须按照规定的要求,正确地满足预期的需要程序的功能必须按照规定的要求,正确地满足预期的需要n程序内容清晰、明了、便于阅读和理解程序内容清晰、明了、便于阅读和理解n程序结构严谨、简捷、算法和语句选用合理,执行程序结构严谨、简捷、算法和语句选用合理,执行速度快,节省机时速度快,节省机时n程序和数据的存储、调用安排得当,节省存储空间程序和数据的存储
12、、调用安排得当,节省存储空间n程序适应性强。程序交付使用后,若应用问题或外界环境有程序适应性强。程序交付使用后,若应用问题或外界环境有了变化时,调整和修改程序比较简便易行了变化时,调整和修改程序比较简便易行6.2 程序设计程序设计 第十八页,本课件共有149页6.2 程序设计程序设计1.程序设计的任务程序设计的任务 根根据据系系统统设设计计说说明明书书中中关关于于模模块块的的详详细细描描述述和和处处理理过过程程的的描描述述,选选择择合合适适的的计计算机语言来编制程序的工作。算机语言来编制程序的工作。第十九页,本课件共有149页6.2 程序设计程序设计程序设计的方法程序设计的方法n结构化程序设计
13、方法结构化程序设计方法程序设计就是处理过程的设计程序设计就是处理过程的设计n面向对象程序设计方法面向对象程序设计方法程序设计主要指对象的设计程序设计主要指对象的设计n可视化编程工具或开发环境可视化编程工具或开发环境 第二十页,本课件共有149页结构化程序设计结构化程序设计结构化程序设计包括以下四方面的内容:结构化程序设计包括以下四方面的内容:(1)(1)限制使用限制使用GOTOGOTO语句语句 只只用用顺顺序序结结构构、选选择择结结构构、循循环环结结构构这这三三种种基基本本结结构构就就能能表表达达任任何何一一个个只只有有一一个个入入口口和和一一个个出出口口的的程程序序逻逻辑辑。为为实实际际使使
14、用用方方便便,往往往往允允许许增增加加多多分分支支结结构构、REPEATREPEAT型型循循环环等等两两三三种结构。程序中可以完全不用种结构。程序中可以完全不用GOTOGOTO语句。语句。(2)(2)逐步求精的设计方法逐步求精的设计方法 在在一一个个程程序序模模块块内内,先先从从该该模模块块功功能能描描述述出出发发,一一层层层层地地逐步细化,直到最后分解、细化成语句为止。逐步细化,直到最后分解、细化成语句为止。第二十一页,本课件共有149页结构化程序设计结构化程序设计(3)(3)自顶向下的设计、编码和调试自顶向下的设计、编码和调试这这是是把把逐逐步步求求精精的的方方法法由由程程序序模模块块内内
15、的的设设计计推推广广到到一一个个系统的设计与实现。系统的设计与实现。(4)(4)主程序员制的组织形式主程序员制的组织形式 这这是是程程序序人人员员的的组组织织形形式式。程程序序资资料料员员(或或秘秘书书)一一人人。其其他他技技术术人人员员按按需需要要随随时时加加入入组组内内。主主程程序序员员负负责责整体项目的开发,并负责关键部分的设计、编码和调试。整体项目的开发,并负责关键部分的设计、编码和调试。第二十二页,本课件共有149页结构化程序设计结构化程序设计作作为为这这种种组组织织形形式式中中的的一一个个程程序序员员,为为使使自自己己的的工工作作融融人人整整个个系统,与组内其他成员协调致地工作。必
16、须严格遵守:系统,与组内其他成员协调致地工作。必须严格遵守:不使用可能干扰其他模块的命令或函数;不使用可能干扰其他模块的命令或函数;按总体设计的要求传递参数,不随意修改其内容与含义;按总体设计的要求传递参数,不随意修改其内容与含义;按规定的统一格式操作公用文件或数据库;按规定的统一格式操作公用文件或数据库;按统一的原则使用标识符;按统一的原则使用标识符;按统一要求编写文档;按统一要求编写文档;保持程序风格的一致。保持程序风格的一致。第二十三页,本课件共有149页面向对象的程序设计面向对象的程序设计 面向对象程序设计面向对象程序设计在在OOPOOP方方法法中中,一一个个对对象象即即是是一一个个独
17、独立立存存在在的的实实体体,对对象象有有各各自的属性和行为,彼此以消息进行通信。自的属性和行为,彼此以消息进行通信。对对象象的的属属性性只只能能通通过过自自己己的的行行为为来来改改变变,实实现现了了数数据据封封装装,这这便便是是对象的封装性。对象的封装性。而而相相关关对对象象在在进进行行合合并并分分类类后后,有有可可能能出出现现共共享享某某些些性性质质,通通过过抽抽象象后后使使多多种种相相关关对对象象表表现现为为一一定定的的组组织织层层次次,底底层层次次的的对对象象继继承承其其高高层层次对象的特性,这便是对象的继承性。次对象的特性,这便是对象的继承性。另另外外,对对象象的的某某一一种种操操作作
18、在在不不同同的的条条件件环环境境下下可可以以实实现现不不同同的的处处理,产生不同的结果,这就是对象的多态性。理,产生不同的结果,这就是对象的多态性。第二十四页,本课件共有149页可视化编程技术可视化编程技术 n主要思想:主要思想:用用图图形形工工具具和和可可重重用用部部件件来来交交互互地地编编制制程程序序。它它把把现现有有的的或或新新建建的的模模块块代代码码封封装装于于标标准准接接口口封封包包中中,作作为为可可视视化化编编程程编编辑辑工具中的一个对象,用图符来表示和控制。工具中的一个对象,用图符来表示和控制。n可视化编程可视化编程一般基于事件驱动的原理。一般基于事件驱动的原理。n面面向向对对象
19、象编编程程技技术术和和可可视视化化编编程程开开发发环环境境的的结结合合,改改变变了了应应用用软软件件只只有有经经过过专专门门技技术术训训练练的的专专业业编编程程人人员员才才能能开开发发的的状状况况。它它使使软软件件开开发发变变得得容容易易,由由于于大大量量软软件件模模块块的的重重用用和和可可视视控控件件的的引引入入,技技术术人人员员在在掌掌握握这这些些技技术术之之后后,就就能能有有效效地地提提高高应应用用软软件件的的开开发发效效率率,缩缩短短开开发发周周期期,降降低低了了开开发发成成本本,并并且且使使应应用软件界面风格统一,有很好的易用性。用软件界面风格统一,有很好的易用性。第二十五页,本课件
20、共有149页程序的内部文档程序的内部文档 程程序序的的“内内部部文文档档”,指指程程序序内内部部带带有有的的说说明明材材料料,用用注注释释语语句句书书写写。程程序序适适当当加加注注释释后后,阅阅读读时时就就不不必必再再看看其其他他说说明明材材料料了了。因因此此,这这是是提提高高程程序序可可阅阅读读性性的的有有力力手手段段。注注释释可可以以出出现现在在程程序序的的任任何何位位置置,但但要要与与程程序序结结构构配配合合起起来,效果才好。来,效果才好。注意以下几点:注意以下几点:(1)(1)注释必须与程序一致注释必须与程序一致 (2)(2)注注释释不不是是重重复复程程序序语语句句,而而应应提提供供从
21、从程程序序本本身身难难以以得得到到的的信息。信息。(3)(3)对程序段作注释,而不是对每个语句作注释。对程序段作注释,而不是对每个语句作注释。第二十六页,本课件共有149页程序错误的分类程序错误的分类 n语法错误语法错误n程序设计人员对程序设计语言的理解不够,或程序程序设计人员对程序设计语言的理解不够,或程序设计基本功不扎实造成的结果。设计基本功不扎实造成的结果。n逻辑错误逻辑错误n指那些虽然不违反系统规则,但是却不合逻辑或不合题目指那些虽然不违反系统规则,但是却不合逻辑或不合题目语义的错误。语义的错误。第二十七页,本课件共有149页程序设计语言的选择程序设计语言的选择n语言的结构化机制与数据
22、管理能力语言的结构化机制与数据管理能力n选用高级语言应该有理想的模块化机制、可读性好的控制选用高级语言应该有理想的模块化机制、可读性好的控制结构和数据结构,同时具备较强的数据管理能力结构和数据结构,同时具备较强的数据管理能力n语言可提供的交互功能语言可提供的交互功能n有较丰富的软件工具有较丰富的软件工具n开发人员的熟练程度开发人员的熟练程度n软件可移植性要求软件可移植性要求n系统用户的要求系统用户的要求6.2 程序设计程序设计 第二十八页,本课件共有149页6.2 程序设计程序设计软件开发工具软件开发工具n编程语言类编程语言类n数据库类数据库类n可视化编程类可视化编程类n专业系统类专业系统类n
23、客户客户/服务器类服务器类电子表格软件开发工具电子表格软件开发工具 数据库管理系统提供的开发工具数据库管理系统提供的开发工具 套装软件工具套装软件工具 可视化图形界面编程工具可视化图形界面编程工具 MS Visual Foxpro MS Visual BASlC PowerBuilder:例如:例如:第二十九页,本课件共有149页6.3.1 软件测试 测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。狭义上讲,测试是对软件产品质量的检验和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。测试的目的:n软件测试是以最少的时间和人力,系统地找出
24、软件中潜在的各种错误和缺陷n为了发现错误而执行程序的过程;n测试是为了证明程序有错,而不是证明程序没有错误;n一个成功的测试是发现了至今未发现的错误的测试。整个生命周期不同阶段可能的测试活动和测试技术整个生命周期不同阶段可能的测试活动和测试技术:6.3 软件测试与调试软件测试与调试 第三十页,本课件共有149页1.软件测试的特征软件测试的特征n挑剔性挑剔性n复杂性复杂性n不彻底性不彻底性n经济性经济性6.3.1 软件测试软件测试第三十一页,本课件共有149页6.3.1 软件测试软件测试2.测试基本原则测试基本原则n测试队伍的建立测试队伍的建立n测试用例的设计测试用例的设计n测试数据的选择测试数
25、据的选择n测试功能的确定测试功能的确定n测试文档的管理测试文档的管理第三十二页,本课件共有149页6.3.1 软件测试软件测试3.测试文档测试文档n测试计划测试计划n测试项目的名称、目的、步骤、进度、测试用例测试项目的名称、目的、步骤、进度、测试用例n测试用例测试用例=测试数据测试数据+期望结果期望结果n测试报告测试报告n测试项目的名称、实测结果与期望结果的比较、发现的问题、测试达测试项目的名称、实测结果与期望结果的比较、发现的问题、测试达到的效果到的效果n测试结果测试结果=测试数据测试数据+期望结果期望结果+实际结果实际结果第三十三页,本课件共有149页6.3.1 软件测试软件测试4.测试步
26、骤测试步骤n模块测试模块测试n是在每个单独的模块中进行,包括模块界面、是在每个单独的模块中进行,包括模块界面、内部数据结构、独立路径错误处理和边界条件内部数据结构、独立路径错误处理和边界条件等项目等项目n集成测试集成测试n将各模块集中,形成一个完整的软件,对该软将各模块集中,形成一个完整的软件,对该软件进行测试件进行测试第三十四页,本课件共有149页6.3.1 软件测试软件测试n系统测试系统测试n将被测软件放在系统环境中进行测试将被测软件放在系统环境中进行测试n验收测试验收测试n用户参与的测试,对系统的最后确认用户参与的测试,对系统的最后确认第三十五页,本课件共有149页测试种类测试种类1 1
27、)静态测试:目的是通过对程序静态结构的检查,找出编译时)静态测试:目的是通过对程序静态结构的检查,找出编译时不能发现的错误。不能发现的错误。n静态分析器分析(自动方式)静态分析器分析(自动方式)n代码评审(人工方式):代码会审、走查、办公桌检代码评审(人工方式):代码会审、走查、办公桌检查查2 2)动态测试:是把事先设计好的测试用例作用于被测程)动态测试:是把事先设计好的测试用例作用于被测程序,比较测试结果和预期的结果是否一致,如果不一致,序,比较测试结果和预期的结果是否一致,如果不一致,则说明被测程序可能存在错误。则说明被测程序可能存在错误。n黑盒测试黑盒测试n白盒测试白盒测试 6.3.1
28、软件测试软件测试通过运行软件来检验软件的动态行为和运行通过运行软件来检验软件的动态行为和运行结果的正确性结果的正确性约可找出约可找出3070%的逻辑设计错误的逻辑设计错误 基本特征是在对软件进行分析、检查和测基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件试,不实际运行被测试的软件约可找出约可找出3070%的逻辑设计错误的逻辑设计错误 第三十六页,本课件共有149页 代码会审是由一组人通过阅读、讨论和争议对程序进行代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。会审小组由组长、静态分析的过程。会审小组由组长、23名程序设计和测试名程序设计和测试人员及程序员组成。会
29、审小组在充分阅读待审程序文本、控制人员及程序员组成。会审小组在充分阅读待审程序文本、控制流程图及有关要求、规范等文件基础上,召开代码会审会,程流程图及有关要求、规范等文件基础上,召开代码会审会,程序员逐句讲解程序的逻辑,并展开热烈的讨论甚至争议,以揭序员逐句讲解程序的逻辑,并展开热烈的讨论甚至争议,以揭示错误的关键所在。示错误的关键所在。需要注意两点:需要注意两点:n一是在代码审查时,必须要检查被测软件是否通过编译,一是在代码审查时,必须要检查被测软件是否通过编译,只有正确了之后才进行代码会审;只有正确了之后才进行代码会审;n二是一定要保证有足够的时间让测试小组对问题进行充二是一定要保证有足够
30、的时间让测试小组对问题进行充分的讨论,只有这样才能有效地提高测试效率,避免走分的讨论,只有这样才能有效地提高测试效率,避免走弯路。弯路。6.3.1 软件测试软件测试第三十七页,本课件共有149页n白盒测试时,测试者清楚被测试程序的内部结构。它从程序白盒测试时,测试者清楚被测试程序的内部结构。它从程序的逻辑结构人手,按照一定的原则来设计测试用例,设定测的逻辑结构人手,按照一定的原则来设计测试用例,设定测试数据。试数据。n黑盒测试时,测试者把被测程序看成一个黑盒,完全用不着关心黑盒测试时,测试者把被测程序看成一个黑盒,完全用不着关心程序的内部结构。设计测试用例时,仅以程序的外部功能为根据。程序的内
31、部结构。设计测试用例时,仅以程序的外部功能为根据。n测试中标常见病错误种类测试中标常见病错误种类:n功能功能 错误错误n系统错误系统错误n过程错误过程错误n编码错误编码错误6.3.1 软件测试软件测试第三十八页,本课件共有149页测试用例:为达到最佳的测试效果或高效的揭露隐藏的错误而精心测试用例:为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。设计的少量测试数据,称之为测试用例。测试用例可以被定义为如下测试用例可以被定义为如下6元组:元组:n测试索引测试索引n测试环境测试环境n测试输入测试输入n测试操作测试操作n预期结果预期结果n评价标准评价标准n兼顾合理的
32、输入和兼顾合理的输入和不合理不合理的输入数据的输入数据n不仅检查程序是否实现预期功能,还不仅检查程序是否实现预期功能,还应检查程序是否作了不该做应检查程序是否作了不该做的事的事 6.3.1 软件测试软件测试第三十九页,本课件共有149页测试用例的用途:测试用例的用途:n在开始实施测试之前设计好测试用例,可以避免在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用令软盲目测试并提高测试效率。测试用例的使用令软件测试的实施重点突出、目的明确。件测试的实施重点突出、目的明确。n在软件版本更新后只需修正少部分的测试用例便在软件版本更新后只需修正少部分的测试用例便可展开测试工
33、作,降低工作强度、缩短项目周期。可展开测试工作,降低工作强度、缩短项目周期。n功能模块的通用化和复用化使软件易于开发,而功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。精化其效率也不断攀升。6.3.1 软件测试软件测试第四十页,本课件共有149页 白盒测试方案时,测试者必须检查程序的内部结白盒测试方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,对所有逻辑路径进行构,从检查程序的逻辑着手,对所有逻辑路径
34、进行测试,得出测试数据。测试,得出测试数据。白盒测试的主要方法白盒测试的主要方法:逻辑驱动、路径测试等,逻辑驱动、路径测试等,主要用于软件验证,检验语法错误、编译错误、性主要用于软件验证,检验语法错误、编译错误、性能问题、逻辑问题、判定条件问题、编程规范等。能问题、逻辑问题、判定条件问题、编程规范等。白盒测试白盒测试第四十一页,本课件共有149页白盒测试n 优点优点知道所设计的测试知道所设计的测试用例在代码级上哪用例在代码级上哪些地方被忽略掉些地方被忽略掉 帮助软件测试人员帮助软件测试人员增大代码的覆盖增大代码的覆盖率,提高代码的质率,提高代码的质量,发现代码中隐量,发现代码中隐藏的问题藏的问
35、题 白盒测试白盒测试第四十二页,本课件共有149页白盒测试n 缺点缺点 程序运行会有很多不同路径,程序运行会有很多不同路径,不可能测试所有运行路径;不可能测试所有运行路径;测试基于代码,只能测试开发人员做的测试基于代码,只能测试开发人员做的 对不对,而不能知道设计的正确与否,对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。系统庞大时,测试开销会非常大。123 白盒测试白盒测试第四十三页,本课件共有149页白盒测试白盒测试 测试用例的设计测试用例的设计n语句覆盖法语句覆盖法测试测试用例用例覆盖覆盖路径路径A=2B=0X=3aceA1
36、ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcdea ac ce第四十四页,本课件共有149页白盒测试白盒测试n判断覆盖法判断覆盖法序号测试用例覆盖路径12A=3B=0X=1acdA=2B=1X=3abeA1ANDA1ANDB=0B=0X=X/AX=X/AA=2OR A=2OR X1X1X=X+1X=X+1是是a是是否否bcdeac cd da ab be第四十五页,本课件共有149页白盒测试白盒测试n条件覆盖法条件覆盖法A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde判断条件判断条件取值取值A1A1TFB=0B0TFA=2A2TFX1X1TF第四
37、十六页,本课件共有149页白盒测试白盒测试条件条件判断条件判断条件取值取值条件记为条件记为条件条件1A1A1TFT1F1条件条件2B=0B0TFT2F2条件条件3A=2A2TFT3F3条件条件4X1X1TFT4F4条条条条件件件件一一条条条条件件件件二二二二第四十七页,本课件共有149页设计的测试用例子设计的测试用例子序号序号测试用例测试用例覆盖路径覆盖路径条件记为条件记为1A=2 B=0X=4aceT1 T2 T3 T42A=1 B=1X=1abdF1 F2 F3 F43A=2 B=0X=1acdT1 T2 T3 F44A=1 B=1X=2abeF1 F2 F3 T4白盒测试白盒测试设设计计
38、测测试试用用例例第四十八页,本课件共有149页白盒测试白盒测试n条件组合覆盖法条件组合覆盖法A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第一判断式第一判断式1A1B=03A1B=02A1B04A1B0第二判断式第二判断式5A=2X17A2 X16A=2X18A2 X1第四十九页,本课件共有149页设计的测试用例设计的测试用例序号序号测试用例测试用例覆盖路径覆盖路径覆盖条件组合覆盖条件组合1A=2 B=0X=4ace1,52A=2 B=1X=1abd2,63A=1 B=0X=2abe3,74A=1 B=1X=1abd4,8设设计计的的测测试试用用例例白盒测试白盒测试
39、第五十页,本课件共有149页白盒测试白盒测试n路径覆盖法路径覆盖法abdaceabeacdA=1 B=1 X=1A=1 B=1 X=2A=3 B=0 X=1A=2 B=0 X=4A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第五十一页,本课件共有149页n黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。它只检查程序功功能,通过测试来检测每个功能是否都能正常使用。它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收能是否按照需求规
40、格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。件)的完整性。n黑盒测试发现的错误类型有:功能不对或遗漏、界面错误、数据结构黑盒测试发现的错误类型有:功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止错误等。或外部数据库访问错误、性能错误、初始化和终止错误等。n黑盒测试方法主要有等价类划分、边界值分析、因黑盒测试方法主要有等价类划分、边界值分析、因果图、错误果图、错误推测等,主要用于软件确认测试。推测等,主要用于软件确认测试。“黑盒黑盒”
41、法是穷举输入测试,只法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。程序中所有的错误。黑盒测试黑盒测试第五十二页,本课件共有149页黑盒测试黑盒测试n 优点优点黑盒测试的优点黑盒测试的优点比较简单,不需要了解程序比较简单,不需要了解程序内部的代码及实现内部的代码及实现 与软件的内部实现无关与软件的内部实现无关 从用户角度出发,从用户角度出发,能很容易的知道用户会用到能很容易的知道用户会用到哪些功能,会遇到哪些问题哪些功能,会遇到哪些问题 基于软件开发文基于软件开发文档,所以也能知道软件实现档,
42、所以也能知道软件实现了文档中的哪些功能了文档中的哪些功能 黑盒测试黑盒测试第五十三页,本课件共有149页黑盒测试n 缺点缺点不可能覆盖所有的代不可能覆盖所有的代码,覆盖率较低。码,覆盖率较低。自动化测试的复用性自动化测试的复用性较低。较低。黑盒测试黑盒测试第五十四页,本课件共有149页黑盒测试黑盒测试n等价类划分等价类划分n等价类划分法的基本思想:是将所有可能的输等价类划分法的基本思想:是将所有可能的输入数据入数据(有效的和无效的有效的和无效的)划分成若干个等价的划分成若干个等价的子集子集(称为等价类称为等价类),使得每个子集中的一个使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它
43、典型值在测试中的作用与这一子集中所有其它值的作用相同值的作用相同.可从每个子集中选取一组数据可从每个子集中选取一组数据来测试程序来测试程序第五十五页,本课件共有149页等价类划分等价类划分n等价类划分有两种情况等价类划分有两种情况n合理等价类:测试模块是否实现了规定的功合理等价类:测试模块是否实现了规定的功能和性能能和性能n不合理等价类:测试模块是否能够拒绝无效不合理等价类:测试模块是否能够拒绝无效输入,被测试对象在运行条件错误时的可靠输入,被测试对象在运行条件错误时的可靠性如何性如何第五十六页,本课件共有149页等价类划分等价类划分n划分等价类规则划分等价类规则n如果输入条件代表一个范围,可
44、定义一个有效如果输入条件代表一个范围,可定义一个有效等价类和两个无效等价类等价类和两个无效等价类 例如例如,输入条件规定:,输入条件规定:项数可从项数可从1 1到到999999 1 9991 999 有效有效等价类等价类 无效无效等价类等价类 999 999 无效无效等价类等价类 11165.251165.25元元的测试用例。的测试用例。(如如:-0.01-0.01元和元和1165.261165.26元元)第七十二页,本课件共有149页边界值测试边界值测试设计测试用例原则设计测试用例原则n如输入条件代表一组值,测试用例应当执行其中如输入条件代表一组值,测试用例应当执行其中的最大值和最小值,还应
45、测试略大于最大值和略的最大值和最小值,还应测试略大于最大值和略小于最小值的值小于最小值的值第七十三页,本课件共有149页边界值测试边界值测试设计测试用例设计测试用例举例举例例:例:邮件收费规定邮件收费规定 15 kg收费收费2元元则:则:应设计测试用例应设计测试用例:0.9,1,5,5.1 kg 或或 0.99,1,5,5.01 kg例:例:一个数据库表可有一个数据库表可有1255个记录个记录则:则:应设计测试用例应设计测试用例:1个、个、255个、个、0个、个、256个记录个记录第七十四页,本课件共有149页边界值测试设计测试用例原则边界值测试设计测试用例原则n如程序数据结构有预定的边界,应
46、测试其边界的数据如程序数据结构有预定的边界,应测试其边界的数据项项n如输出条件规定了取值范围,如输出条件规定了取值范围,取边界上下浮动值做测取边界上下浮动值做测试用例试用例第七十五页,本课件共有149页黑盒法黑盒法n错误推测测试错误推测测试n基本思想:列举出程序中可能有错和容易出错基本思想:列举出程序中可能有错和容易出错的情况,并且根据它们选择测试方案的情况,并且根据它们选择测试方案n如对一个数据库表进行操作,需要特别检查的如对一个数据库表进行操作,需要特别检查的情况有:表为空、表中只有一个记录情况有:表为空、表中只有一个记录第七十六页,本课件共有149页综合策略综合策略n黑盒法为主、白盒法为
47、辅黑盒法为主、白盒法为辅n任何情况下任何情况下都应该使用边界值测试设计测试都应该使用边界值测试设计测试用例用例n必要时必要时采用等价分类法补充用例采用等价分类法补充用例n必要时再必要时再用错误推测法补充用例用错误推测法补充用例n对照程序逻辑,检查设计用例的逻辑覆盖标对照程序逻辑,检查设计用例的逻辑覆盖标准。根据程序可靠性要求,补充用例使之达准。根据程序可靠性要求,补充用例使之达到规定的覆盖标准到规定的覆盖标准第七十七页,本课件共有149页黑盒测试黑盒测试n练习练习n程序程序TRITRI读入三个整数值,这三个整数代读入三个整数值,这三个整数代表同一个三角形三条边的长度,程序根表同一个三角形三条边
48、的长度,程序根据这三个值判断三角形属于等腰、等边、据这三个值判断三角形属于等腰、等边、还是一般三角形。还是一般三角形。使用黑盒方法设计测试用例使用黑盒方法设计测试用例第七十八页,本课件共有149页黑盒测试黑盒测试n要测试的情况要测试的情况n 正常的不等边三角形正常的不等边三角形 正常的等边三角形正常的等边三角形n 正常的等腰三角形正常的等腰三角形 三条边不构成三角形三条边不构成三角形n 一条边的长度为一条边的长度为 两条边的长度为两条边的长度为n 三条边全为三条边全为 输入数据中包含负整数输入数据中包含负整数n 输入数据不全输入数据不全n 输入数据中包含非整数型数据输入数据中包含非整数型数据第
49、七十九页,本课件共有149页第八十页,本课件共有149页2.软件测试基本原则软件测试基本原则n 严格按照测试计划来测试严格按照测试计划来测试n 尽早并不断地进行测试尽早并不断地进行测试n 程序员应尽可能避免检查自己的程序程序员应尽可能避免检查自己的程序n 测试用例应当兼顾合理的输入条件和不合理的输入条件测试用例应当兼顾合理的输入条件和不合理的输入条件n 测试用例应包括输入数据和预期的输出结果两部分测试用例应包括输入数据和预期的输出结果两部分n 测试用例应当兼顾有用功能和无用功能测试用例应当兼顾有用功能和无用功能n 全面检查每个测试结果全面检查每个测试结果,保留测试保留测试 用例用例n 充分注意
50、测试中的集群现象充分注意测试中的集群现象n 注意回归测试的关联性注意回归测试的关联性 n 注意遵守注意遵守“经济性经济性”原则原则 6.3.1 软件测试软件测试第八十一页,本课件共有149页3.软件测试步骤 6.3.1 软件测试软件测试第八十二页,本课件共有149页规范化的测试过程与内容包括如下内容:规范化的测试过程与内容包括如下内容:n拟定测试计划:测试的内容、进度安排、测试所需的环境和条拟定测试计划:测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。件、测试培训安排等。n编制测试大纲:明确详细地规定了在测试中针对系统的每一项功能编制测试大纲:明确详细地规定了在测试中针对系统的每一