第六章管理信息系统的实施_第1页
第六章管理信息系统的实施_第2页
第六章管理信息系统的实施_第3页
第六章管理信息系统的实施_第4页
第六章管理信息系统的实施_第5页
已阅读5页,还剩144页未读 继续免费阅读

下载本文档

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

文档简介

1、第1 1页页第2 2页页 系统实施的任务是实现系统设计阶段提出的系统实施的任务是实现系统设计阶段提出的物理模型,按实施方案完成一个可以实际运物理模型,按实施方案完成一个可以实际运行的信息系统,交付用户使用。行的信息系统,交付用户使用。q理解系统实施的工作内容;理解系统实施的工作内容;q了解软件测试的概念和方法;了解软件测试的概念和方法;q掌握系统转换的方式。掌握系统转换的方式。本章学习目标本章学习目标第3 3页页第六章第六章 管理信息系统的实施管理信息系统的实施6.1 物理系统的实施物理系统的实施 6.2 程序设计程序设计 6.3 软件测试与调试软件测试与调试 6.4 人员培训人员培训6.5

2、系统转换系统转换第4 4页页第六章 管理信息系统的实施 系统实施概述系统实施概述 系统实施的任务系统实施的任务n系统实施的任务是以系统设计方案为依据,系统实施的任务是以系统设计方案为依据,按照系统实施方案进行具体的实现,最终按照系统实施方案进行具体的实现,最终组建出一个能够实际运行的系统,交付用组建出一个能够实际运行的系统,交付用户使用。户使用。n具体任务包括:硬件准备、软件准备、人具体任务包括:硬件准备、软件准备、人员培训、数据准备员培训、数据准备第5 5页页1 1、硬件准备、硬件准备 硬件准备包括计算机主机、输入输出设备、存储设备、硬件准备包括计算机主机、输入输出设备、存储设备、辅助设备(

3、稳压电源、空调设备)、通信设备等。辅助设备(稳压电源、空调设备)、通信设备等。2 2、软件准备、软件准备 软件包括系统软件、数据库管理系统以及一些应用软件包括系统软件、数据库管理系统以及一些应用软件。软件。第六章 管理信息系统的实施第6 6页页3 3、人员培训、人员培训 主要指用户培训,包括主管人员和业务人员。主要指用户培训,包括主管人员和业务人员。4 4、数据准备、数据准备 没有一定的基础数据的准备,系统调试就不能很没有一定的基础数据的准备,系统调试就不能很好的进行。好的进行。第六章第六章 管理信息系统的实施管理信息系统的实施第7 7页页系统实施的工作流程系统实施的工作流程第8 8页页第六章

4、第六章 管理信息系统实施管理信息系统实施 系统实施的特点系统实施的特点p工作量大工作量大p投入人力、物力多投入人力、物力多p组织管理工作繁重组织管理工作繁重第9 9页页第六章第六章 管理信息系统实施管理信息系统实施 系统实施的方法系统实施的方法p划分版本的基本原则划分版本的基本原则p确定版本的规模确定版本的规模p实现复杂模块的方法实现复杂模块的方法p安排实现模块的顺序安排实现模块的顺序第1010页页自顶向下的实现方法自顶向下的实现方法版本的划分需要考虑以下几个方面:版本的划分需要考虑以下几个方面:(1)先实现控制部分,后实现执行部分,先上层先实现控制部分,后实现执行部分,先上层后下层。后下层。

5、 (2) 根据开发力量、设备、培训等方面的情况确根据开发力量、设备、培训等方面的情况确定每个版本实现多少模块、实现哪些模块。定每个版本实现多少模块、实现哪些模块。(3)复杂的模块分散在几个版本中逐步实现。复杂的模块分散在几个版本中逐步实现。(4)兼顾功能模块和数据库的实现。兼顾功能模块和数据库的实现。(5)兼顾硬件、软件、人员培训方面的情况。兼顾硬件、软件、人员培训方面的情况。 第1111页页 MIS物理系统的实施是计算机系统和通信网物理系统的实施是计算机系统和通信网络系统设备的订购、机房的准备和设备的安装络系统设备的订购、机房的准备和设备的安装调试等一系列活动。调试等一系列活动。6.1.1

6、选择供应商的标准选择供应商的标准n系统安装主要是指对各种软、硬件设备的购置、安系统安装主要是指对各种软、硬件设备的购置、安装以及整个系统调试运行装以及整个系统调试运行n选择供应商的标准是:实力雄厚、信誉可靠、质优选择供应商的标准是:实力雄厚、信誉可靠、质优价低、售后服务好价低、售后服务好6.1 物理系统的实施物理系统的实施第1212页页6.1.2 选择安装地点的思路选择安装地点的思路 n考虑系统对电缆、电话或数据通讯服务、考虑系统对电缆、电话或数据通讯服务、工作空间和存储、噪音和通讯条件及交通工作空间和存储、噪音和通讯条件及交通情况的要求情况的要求n例如,使用专门的地板,让电缆通过地板例如,使

7、用专门的地板,让电缆通过地板孔道,连接中央处理机及各设备,保证安孔道,连接中央处理机及各设备,保证安全;提供不中断电源,以免丢失数据全;提供不中断电源,以免丢失数据6.1 物理系统的实施物理系统的实施第1313页页 编程(编程(Coding)就是为系统各个模块编)就是为系统各个模块编写程序。根据结构化方法设计了详细方案,又写程序。根据结构化方法设计了详细方案,又有了高级语言,初级程序员都可以参加这一阶有了高级语言,初级程序员都可以参加这一阶段的工作。段的工作。6.2 程序设计程序设计 第1414页页 可维护性可维护性 由于信息系统需求的不确定性,系统需求可能会随由于信息系统需求的不确定性,系统

8、需求可能会随着环境的变化而不断变化,因此,就必须对系统功能进着环境的变化而不断变化,因此,就必须对系统功能进行完善和调整,为此,就要对程序进行补充或修改。此行完善和调整,为此,就要对程序进行补充或修改。此外,由于计算机软硬件的更新换代也需要对程序进行相外,由于计算机软硬件的更新换代也需要对程序进行相应的升级。应的升级。 程序设计的目标程序设计的目标第1515页页 可靠性可靠性:程序应具有较好的容错能力。:程序应具有较好的容错能力。 正常情况下能正确工作。正常情况下能正确工作。 意外情况下应便于处理,不至产生意外的操作,意外情况下应便于处理,不至产生意外的操作,从而造成严重损失。从而造成严重损失

9、。 可理解性:可理解性:程序不仅要求逻辑正确,计算机能程序不仅要求逻辑正确,计算机能够执行,而且应当层次清楚,便于阅读。够执行,而且应当层次清楚,便于阅读。 程序设计的目标程序设计的目标第1616页页 效率:效率: 程序能否有效地利用计算机资源程序能否有效地利用计算机资源 程序效率的地位:程序效率的地位: 已不像以前那样举足轻重了,因为已不像以前那样举足轻重了,因为硬件价格大幅度下降,而其性能却不断完善和提高。硬件价格大幅度下降,而其性能却不断完善和提高。 程序设计人员工作效率的地位日益重要。不仅能降低程序设计人员工作效率的地位日益重要。不仅能降低软件开发成本;而且可明显降低程序的出错率,进而

10、减软件开发成本;而且可明显降低程序的出错率,进而减轻维护人员的工作负担。为了提高程序设计效率,应充轻维护人员的工作负担。为了提高程序设计效率,应充分利用各种软件开发工具。分利用各种软件开发工具。 程序设计的目标程序设计的目标第1717页页在过去的小程序设计中,主要强调程序的正确和在过去的小程序设计中,主要强调程序的正确和效率。效率。对于大型程序,人们则倾向于首先强调程序的可对于大型程序,人们则倾向于首先强调程序的可维护性、可靠性和可理解性,然后才是效率。维护性、可靠性和可理解性,然后才是效率。 注意程序效率、可维护性、可理解性三者之间的关系程序效率、可维护性、可理解性三者之间的关系第1818页

11、页程序设计的基本要求程序设计的基本要求n程序的功能必须按照规定的要求,正确地满足预期程序的功能必须按照规定的要求,正确地满足预期的需要的需要n程序内容清晰、明了、便于阅读和理解程序内容清晰、明了、便于阅读和理解n程序结构严谨、简捷、算法和语句选用合理,执行程序结构严谨、简捷、算法和语句选用合理,执行速度快,节省机时速度快,节省机时n程序和数据的存储、调用安排得当,节省存储空间程序和数据的存储、调用安排得当,节省存储空间n程序适应性强。程序交付使用后,若应用问题或外程序适应性强。程序交付使用后,若应用问题或外界环境有了变化时,调整和修改程序比较简便易行界环境有了变化时,调整和修改程序比较简便易行

12、6.2 程序设计程序设计 第1919页页6.2 程序设计程序设计1. 程序设计的任务程序设计的任务 根据系统设计说明书中关于模块的详根据系统设计说明书中关于模块的详细描述和处理过程的描述,选择合适的计细描述和处理过程的描述,选择合适的计算机语言来编制程序的工作。算机语言来编制程序的工作。第2020页页6.2 程序设计程序设计程序设计的方法程序设计的方法l结构化程序设计方法结构化程序设计方法程序设计就是处理过程的设计程序设计就是处理过程的设计l面向对象程序设计方法面向对象程序设计方法程序设计主要指对象的设计程序设计主要指对象的设计l可视化编程工具或开发环境可视化编程工具或开发环境 第2121页页

13、结构化程序设计结构化程序设计结构化程序设计包括以下四方面的内容:结构化程序设计包括以下四方面的内容: (1)(1)限制使用限制使用GOTOGOTO语句语句 只用顺序结构、选择结构、循环结构这三种基本结构就能只用顺序结构、选择结构、循环结构这三种基本结构就能表达任何一个只有一个入口和一个出口的程序逻辑。为实际表达任何一个只有一个入口和一个出口的程序逻辑。为实际使用方便,往往允许增加多分支结构、使用方便,往往允许增加多分支结构、REPEATREPEAT型循环等两三型循环等两三种结构。程序中可以完全不用种结构。程序中可以完全不用GOTOGOTO语句。语句。 (2)(2)逐步求精的设计方法逐步求精的设

14、计方法 在一个程序模块内,先从该模块功能描述出发,一层层在一个程序模块内,先从该模块功能描述出发,一层层地逐步细化,直到最后分解、细化成语句为止。地逐步细化,直到最后分解、细化成语句为止。第2222页页结构化程序设计结构化程序设计(3)(3)自顶向下的设计、编码和调试自顶向下的设计、编码和调试这是把逐步求精的方法由程序模块内的设计推广到一这是把逐步求精的方法由程序模块内的设计推广到一个系统的设计与实现。个系统的设计与实现。 (4)(4)主程序员制的组织形式主程序员制的组织形式 这是程序人员的组织形式。程序资料员这是程序人员的组织形式。程序资料员( (或秘书或秘书) )一人。其他技术人员按需要随

15、时加入组内。主程序员一人。其他技术人员按需要随时加入组内。主程序员负责整体项目的开发,并负责关键部分的设计、编码负责整体项目的开发,并负责关键部分的设计、编码和调试。和调试。 第2323页页结构化程序设计结构化程序设计作为这种组织形式中的一个程序员,为使自己的工作作为这种组织形式中的一个程序员,为使自己的工作融人整个系统,与组内其他成员协调致地工作。必须严融人整个系统,与组内其他成员协调致地工作。必须严格遵守:格遵守: 不使用可能干扰其他模块的命令或函数;不使用可能干扰其他模块的命令或函数; 按总体设计的要求传递参数,不随意修改其内容与按总体设计的要求传递参数,不随意修改其内容与含义;含义;

16、按规定的统一格式操作公用文件或数据库;按规定的统一格式操作公用文件或数据库; 按统一的原则使用标识符;按统一的原则使用标识符; 按统一要求编写文档;按统一要求编写文档; 保持程序风格的一致。保持程序风格的一致。 第2424页页面向对象的程序设计面向对象的程序设计 面向对象程序设计面向对象程序设计在在OOPOOP方法中,一个对象即是一个独立存在的实体,对象有各方法中,一个对象即是一个独立存在的实体,对象有各自的属性和行为,彼此以消息进行通信。自的属性和行为,彼此以消息进行通信。对象的属性只能通过自己的行为来改变,实现了数据封装,对象的属性只能通过自己的行为来改变,实现了数据封装,这便是对象的封装

17、性。这便是对象的封装性。而相关对象在进行合并分类后,有可能出现共享某些性质,而相关对象在进行合并分类后,有可能出现共享某些性质,通过抽象后使多种相关对象表现为一定的组织层次,底层次通过抽象后使多种相关对象表现为一定的组织层次,底层次的对象继承其高层次对象的特性,这便是对象的继承性。的对象继承其高层次对象的特性,这便是对象的继承性。另外,对象的某一种操作在不同的条件环境下可以实现不同另外,对象的某一种操作在不同的条件环境下可以实现不同的处理,产生不同的结果,这就是对象的多态性。的处理,产生不同的结果,这就是对象的多态性。 第2525页页可视化编程技术可视化编程技术 n主要思想:主要思想:用图形工

18、具和可重用部件来交互地编制程序。它把现有的用图形工具和可重用部件来交互地编制程序。它把现有的或新建的模块代码封装于标准接口封包中,作为可视化编程或新建的模块代码封装于标准接口封包中,作为可视化编程编辑工具中的一个对象,用图符来表示和控制。编辑工具中的一个对象,用图符来表示和控制。n可视化编程可视化编程一般基于事件驱动的原理。一般基于事件驱动的原理。 n面向对象编程技术和可视化编程开发环境的结合,改变了面向对象编程技术和可视化编程开发环境的结合,改变了应用软件只有经过专门技术训练的专业编程人员才能开发的应用软件只有经过专门技术训练的专业编程人员才能开发的状况。它使软件开发变得容易,由于大量软件模

19、块的重用和状况。它使软件开发变得容易,由于大量软件模块的重用和可视控件的引入,技术人员在掌握这些技术之后,就能有效可视控件的引入,技术人员在掌握这些技术之后,就能有效地提高应用软件的开发效率,缩短开发周期,降低了开发成地提高应用软件的开发效率,缩短开发周期,降低了开发成本,并且使应用软件界面风格统一,有很好的易用性。本,并且使应用软件界面风格统一,有很好的易用性。 第2626页页程序的内部文档程序的内部文档 程序的程序的“内部文档内部文档”,指程序内部带有的说明材料,指程序内部带有的说明材料,用注释语句书写。程序适当加注释后,阅读时就不必再用注释语句书写。程序适当加注释后,阅读时就不必再看其他

20、说明材料了。因此,这是提高程序可阅读性的有看其他说明材料了。因此,这是提高程序可阅读性的有力手段。注释可以出现在程序的任何位置,但要与程序力手段。注释可以出现在程序的任何位置,但要与程序结构配合起来,效果才好。结构配合起来,效果才好。注意以下几点:注意以下几点:(1)(1)注释必须与程序一致注释必须与程序一致 (2)(2)注释不是重复程序语句,而应提供从程序本身难以注释不是重复程序语句,而应提供从程序本身难以得到的信息。得到的信息。(3)(3)对程序段作注释,而不是对每个语句作注释。对程序段作注释,而不是对每个语句作注释。 第2727页页程序错误的分类程序错误的分类 n语法错误语法错误n程序设

21、计人员对程序设计语言的理解不够,或程序程序设计人员对程序设计语言的理解不够,或程序设计基本功不扎实造成的结果。设计基本功不扎实造成的结果。n逻辑错误逻辑错误n指那些虽然不违反系统规则,但是却不合逻辑或不指那些虽然不违反系统规则,但是却不合逻辑或不合题目语义的错误。合题目语义的错误。第2828页页程序设计语言的选择程序设计语言的选择n语言的结构化机制与数据管理能力语言的结构化机制与数据管理能力n选用高级语言应该有理想的模块化机制、可读性好的控制选用高级语言应该有理想的模块化机制、可读性好的控制结构和数据结构,同时具备较强的数据管理能力结构和数据结构,同时具备较强的数据管理能力n语言可提供的交互功

22、能语言可提供的交互功能n有较丰富的软件工具有较丰富的软件工具n开发人员的熟练程度开发人员的熟练程度n软件可移植性要求软件可移植性要求n系统用户的要求系统用户的要求6.2 程序设计程序设计 第2929页页6.2 程序设计程序设计软件开发工具软件开发工具p编程语言类编程语言类p数据库类数据库类p可视化编程类可视化编程类p专业系统类专业系统类p客户客户/服务器类服务器类电子表格软件开发工具电子表格软件开发工具 数据库管理系统提供的开发工具数据库管理系统提供的开发工具 套装软件工具套装软件工具 可视化图形界面编程工具可视化图形界面编程工具 MS Visual Foxpro MS Visual BASl

23、C PowerBuilder: 例如:例如:第3030页页6.3.1 软件测试 测试是指软件产品生存周期内所有的检查、评审和确认活动,如设计评审、系统测试。狭义上讲,测试是对软件产品质量的检验和评价,它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。 测试的目的:n软件测试是以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷n为了发现错误而执行程序的过程;n测试是为了证明程序有错,而不是证明程序没有错误;n一个成功的测试是发现了至今未发现的错误的测试。整个生命周期不同阶段可能的测试活动和测试技术整个生命周期不同阶段可能的测试活动和测试技术 : 6.3 软件测试与调试

24、软件测试与调试 第3131页页1. 软件测试的特征软件测试的特征p挑剔性挑剔性p复杂性复杂性p不彻底性不彻底性p经济性经济性6.3.1 软件测试软件测试第3232页页6.3.1 软件测试软件测试2.测试基本原则测试基本原则p测试队伍的建立测试队伍的建立p测试用例的设计测试用例的设计p测试数据的选择测试数据的选择p测试功能的确定测试功能的确定p测试文档的管理测试文档的管理第3333页页6.3.1 软件测试软件测试3.测试文档测试文档p测试计划测试计划n测试项目的名称、目的、步骤、进度、测试用例测试项目的名称、目的、步骤、进度、测试用例n测试用例测试用例=测试数据测试数据+期望结果期望结果p测试报

25、告测试报告n测试项目的名称、实测结果与期望结果的比较、发现的问测试项目的名称、实测结果与期望结果的比较、发现的问题、测试达到的效果题、测试达到的效果n测试结果测试结果=测试数据测试数据+期望结果期望结果+实际结果实际结果第3434页页6.3.1 软件测试软件测试4.测试步骤测试步骤p模块测试模块测试n是在每个单独的模块中进行,包括模块界面、是在每个单独的模块中进行,包括模块界面、内部数据结构、独立路径错误处理和边界条件内部数据结构、独立路径错误处理和边界条件等项目等项目p集成测试集成测试n将各模块集中,形成一个完整的软件,对该软将各模块集中,形成一个完整的软件,对该软件进行测试件进行测试第35

26、35页页6.3.1 软件测试软件测试p系统测试系统测试n将被测软件放在系统环境中进行测试将被测软件放在系统环境中进行测试p验收测试验收测试n用户参与的测试,对系统的最后确认用户参与的测试,对系统的最后确认第3636页页测试种类测试种类1 1)静态测试:目的是通过对程序静态结构的检查,找出)静态测试:目的是通过对程序静态结构的检查,找出编译时不能发现的错误。编译时不能发现的错误。 静态分析器分析(自动方式)静态分析器分析(自动方式)代码评审(人工方式):代码会审、走查、办公桌检代码评审(人工方式):代码会审、走查、办公桌检查查2 2)动态测试:是把事先设计好的测试用例作用于被测程)动态测试:是把

27、事先设计好的测试用例作用于被测程序,比较测试结果和预期的结果是否一致,如果不一致,序,比较测试结果和预期的结果是否一致,如果不一致,则说明被测程序可能存在错误。则说明被测程序可能存在错误。 黑盒测试黑盒测试白盒测试白盒测试 6.3.1 软件测试软件测试通过运行软件来检验软件的动态行为和运行通过运行软件来检验软件的动态行为和运行结果的正确性结果的正确性约可找出约可找出3070%的逻辑设计错误的逻辑设计错误 基本特征是在对软件进行分析、检查和测基本特征是在对软件进行分析、检查和测试,不实际运行被测试的软件试,不实际运行被测试的软件约可找出约可找出3070%的逻辑设计错误的逻辑设计错误 第3737页

28、页 代码会审是由一组人通过阅读、讨论和争议对程序代码会审是由一组人通过阅读、讨论和争议对程序进行静态分析的过程。会审小组由组长、进行静态分析的过程。会审小组由组长、23名程序设名程序设计和测试人员及程序员组成。会审小组在充分阅读待审计和测试人员及程序员组成。会审小组在充分阅读待审程序文本、控制流程图及有关要求、规范等文件基础上,程序文本、控制流程图及有关要求、规范等文件基础上,召开代码会审会,程序员逐句讲解程序的逻辑,并展开召开代码会审会,程序员逐句讲解程序的逻辑,并展开热烈的讨论甚至争议,以揭示错误的关键所在。热烈的讨论甚至争议,以揭示错误的关键所在。需要注意两点:需要注意两点:n一是在代码

29、审查时,必须要检查被测软件是否通过编译,一是在代码审查时,必须要检查被测软件是否通过编译,只有正确了之后才进行代码会审;只有正确了之后才进行代码会审;n二是一定要保证有足够的时间让测试小组对问题进行充二是一定要保证有足够的时间让测试小组对问题进行充分的讨论,只有这样才能有效地提高测试效率,避免走分的讨论,只有这样才能有效地提高测试效率,避免走弯路。弯路。 6.3.1 软件测试软件测试第3838页页n白盒测试时,测试者清楚被测试程序的内部结构。它从白盒测试时,测试者清楚被测试程序的内部结构。它从程序的逻辑结构人手,按照一定的原则来设计测试用例,程序的逻辑结构人手,按照一定的原则来设计测试用例,设

30、定测试数据。设定测试数据。n黑盒测试时,测试者把被测程序看成一个黑盒,完全用黑盒测试时,测试者把被测程序看成一个黑盒,完全用不着关心程序的内部结构。设计测试用例时,仅以程序不着关心程序的内部结构。设计测试用例时,仅以程序的外部功能为根据。的外部功能为根据。n测试中标常见病错误种类测试中标常见病错误种类:n功能功能 错误错误n系统错误系统错误n过程错误过程错误n编码错误编码错误6.3.1 软件测试软件测试第3939页页测试用例:为达到最佳的测试效果或高效的揭露隐藏的错误测试用例:为达到最佳的测试效果或高效的揭露隐藏的错误而精心设计的少量测试数据,称之为测试用例。而精心设计的少量测试数据,称之为测

31、试用例。 测试用例可以被定义为如下测试用例可以被定义为如下6元组:元组:n测试索引测试索引n测试环境测试环境n测试输入测试输入n测试操作测试操作n预期结果预期结果n评价标准评价标准兼顾合理的输入和兼顾合理的输入和不合理不合理的输入数据的输入数据不仅检查程序是否实现预期功能,还不仅检查程序是否实现预期功能,还应检查程序是否作了应检查程序是否作了不该做的事不该做的事 6.3.1 软件测试软件测试第4040页页测试用例的用途:测试用例的用途:n在开始实施测试之前设计好测试用例,可以避在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。测试用例的使用免盲目测试并提高测试效率。测试用例的使

32、用令软件测试的实施重点突出、目的明确。令软件测试的实施重点突出、目的明确。n在软件版本更新后只需修正少部分的测试用例在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目便可展开测试工作,降低工作强度、缩短项目周期。周期。n功能模块的通用化和复用化使软件易于开发,功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升。的不断精化其效率也不断攀升。 6.3.1 软件测试软件测试第4141页页 白盒测试

33、方案时,测试者必须检查程序的内部结白盒测试方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,对所有逻辑路径进行构,从检查程序的逻辑着手,对所有逻辑路径进行测试,得出测试数据。测试,得出测试数据。 白盒测试的主要方法白盒测试的主要方法: 逻辑驱动、路径测试等,逻辑驱动、路径测试等,主要用于软件验证,检验语法错误、编译错误、性主要用于软件验证,检验语法错误、编译错误、性能问题、逻辑问题、判定条件问题、编程规范等。能问题、逻辑问题、判定条件问题、编程规范等。 白盒测试白盒测试第4242页页白盒测试 优点优点知道所设计的测试知道所设计的测试用例在代码级上哪用例在代码级上哪些地方被忽略掉些地方

34、被忽略掉 帮助软件测试人员帮助软件测试人员增大代码的覆盖增大代码的覆盖率,提高代码的质率,提高代码的质量,发现代码中隐量,发现代码中隐藏的问题藏的问题 白盒测试白盒测试第4343页页白盒测试 缺点缺点 程序运行会有很多不同路径,程序运行会有很多不同路径, 不可能测试所有运行路径;不可能测试所有运行路径; 测试基于代码,只能测试开发人员做的测试基于代码,只能测试开发人员做的 对不对,而不能知道设计的正确与否,对不对,而不能知道设计的正确与否, 可能会漏掉一些功能需求;可能会漏掉一些功能需求; 系统庞大时,测试开销会非常大。系统庞大时,测试开销会非常大。 123 白盒测试白盒测试第4444页页白盒

35、测试白盒测试 测试用例的设计测试用例的设计p语句覆盖法语句覆盖法测试测试用例用例覆盖覆盖路径路径A=2B=0X=3aceA1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第4545页页白盒测试白盒测试n判断覆盖法判断覆盖法序号测试用例覆盖路径12A=3B=0X=1acdA=2B=1X=3abe第4646页页白盒测试白盒测试n条件覆盖法条件覆盖法A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde判断条件判断条件取值取值A1A1TFB=0B0TFA=2A2TFX1X1TF第4747页页白盒测试白盒测试条件条件判断条件判断条件取值取值条件记为条件记为条

36、件条件1A1A1TFT1F1条件条件2B=0B0TFT2F2条件条件3A=2A2TFT3F3条件条件4X1X1TFT4F4第4848页页设计的测试用例子设计的测试用例子序号序号测试用例测试用例覆盖路径覆盖路径条件记为条件记为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白盒测试白盒测试第4949页页白盒测试白盒测试n条件组合覆盖法条件组合覆盖法A1ANDB=0X=X/AA=2OR X1X=X+1是是a是是否否bcde第一判断式第一判断式1A1

37、B=03A1B=02A1B04A1B0第二判断式第二判断式5A=2X17A2 X16A=2X18A2 X1第5050页页设计的测试用例设计的测试用例序号序号测试用例测试用例覆盖路径覆盖路径覆盖条件组合覆盖条件组合1A=2 B=0X=4ace1, 52A=2 B=1X=1abd2, 63A=1 B=0X=2abe3, 74A=1 B=1X=1abd4, 8白盒测试白盒测试第5151页页白盒测试白盒测试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是是否否bc

38、de第5252页页n黑盒测试也称功能测试或数据驱动测试,它是在已知产品所黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。应具有的功能,通过测试来检测每个功能是否都能正常使用。它只检查程序功能是否按照需求规格说明书的规定正常使用,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。且保持外部信息(如数据库或文件)的完整性。n黑盒测试发现的错误类型有:功能不对或遗漏、界面错误、黑盒测试发现的错误

39、类型有:功能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止数据结构或外部数据库访问错误、性能错误、初始化和终止错误等。错误等。n黑盒测试方法主要有等价类划分、边界值分析、因黑盒测试方法主要有等价类划分、边界值分析、因果图、果图、错误推测等,主要用于软件确认测试。错误推测等,主要用于软件确认测试。“黑盒黑盒”法是穷举输法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。以这种方法查出程序中所有的错误。黑黑盒测试盒测试第5353页页黑盒测试黑盒测试 优点优点黑盒测试的优点黑盒测

40、试的优点比较简单,不需要了解程序比较简单,不需要了解程序内部的代码及实现内部的代码及实现 与软件的内部实现无关与软件的内部实现无关 从用户角度出发,从用户角度出发,能很容易的知道用户会用到能很容易的知道用户会用到哪些功能,会遇到哪些问题哪些功能,会遇到哪些问题 基于软件开发文基于软件开发文档,所以也能知道软件实现档,所以也能知道软件实现了文档中的哪些功能了文档中的哪些功能 黑黑盒测试盒测试第5454页页黑盒测试 缺点缺点不可能覆盖所有的代不可能覆盖所有的代码,覆盖率较低。码,覆盖率较低。 自动化测试的复用性自动化测试的复用性较低。较低。 黑黑盒测试盒测试第5555页页黑黑盒测试盒测试n等价类划

41、分等价类划分n等价类划分法的基本思想:是将所有可能的输等价类划分法的基本思想:是将所有可能的输入数据入数据(有效的和无效的有效的和无效的)划分成若干个等价的划分成若干个等价的子集子集 (称为等价类称为等价类), 使得每个子集中的一个使得每个子集中的一个典型值在测试中的作用与这一子集中所有其它典型值在测试中的作用与这一子集中所有其它值的作用相同值的作用相同. 可从每个子集中选取一组数据可从每个子集中选取一组数据来测试程序来测试程序第5656页页等价类划分等价类划分n等价类划分有两种情况等价类划分有两种情况n合理等价类:测试模块是否实现了规定的功合理等价类:测试模块是否实现了规定的功能和性能能和性

42、能n不合理等价类:测试模块是否能够拒绝无效不合理等价类:测试模块是否能够拒绝无效输入,被测试对象在运行条件错误时的可靠输入,被测试对象在运行条件错误时的可靠性如何性如何第5757页页等价类划分等价类划分n划分等价类规则划分等价类规则n如果输入条件代表一个范围,可定义一个有效如果输入条件代表一个范围,可定义一个有效等价类和两个无效等价类等价类和两个无效等价类 例如例如,输入条件规定:,输入条件规定:项数可从项数可从1 1到到999999 1 9991 999 有效有效等价类等价类 无效无效等价类等价类 999 999 无效无效等价类等价类 11165.251165.25元元的测试用例。的测试用例

43、。 ( (如如: : -0.01-0.01元和元和1165.261165.26元元) )第7373页页边界值测试边界值测试设计测试用例原则设计测试用例原则n如输入条件代表一组值,测试用例应当执行其中如输入条件代表一组值,测试用例应当执行其中的最大值和最小值,还应测试略大于最大值和略的最大值和最小值,还应测试略大于最大值和略小于最小值的值小于最小值的值第7474页页边界值测试边界值测试设计测试用例设计测试用例举例举例例:例:邮件收费规定邮件收费规定 15 kg收费收费2元元则:则:应设计测试用例应设计测试用例: 0.9,1, 5,5.1 kg 或或 0.99,1, 5,5.01 kg例:例:一个

44、数据库表可有一个数据库表可有1255个记录个记录则:则:应设计测试用例应设计测试用例: 1个、个、255个、个、0个、个、256个记录个记录第7575页页边界值测试设计测试用例原则边界值测试设计测试用例原则n如程序数据结构有预定的边界,应测试其边界的如程序数据结构有预定的边界,应测试其边界的数据项数据项n如输出条件规定了取值范围,如输出条件规定了取值范围,取边界上下浮动值取边界上下浮动值做测试用例做测试用例第7676页页黑盒法黑盒法n错误推测测试错误推测测试n基本思想:列举出程序中可能有错和容易出基本思想:列举出程序中可能有错和容易出错的情况,并且根据它们选择测试方案错的情况,并且根据它们选择

45、测试方案n如对一个数据库表进行操作,需要特别检查如对一个数据库表进行操作,需要特别检查的情况有:表为空、表中只有一个记录的情况有:表为空、表中只有一个记录第7777页页综合策略综合策略n黑盒法为主、白盒法为辅黑盒法为主、白盒法为辅n任何情况下任何情况下都应该使用边界值测试设计测试都应该使用边界值测试设计测试用例用例n必要时必要时采用等价分类法补充用例采用等价分类法补充用例n必要时再必要时再用错误推测法补充用例用错误推测法补充用例n对照程序逻辑,检查设计用例的逻辑覆盖标对照程序逻辑,检查设计用例的逻辑覆盖标准。根据程序可靠性要求,补充用例使之达准。根据程序可靠性要求,补充用例使之达到规定的覆盖标

46、准到规定的覆盖标准第7878页页黑黑盒测试盒测试n练习练习n程序程序TRITRI读入三个整数值,这三个整数代读入三个整数值,这三个整数代表同一个三角形三条边的长度,程序根表同一个三角形三条边的长度,程序根据这三个值判断三角形属于等腰、等边、据这三个值判断三角形属于等腰、等边、还是一般三角形。还是一般三角形。使用黑盒方法设计测试用例使用黑盒方法设计测试用例第7979页页黑黑盒测试盒测试n要测试的情况要测试的情况n 正常的不等边三角形正常的不等边三角形 正常的等边三角形正常的等边三角形n 正常的等腰三角形正常的等腰三角形 三条边不构成三角形三条边不构成三角形n 一条边的长度为一条边的长度为 两条边

47、的长度为两条边的长度为n 三条边全为三条边全为 输入数据中包含负整数输入数据中包含负整数n 输入数据不全输入数据不全n 输入数据中包含非整数型数据输入数据中包含非整数型数据第8080页页abc正常的不等边三角形正常的不等边三角形8,10,128,12,1010,12,8正常的等边三角形正常的等边三角形10,10,10-,-,-,-,-正常的等腰三角形正常的等腰三角形10,10,1710,17,1017,10,10退化的三解形退化的三解形10,5,55,10,55,5,10非三角形非三角形10,10,2110,21,1021,10,10一条边数据为一条边数据为00,10,1212,0,1012,

48、10,0二条边数据为二条边数据为00,0,170,17,017,0,0三条边数据为三条边数据为00,0,0-,-,-,-,-,-,-,-,-,-,-10,-,-,10,-,-,108,10,-10,-,8-,8,10输入数据中包含负整数输入数据中包含负整数-3,4,5-3,5,44,5,-3A,B,C-,-,-,-,-=,+,*-,-,-,-,-8,10,A8,A,10A,10,87E3,10.5,A10.5,7E3,AA,10.5,7E3测试功能测试功能测试数据测试数据输入数据不全输入数据不全无效输入无效输入第8181页页2. 软件测试基本原则软件测试基本原则n 严格按照测试计划来测试严格按

49、照测试计划来测试n 尽早并不断地进行测试尽早并不断地进行测试n 程序员应尽可能避免检查自己的程序程序员应尽可能避免检查自己的程序n 测试用例应当兼顾合理的输入条件和不合理的输入条件测试用例应当兼顾合理的输入条件和不合理的输入条件n 测试用例应包括输入数据和预期的输出结果两部分测试用例应包括输入数据和预期的输出结果两部分n 测试用例应当兼顾有用功能和无用功能测试用例应当兼顾有用功能和无用功能n 全面检查每个测试结果全面检查每个测试结果,保留测试保留测试 用例用例n 充分注意测试中的集群现象充分注意测试中的集群现象n 注意回归测试的关联性注意回归测试的关联性 n 注意遵守注意遵守“经济性经济性”原

50、则原则 6.3.1 软件测试软件测试第8282页页3.软件测试步骤 6.3.1 软件测试软件测试第8383页页规范化的测试过程与内容包括如下内容:规范化的测试过程与内容包括如下内容:n拟定测试计划:测试的内容、进度安排、测试所需的环境和条拟定测试计划:测试的内容、进度安排、测试所需的环境和条件、测试培训安排等。件、测试培训安排等。n编制测试大纲:明确详细地规定了在测试中针对系统的每一项编制测试大纲:明确详细地规定了在测试中针对系统的每一项功能或特性所必须完成的基本测试项目和测试完成的标准。无功能或特性所必须完成的基本测试项目和测试完成的标准。无论是自动测试还是手动测试,都必须满足测试大纲的要求

51、。论是自动测试还是手动测试,都必须满足测试大纲的要求。n设计和生成测试用例:产生测试设计说明文档,其内容主要有:设计和生成测试用例:产生测试设计说明文档,其内容主要有:被测项目、输入数据、测试过程、预期输出结果等。被测项目、输入数据、测试过程、预期输出结果等。n实施测试:测试的实施阶段时由一系列的测试周期组成的。实施测试:测试的实施阶段时由一系列的测试周期组成的。n生成测试报告:对测试进行概要说明,列出测试的结论,指出生成测试报告:对测试进行概要说明,列出测试的结论,指出缺陷和错误,另外,给出一些建议。例如,可采用的修改方法,缺陷和错误,另外,给出一些建议。例如,可采用的修改方法,各项修改预计

52、的工作量等。各项修改预计的工作量等。 3. 软件测试步骤软件测试步骤第8484页页错误种类错误种类 测试中可能发现的错误按其性质可分为:测试中可能发现的错误按其性质可分为: (1) 功能错误功能错误 由于处理功能说明不够完整或不够确切,致使编程由于处理功能说明不够完整或不够确切,致使编程时对功能有误解而产生的错误时对功能有误解而产生的错误(2) 系统错误系统错误 指与外部接口错误、子程序调用错误、参数使用错指与外部接口错误、子程序调用错误、参数使用错误等。误等。第8585页页 (3) 过程错误过程错误n主要指算术运算错误、逻辑错误等。主要指算术运算错误、逻辑错误等。 (4) 数据错误数据错误n

53、数据结构、实体、属性错误,参数与控制数据混数据结构、实体、属性错误,参数与控制数据混淆等。淆等。 (5) 编程错误编程错误n语法错误、逻辑错误、编程书写错误等。语法错误、逻辑错误、编程书写错误等。错误种类错误种类 第8686页页第8787页页第8888页页 程序错误一般包括n数据缺陷n控制缺陷n计算缺陷n接口缺陷n输入输出缺陷n存储管理缺陷n异常处理缺陷等类型 3. 软件测试步骤软件测试步骤第8989页页单元测试单元测试:单元测试是对源程序中的每一个程序单元进行测试,验证单元测试是对源程序中的每一个程序单元进行测试,验证每个模块是否满足系统设计说明书的要求。每个模块是否满足系统设计说明书的要求

54、。可使用白盒测试方法测试单元的内部结构,使用黑盒测试可使用白盒测试方法测试单元的内部结构,使用黑盒测试方法测试单元的功能和可观测的行为。方法测试单元的功能和可观测的行为。 3. 软件测试步骤软件测试步骤第9090页页单元测试主要从模块的单元测试主要从模块的5个特征进行检查:个特征进行检查: (1)模块接口测试。对被测的模块,信息能否正常无误地流入)模块接口测试。对被测的模块,信息能否正常无误地流入和流出。和流出。例如,用被测模块的输入参数和形式参数在个数、属性、单位例如,用被测模块的输入参数和形式参数在个数、属性、单位上是否一致;调用其他模块时所给的实际参数和被调模块的形上是否一致;调用其他模

55、块时所给的实际参数和被调模块的形式参数在个数、属性、单位上是否一致;全局变量在各模块中式参数在个数、属性、单位上是否一致;全局变量在各模块中的定义和用法是否一致;输入是否仅改变了形式参数。的定义和用法是否一致;输入是否仅改变了形式参数。(2)局部数据结构测试。在模块工作过程中,其内部的数据能)局部数据结构测试。在模块工作过程中,其内部的数据能否保持其完整性,包括内部数据的内容、形式及相互关系不发否保持其完整性,包括内部数据的内容、形式及相互关系不发生错误。生错误。例如,变量的说明是否合适;是否使用了尚未赋值或尚未初始例如,变量的说明是否合适;是否使用了尚未赋值或尚未初始化的变量;是否出现上溢、

56、下溢或地址异常的错误等。化的变量;是否出现上溢、下溢或地址异常的错误等。 3. 软件测试步骤软件测试步骤第9191页页单元测试主要从模块的单元测试主要从模块的5个特征进行检查:个特征进行检查: (3)路径测试。模块的运行能否达到满足特定的逻辑覆盖。)路径测试。模块的运行能否达到满足特定的逻辑覆盖。(4)错误处理测试。模块工作中发生了错误,其中的出错)错误处理测试。模块工作中发生了错误,其中的出错处理设施是否有效。处理设施是否有效。例如,在对错误进行处理之前,系统已经对错误条件干预;例如,在对错误进行处理之前,系统已经对错误条件干预;出错的提示信息不足以确定错误或确定造成错误的原因;错出错的提示

57、信息不足以确定错误或确定造成错误的原因;错误的描述难于理解等。误的描述难于理解等。(5)边界测试。在为限制数据加工而设置的边界处,模块)边界测试。在为限制数据加工而设置的边界处,模块是否能够正常工作是否能够正常工作。 3. 软件测试步骤软件测试步骤第9292页页单元测试过程单元测试过程n由于每个模块在整个软件中并不是孤立的,在对每个模块进行由于每个模块在整个软件中并不是孤立的,在对每个模块进行单元测试时,也不能完全忽视它们和周围模块的相互联系。为单元测试时,也不能完全忽视它们和周围模块的相互联系。为模拟这一联系,在进行单元测试时,需设置若干辅助测试模块。模拟这一联系,在进行单元测试时,需设置若

58、干辅助测试模块。辅助模块有两种:辅助模块有两种:n一种是驱动模块,用以模拟被测模块的上级模块;一种是驱动模块,用以模拟被测模块的上级模块;n另一种是桩模块,用以模拟被测模块工作过程中所调用的模块。另一种是桩模块,用以模拟被测模块工作过程中所调用的模块。n在测试过程中,需要对整个测试过程进行有效的管理,保证测在测试过程中,需要对整个测试过程进行有效的管理,保证测试质量和测试效率。试质量和测试效率。 3. 软件测试步骤软件测试步骤第9393页页3. 软件测试步骤软件测试步骤n驱动模块:是模拟待测模块驱动模块:是模拟待测模块X的调用模块,其的调用模块,其作用是将测试数据传送给待测模块作用是将测试数据

59、传送给待测模块X,并显示,并显示待测模块待测模块X的结果的结果AXY 待待测测模模块块X驱动驱动集成集成测试:测试:第9494页页3. 软件测试步骤软件测试步骤n桩模块:作用是模拟待测模块桩模块:作用是模拟待测模块X的下层模块的下层模块E。其作用是接受待测模块。其作用是接受待测模块X的控制并模拟下层的控制并模拟下层模块模块E的功能的功能AXY 待待测测模模块块X桩桩1集成集成测试:测试:E第9595页页例:下图是新生管理子系统的功能层次图: 3. 软件测试步骤软件测试步骤新生基本信息管理招生数据导入报到预处理新生报到管理新生信息查询与统计预分学号班级编排寝室安排预处理查询现场报到处理欠费查询统

60、计报到情况统计新生比例分布高考成绩统计考第9696页页例:下图是新生管理子系统的功能层次图:例:下图是新生管理子系统的功能层次图:n要测试要测试“新生信息查询与统计新生信息查询与统计”模块,由于它不是独立运行模块,由于它不是独立运行的程序,需要有一个驱动模块来调用它,驱动模块要说明必的程序,需要有一个驱动模块来调用它,驱动模块要说明必需的变量、接收测试数据需的变量、接收测试数据-模拟总控模块来调用它。另外还模拟总控模块来调用它。另外还需要准备桩模块来代替被调用的子模块(新生比例分布、高需要准备桩模块来代替被调用的子模块(新生比例分布、高考成绩统计),对于多个子模块可以用一个桩模块来代替。考成绩

温馨提示

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

评论

0/150

提交评论