大学计算机基础(第6版)(微课版) 课件 第8章 软件工程基础_第1页
大学计算机基础(第6版)(微课版) 课件 第8章 软件工程基础_第2页
大学计算机基础(第6版)(微课版) 课件 第8章 软件工程基础_第3页
大学计算机基础(第6版)(微课版) 课件 第8章 软件工程基础_第4页
大学计算机基础(第6版)(微课版) 课件 第8章 软件工程基础_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

大学计算机基础

第8章软件工程基础大学计算机基础课程组2022年4月目录软件工程概述1需求分析及其方法2软件设计及其方法3软件编程4软件测试52软件调试68.1软件工程概述8.1.1软件2

软件程序数据文档程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能够正确地处理信息的数据结构文档是与程序开发、维护和使用有关的图文资料8.1软件工程概述8.1.1软件1.软件的特点2

软件无明显的制造过程不会磨损和老化是逻辑产品依赖硬件和环境复杂性高、成本昂贵涉及社会因素8.1软件工程概述8.1.1软件2.软件的分类2

系统软件,与计算机硬件紧密结合在一起,管理计算机的软硬件资源,提高计算机的使用效率并为计算机用户提供各种服务的软件。支撑软件,协助用户开发软件的工具性软件。应用软件,为应用于特定领域而开发的软件。8.1软件工程概述8.1.2软件工程1.软件工程的定义

软件工程是用工程科学的知识和技术原理来定义、开发和维护软件的一门学科。IEEE计算机协会将软件工程定义为:(1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)对(1)中所述方法的研究。2

8.1软件工程概述8.1.2软件工程2.软件工程三要素2

过程是为了获得高质量的软件所需要完成的一系列任务的框架。过程对软件开发的过程和方法提供自动或半自动化的支持。工具方法完成软件开发的各项任务的技术方法,为软件开发提供“如何做”的技术。8.1软件工程概述8.1.2软件工程2.软件工程三要素常见的软件开发过程模型有很多种,传统的有瀑布模型、快速原型模型、增量模型、螺旋模型及喷泉模型,现代的有基于组件的开发模型、统一软件开发过程(RationalUnifiedProcess,RUP)模型等。2

8.1软件工程概述8.1.2软件工程2.软件工程三要素

2

图8.1

统一软件开发过程模型8.1软件工程概述8.1.3软件生命周期类似于人和其他生物,软件也存在产生、发展和消亡的过程,我们称之为生命周期。2

图8.2软件生命周期8.1软件工程概述8.1.3软件生命周期问题定义。确定要解决什么问题。可行性研究。确定问题是否能解决,因此需要探讨问题不同的解决方案,针对每一个方案从技术、经济、法律和用户操作等方面,研究完成该项软件任务的可行性,制订完成开发任务的实施计划。生成可行性研究报告,提交管理部门进行审查。118.1软件工程概述8.1.3软件生命周期需求分析。确定待开发软件能“做什么”。为此,需要对用户要求进行分析,明确目标系统的功能需求和非功能需求,从功能、数据、行为等方面搭建分析模型,描述系统的静态特性和动态特性。这个阶段会产生需求规格说明书,提交管理部门进行审查。128.1软件工程概述8.1.3软件生命周期软件设计。本阶段是软件工程的技术核心,确定待开发软件“如何做”。为此,在设计阶段应该制定设计方案,把已经明确的各项需求转换成待开发软件的软件体系结构,这就是概要设计。然后详细描述软件体系结构中各模块所要完成的工作,为源程序的编写打下基础,这就是详细设计。所以设计阶段会产生概要设计说明书和详细设计说明书,并提交管理部门进行审查。138.1软件工程概述8.1.3软件生命周期编码实现。本阶段是在软件设计的基础上编写程序。该阶段会生成源代码及用户手册、操作手册等面向用户的文档。软件测试。测试是保证软件质量的重要阶段,本阶段的主要任务就是设计测试用例,检验软件的各个组成部分,找出软件错误,最后产生软件测试报告。运行维护。软件一旦交付使用之后就进入维护阶段,因为软件在实际使用中可能会因为各种原因进行必要且可行的扩充、修改和删除。该阶段产生维护说明。148.2需求分析及其方法8.2.1需求分析

为了开发出真正满足用户需要的软件产品,明确用户需求是关键。虽然在前期工作中,已经对用户需求有了初步了解,但是很多细节还没有考虑到。可行性研究是评估系统是否值得去开发,而不是对系统需求进行定义。如果说可行性研究是要决定“做还是不做”,那么需求分析就是要回答系统能“做什么”这个问题。

需求分析在软件生命周期中是一个非常重要的环节,做好需求分析,能够为后面的软件开发质量打好基础。158.2需求分析及其方法8.2.1需求分析需求分析分为需求获取、分析建模、需求描述和需求评审四步。需求获取。需求获取就是收集并明确用户功能需求和非功能需求的过程。①功能需求描述系统应该做什么,即为用户和其他系统完成的功能和提供的服务。在某些情况下,功能需求还必须明确系统不应该做什么。②非功能需求定义了必须遵循的标准、外部界面的细节、实现的约束条件和一些质量属性等。168.2需求分析及其方法8.2.1需求分析分析建模。对目标系统搭建分析模型。常见的建模工具有:数据流图、实体关系图、用例图等。需求描述。将前面建立的各种模型组织成文档的形式,生成需求规格说明书。软件需求规格说明书主要描述软件的目标、软件的功能需求、性能需求、外部接口、属性及约束条件。需求评审。需求评审工作就是对需求产生的文档进行审查,主要检查一致性、完整性、现实性和有效性。178.2需求分析及其方法8.2.2结构化分析方法1.数据流图数据流图是结构化分析的常用工具之一,它直观地展示了系统中的数据是如何处理和流动的,建模过程是自上而下、逐层分解的过程,如下图8.3所示:188.2需求分析及其方法8.2.2结构化分析方法1.数据流图19图8.3层次分解8.2需求分析及其方法8.2.2结构化分析方法1.数据流图数据流图中主要图形元素及说明如下表8.1所示:208.2需求分析及其方法8.2.2结构化分析方法1.数据流图数据流图在结构化分析方法中被广泛应用,尤其适用于数据处理领域问题。图8.4是一个新生购书的简易0层数据流图,它描述了从预定书本到生成领书单的数据流动过程,其中包括查询各班学生用书表和教材存量表等环节。21图8.40层数据流图8.2需求分析及其方法8.2.2结构化分析方法1.数据流图对于复杂的问题,一个数据流图往往是不够的,需要按照图8.3所示层次结构逐层细化。具体要求:顶层数据流图只含有一个加工,表示整个系统。如下图8.5所示:22图8.5顶层数据流图8.2需求分析及其方法8.2.2结构化分析方法1.数据流图中间数据流图是对上一层数据流图中的某个加工进行细化。例如图8.4中的“订单处理”就可以再细化为“修改库存”和“生成领书单”两个加工,添上新的数据流和数据存储生成1层数据流图,变化如下图8.6所示:23图8.6部分1层数据流图8.2需求分析及其方法8.2.2结构化分析方法1.数据流图最底层的数据流图是指它的加工不能再分解的数据流图。如果进一步分解发现要表达的信息变成了“怎们做”而不是“做什么”的时候就不能再分解了,“怎们做”是设计阶段所要考虑的问题,在分析阶段暂不考虑。248.2需求分析及其方法8.2.2结构化分析方法2.数据字典数据流图确定后,还需要确定所有数据对象及控制信息的特性,给出它们的准确定义,这就是数据字典。数据字典是结构化分析的核心,之所以叫“字典”就是它能够为数据对象提供统一的定义标准参考。数据字典常常采用符号的方式来进行定义,这样更容易理解数据的结构组成。数据流图中的数据元素比如说数据流、数据文件这类的复合数据往往是将数据字典中的符号组合起来进行定义。258.2需求分析及其方法8.2.2结构化分析方法2.数据字典数据字典中采用的符号如表8.2所示:268.2需求分析及其方法8.2.2结构化分析方法2.数据字典上图8.4中“领书单”数据流的部分数据信息就可以用数据字典表示:领书单={学号+姓名+书名+ISBN号+出版社名称+领取截止日期}学号=”2020”+7{数字}7数字=”0”..”9”…278.2需求分析及其方法8.2.3软件需求规格说明书28

软件需求规格说明书相当于软件开发的图纸,课本上列出了一个软件需求规格说明书的模板,可根据此模板撰写软件需求规格说明书。8.3软件设计及其方法8.3.1软件设计

软件设计是软件开发过程中的重要阶段,在此阶段中,开发人员将集中研究如何把分析模型转换为设计模型,并将解决方案记录到设计文档中。

软件设计能够将用户需求这种外部视角准确地转化为软件产品或系统这种内部视角,同时也能为后续软件编码工作提供参考和指导。298.3软件设计及其方法8.3.1软件设计

软件设计不是将软件作为一个整体来设计,而是将软件分为几个较小的模块单独设计,最后整合在一起。划分模块时要本着提高独立性的目的。模块独立是良好设计的关键,而设计又是决定软件质量的关键环节。

模块的独立程度与两个定性标准度量相关,分别是耦合和内聚。耦合是指衡量不同模块之间的互联程度;内聚是指衡量模块内部各个元素之间彼此结合的紧密程度。

模块之间的连接越紧密,联系越多,耦合性就越高,其模块独立性就越弱,内聚性就越低,这是不可取的。因此,好的软件设计应该遵循高内聚、低耦合的设计理念。308.3软件设计及其方法8.3.1软件设计软件设计可以从不同角度进行分类。从活动任务来看,软件设计是根据软件需求进行:数据设计、体系结构设计、接口设计、构件设计和部署设计。数据设计。数据设计是将需求分析阶段产生的信息模型转化为实现软件的数据结构的过程。数据实体、实体之间的关系以及数据的内容是数据设计活动的基础。体系结构设计。体系结构设计提供软件的整体视图,定义了软件系统各主要结构之间的关系。接口设计。接口设计定义软件内部通信、与其他系统的交互以及人机交互界面等。318.3软件设计及其方法8.3.1软件设计构件(模块)设计。构件设计是将一个复杂的系统按照功能进行模块划分,建立模块的层次结构及调用关系,确定模块间的接口及人机交互界面等。部署设计。部署设计指的是软件功能和子系统如何在支持软件的物理环境内进行部署。此外,从工程管理的观点,软件设计可以分为概要设计和详细设计。概要设计又叫做总体设计,在软件设计前期进行,得到软件系统的基本框架。详细设计又叫做过程设计,在软件设计后期进行,对基本框架的各个组成部分设计内部的实现细节。328.3软件设计及其方法8.3.2结构化设计方法结构化设计的任务是从软件需求规格说明书出发,设计软件系统的整体结构(概要设计)、确定每个模块的实现算法和数据结构(详细设计),形成软件的具体设计方案,解决“怎么做”的问题。结构化设计方法各阶段主要任务如下图8.7所示:338.3软件设计及其方法8.3.2结构化设计方法34图8.7结构化设计方法8.3软件设计及其方法8.3.2结构化设计方法1.概要设计在概要设计中很重要的一个任务就是体系结构设计,常用的体系结构设计工具是结构图。它反映了整个系统的功能实现以及模块与模块之间的关系和模块之间的接口。结构图的基本图符及含义如表8.3所示:358.3软件设计及其方法8.3.2结构化设计方法1.概要设计

368.3软件设计及其方法8.3.2结构化设计方法1.概要设计结构图是一种层次化的表示,上方的模块调用下方的模块,它指出了软件各个模块之间的调用关系。结构图的形态特征如下图8.8所示:37图8.8结构图的形态特征8.3软件设计及其方法8.3.2结构化设计方法1.概要设计深度:在多层次的结构图中,模块结构的层次数为结构图的深度,大型程序结构图的深度可以有几十层。上图8.8深度为5。宽度:结构图中同一层模块的最大模块数为结构图的宽度。上图8.8宽度为8。扇入:一个模块的被调用的模块数目。上图8.8T模块的扇入数目为4。扇出:一个模块直接调用或控制下属模块的数目。上图8.8M模块和C模块的扇出数目为3。388.3软件设计及其方法8.3.2结构化设计方法2.详细设计详细设计的任务是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。常用的详细设计工具有:图形设计符号:流程图、N-S图(盒图)、PAD图;表格设计符号:判定表等;程序设计语言:PDL(伪代码)等。398.3软件设计及其方法8.3.2结构化设计方法2.详细设计计算n阶乘的程序流程图

408.4软件编程8.4.1编程语言编程语言是用于编写计算机程序的语言,同时也是人与计算机交互的基本工具,它定义了一组计算机的语法规则,通过这些语法规则可以把人的意图、思想等转化为计算机可以理解的指令,进而让计算机帮助人类完成某些任务。软件开发人员通过使用编程语言来实现目标系统的功能。自20世纪60年代以来,人们已经设计和实现了很多编程语言,可以将编程语言分为三类。418.4软件编程8.4.1编程语言421机器语言3高级程序设计语言2汇编语言是计算机可以识别和执行的指令代码,由0和1组成。是机器语言的符号化,与机器语言有直接的关系。用易写和易懂的形式语言来编写程序的程序设计语言。8.4软件编程8.4.1编程语言在软件开发过程中,选择合适的编程语言是编程的关键。下面列出选择编程语言需考虑的因素:待开发系统的应用领域;用户的要求;计划使用的开发工具;软件开发人员的喜好和能力;算法和数据结构的复杂性;操作系统平台支持及软件可移植性要求。438.4软件编程8.4.2编程风格在选定好编程语言之后,就可以开始编码了。在编码的过程中,良好的编程习惯、风格也是高质量软件的决定因素。编程风格是指源程序的书写习惯,比如变量的命名规则、代码的注释方法等。具有良好编程风格的源程序具有较强的可读性、可维护性,同时还能提高团队开发的效率。在大型软件开发项目中,为了控制软件开发的质量,保证软件开发的一致性,遵循一定的编程风格尤为重要。448.4软件编程8.4.2编程风格要做到按照良好的编程风格进行编程,可以从以下几点入手:版权和版本声明。应该在每个代码文件的开头对代码的版权和版本进行声明,主要内容有:①版权信息。②文件名称,标识符,摘要。③当前版本号,作者/修改者,完成日期。④版本历史信息。458.4软件编程8.4.2编程风格要做到按照良好的编程风格进行编程,可以从以下几点入手:变量名说明。变量名是编程的核心,只有全面理解系统的编程人员才能定义适合的名称。

468.4软件编程8.4.2编程风格要做到按照良好的编程风格进行编程,可以从以下几点入手:程序注释。程序注释可以让人比较容易地阅读程序,是软件开发人员之间以及开发人员和用户之间进行交流的重要途径,也是后期修改程序的重要参考内容。

注释可分为序言性注释和功能性注释两大类。

序言性注释通常在每个程序或模块的开头部分,它是对程序或模块的整体说明。

功能性注释通常嵌在程序体内,主要描述程序段所实现的功能。478.5软件测试8.5.1软件测试概述

软件测试是发现软件中错误或缺陷的主要手段。在软件开发过程的任何阶段都可能引入缺陷。软件测试是软件开发过程中的一个重要阶段。软件测试工作应该贯穿于整个开发过程。488.5软件测试8.5.1软件测试概述人们在长期进行软件测试实践中,不断地总结出一些软件测试的经验或原则,可供我们参考:穷举测试是不可能的。测试中存在风险。软件测试只能表明缺陷的存在,而不能证明软件产品已经没有缺陷。注意测试中的群集现象。应该让不同的测试人员参与到测试工作中。498.5软件测试8.5.1软件测试概述人们在长期进行软件测试实践中,不断地总结出一些软件测试的经验或原则,可供我们参考:避免由程序的编写者测试自己的程序。开发人员和测试人员不能是同一批人。尽早并不断地进行测试,所有测试都应追溯到用户需求。在测试之前制定测试计划并严格执行。妥善保存测试计划、测试用例、出错统计和最终测试报告,为后期维护提供方便。508.5软件测试8.5.2软件测试方法软件测试有多种方法,按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。静态测试以人工测试为主,通过测试人员认真阅读文档和代码,仔细分析其正确性、一致性及逻辑结构,找出软件产品中的错误或缺陷。静态测试对自动化工具的依赖性较小,主要通过人工进行分析,通过人脑的思考和逻辑判断来查找错误,因而可以更好地发挥人的主观能动性。518.5软件测试8.5.2软件测试方法软件测试有多种方法,按照执行测试时是否需要运行程序,软件测试可以划分为静态测试和动态测试。动态测试需要通过实际运行被测程序来发现问题。测试人员可以输入一系列的测试用例,通过观察测试用例的输出结果是否与预期相符来检验系统内潜在的问题。动态测试关键是设计高效、合理的测试用例。测试用例就是为了测试设计的数据,由测试输入数据和预期的输出结果两部分组成。528.5软件测试8.5.2软件测试方法

53例如对某段程序“加法”功能进行动态测试,可设计测试用例如下表8.5所示:8.5软件测试8.5.2软件测试方法

按照是否查看源代码,软件测试可以划分为黑盒测试和白盒测试。1.黑盒测试黑盒测试又称功能测试,着重测试软件的功能。在黑盒测试里,测试人员把被测试的软件系统看成是一个不能打开的黑盒子,测试人员并不关心盒子的内部结构和内部特性,只关注软件产品的输入数据和输出结果,从而检查软件产品是否符合规格说明书中的功能要求。常用的黑盒测试方法和技术包括等价类划分法、边界值分析法、错误推测法、因果图法等。

548.5软件测试8.5.2软件测试方法等价类划分法

因为穷举测试的不可实现,等价类划分是把程序的输入域划分为若干子集,然后从每个子集中选取少数具有代表性的数据用作测试用例,所选取的输入数据对于揭露程序中的错误和子集里其他数据都是等效的,测试某个等价类的代表值就等价于对该等价类的其他值的测试。

558.5软件测试8.5.2软件测试方法等价类划分法步骤:①对每个输入条件进行等价类划分,画出等价类表,并在表中为每个等价类进行唯一的编号。以下是等价类划分的几项依据:按照区间划分。如果输入条件规定了取值范围或值的数量,则可确定一个有效等价类和两个无效等价类。例如,如果输入为“月份”,则1—12为一个有效等价类;小于1、大于12为两个无效等价类。568.5软件测试8.5.2软件测试方法按照数值集合划分。

如果输入条件规定了输入值的集合,则可确定一个有效等价类和一个无效等价类。例如,输入值是“首字符是字母”,那么有效等价类是首字符是字母的数据;无效等价类是首字符是非字母的数据。按照数值划分。

如果输入条件是一组值,且程序对不同的值有不同的处理方式,则每个允许的输入值对应一个有效等价类,所有不允许的输入值的集合为一个无效等价类。例如,输入条件“职称”的值是初级、中级或高级,那么有效等价类应该有三个,即初级、中级、高级;无效等价类有一个,即除了这三个之外其他任何职称。578.5软件测试8.5.2软件测试方法按照限制条件或者规则划分。

如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效的等价类(从不同的角度违反规则)。细分等价类。

已划分等价类中各元素在程序中处理方式不同,可将等价类进一步划分更小等价类。588.5软件测试8.5.2软件测试方法59表8.6等价类表8.5软件测试8.5.2软件测试方法②设计测试用例。设计一个测试用例,使其尽可能多地覆盖有效等价类。为每一个无效等价类设计一个测试用例,直到所有无效等价类都被覆盖为止,在设计某个无效等价类的用例时尽量保证其他输入条件有效。生成的测试用例可填入下表8.7:608.5软件测试8.5.2软件测试方法边界值分析法人们从长期的测试工作经验中得知,大量的错误往往发生在输入和输出范围的边界上,而不是范围的内部。因此,针对边界情况设计测试用例,能够更有效的发现错误。边界值分析法是一种补充等价类划分法的黑盒测试方法,它在选择用例的时候不是像普通等价类划分方法一样选择等价类范围内的任意元素,而是选择等价类边界元素作为测试用例。618.5软件测试8.5.2软件测试方法错误推测法靠经验和直觉推测程序可能存在错误,有针对性编写检查这些错误的测试用例。错误推测法不能单独使用,否则主观性太强不具有科学依据。因果图法等价类划分法和边界值分析法都主要考虑的是输入条件,而没有考虑输入条件的各种组合、各个输入条件之间的相互制约关系以及输入条件和结果之间的关系。因此,因果图法提供了几种条件的组合情况以及几种因果关系供我们来设计测试用例。628.5软件测试8.5.2软件测试方法2.白盒测试与黑盒测试不同,白盒测试关注软件产品的内部细节和逻辑结构,即把被测的程序看成是一个透明的盒子。它根据源程序内部逻辑细节来设计测试用例,检查程序中的逻辑通路是否按预定的要求正确地工作。白盒测试包括逻辑覆盖测试和基本路径测试等方法。638.5软件测试8.5.2软件测试方法逻辑覆盖法逻辑覆盖法以程序内在的逻辑结构为基础设计测试用例。测试数据在程序执行过程中覆盖不同的分支和路径,根据覆盖的目标不同和覆盖语句的详尽程度可以分为不同的等级,分别是语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和条件组合覆盖等。下面有一段用伪代码编写的程序:1.if(A>2andB<0)then2.X=X+13.endif648.5软件测试8.5.2软件测试方法对该程序使用逻辑覆盖法设计测试用例过程如下。用例格式为:【输入(A,B,X),预期输出(A,B,X)】语句覆盖。语句覆盖是设计若干个测试用例,运行被测程序,使得每一个可执行语句至少执行一次。上方程序中可执行语句是:X=X+1。

可设计测试用例:【(3,-1,0),(3,-1,1)】判定覆盖。就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。上方程序中只有一个判断:A>2andB<0。

可设计测试用例:取真分支【(3,-1,0),(3,-1,1)】

取假分支【(2,1,0),(2,1,0)】658.5软件测试8.5.2软件测试方法对该程序使用逻辑覆盖法设计测试用例过程如下。用例格式为:【输入(A,B,X),预期输出(A,B,X)】条件覆盖。设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。上方程序中一个判断有两个条件分别是:A>2和B<0。

可设计测试用例:条件取真真【(3,-1,0),(3,-1,1)】条件取假假【(2,1,0),(2,1,0)】判定/条件覆盖。要同时满足判定覆盖又要满足条件覆盖的要求。

可设计测试用例:【(3,-1,0),(3,-1,1)】【(2,1,0),(2,1,0)】668.5软件测试8.5.2软件测试方法对该程序使用逻辑覆盖法设计测试用例过程如下。用例格式为:【输入(A,B,X),预期输出(A,B,X)】条件组合覆盖。设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。上方程序中一个判断有四种条件组合分别是:

真真A>2,B<0、真假A>2,B≥0、假真A≤2,B<0、假假A≤2,B≥0。

设计测试用例:

条件组合取真真【(3,-1,0),(3,-1,1)】条件组合取假假【(2,1,0),(2,1,0)】

条件组合取假真【(1,-1,0),(1,-1,0)】条件组合取真假【(3,1,0),(3,1,0)】678.5软件测试8.5.2软件测试方法基本路径法基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,然后导出基本可执行的路径集合,从而设计测试用例的方法。白盒测试和黑盒测试各有侧重点,不能相互取代。在实际测试活动中,这两种测试方法是相互配合的,通常在白盒测试中交叉着黑盒测试,黑盒测试中交叉着白盒测试。688.5软件测试8.5.3软件测试步骤69在软件工程环境中的测试过程,实际上是顺序进行的五个步骤的序列:单元测试、集成测试、确认测试、系统测试和验收测试。图8.10软件测试步骤8.5软件测试8.5.3软件测试步骤单元测试单元测试也称模块测试,模块是软件设计的最小单位,单元测试是对模块进行正确性的检验,以期尽早发现各模块内部可能存在的各种错误。该测试以详细设计文档为指导,同时会根据源代码清单来进行测试,测试模块内的重要控制路径。每个单元测试能够检查模块是否正确实现每个程序规定的功能。单元测试可以采用静态测试或者动态测试。动态测试通常以白盒测试法为主,测试其结构,并以黑盒测试法为辅,测试其功能。708.5软件测试8.5.3软件测试步骤集成测试集成测试也称组装测试,它是对各模块按照设计要求组装成的程序进行测试,主要目的是发现与接口有关的错误。模块单个是好的,那么组装在一起是不是会出现问题,接口会不会有错误,信息是不是连接不通等情况。集成测试主要发现设计阶段产生的错误,通常依据概要设计说明书,采用黑盒测试方法进行测试。718.5软件测试8.5.3软件测试步骤集成测试集成方法有两种:一种方法是非增量集成;另外一种方法是增量集成。按照实

温馨提示

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

评论

0/150

提交评论