软件工程导论第五版复习资料.docx

上传人:b****4 文档编号:4605759 上传时间:2023-05-07 格式:DOCX 页数:30 大小:436.74KB
下载 相关 举报
软件工程导论第五版复习资料.docx_第1页
第1页 / 共30页
软件工程导论第五版复习资料.docx_第2页
第2页 / 共30页
软件工程导论第五版复习资料.docx_第3页
第3页 / 共30页
软件工程导论第五版复习资料.docx_第4页
第4页 / 共30页
软件工程导论第五版复习资料.docx_第5页
第5页 / 共30页
软件工程导论第五版复习资料.docx_第6页
第6页 / 共30页
软件工程导论第五版复习资料.docx_第7页
第7页 / 共30页
软件工程导论第五版复习资料.docx_第8页
第8页 / 共30页
软件工程导论第五版复习资料.docx_第9页
第9页 / 共30页
软件工程导论第五版复习资料.docx_第10页
第10页 / 共30页
软件工程导论第五版复习资料.docx_第11页
第11页 / 共30页
软件工程导论第五版复习资料.docx_第12页
第12页 / 共30页
软件工程导论第五版复习资料.docx_第13页
第13页 / 共30页
软件工程导论第五版复习资料.docx_第14页
第14页 / 共30页
软件工程导论第五版复习资料.docx_第15页
第15页 / 共30页
软件工程导论第五版复习资料.docx_第16页
第16页 / 共30页
软件工程导论第五版复习资料.docx_第17页
第17页 / 共30页
软件工程导论第五版复习资料.docx_第18页
第18页 / 共30页
软件工程导论第五版复习资料.docx_第19页
第19页 / 共30页
软件工程导论第五版复习资料.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程导论第五版复习资料.docx

《软件工程导论第五版复习资料.docx》由会员分享,可在线阅读,更多相关《软件工程导论第五版复习资料.docx(30页珍藏版)》请在冰点文库上搜索。

软件工程导论第五版复习资料.docx

软件工程导论第五版复习资料

软件工程导论

第一章软件工程学概述

1、软件

完成特点功能的程序以及数据结构和文档

2、软件的特点

(1)软件开发更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。

软件开发、设计几乎都是从头开始,成本和进度很难估计。

(2)软件存在潜伏错误,硬件错误一般能排除。

(3)软件开发成功后,只需对原版进行复制。

(4)软件在使用过程中维护复杂:

1)纠错性维护—改正运行期间发现的潜伏错误;

2)完善性维护—提高或完善软件的性能;

3)适应性维护—修改软件,以适应软硬件环境的变化;

4)预防性维护—改进软件未来的可维护性和可靠性。

(5)软件不会磨损和老化。

3、软件危机及软件危机的表现

软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

软件危机的表现

1)对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象,从而降低了开发商的信誉,引起用户不满。

2)用户对已完成的软件不满意的现象时有发生。

3)软件产品的质量往往是靠不住的。

4)软件常常是不可维护的。

5)软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

6)软件成本在计算机系统总成本中所占比例逐年上升。

特别是软件维护成本迅速增加,已经占据软硬件总成本的40%~75%。

7)开发生产率提高的速度远跟不上软件需求。

4、软件工程及软件工程的特性

软件工程是用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。

软件工程的特性:

1)软件工程关注于大型程序的构造

2)软件工程的中心课题是控制复杂性

3)软件经常变化

4)开发软件的效率非常重要

5)和谐地合作是开发软件的关键

6)软件必须有效地支持它的用户

7)在软件工程中是由具有一种文化背景的人替具有另一种文化背景的人创造产品

5、软件工程的基本原理

用分阶段的生存周期计划严格管理

坚持进行阶段评审

实行严格的产品控制

采用现代程序设计技术

结果应能清楚地审查

开发小组的人员应少而精

承认不断改进软件工程实践的必要性

6、软件生存周期

一个软件从得出开发要求开始直到该软件报废为止的时期。

软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。

7、瀑布模型

模型严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严格性。

它规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作。

因此,它是一种以文档作为驱动的模型。

瀑布模型特点

1)阶段间具有顺序性和依赖性

2)推迟实现的观点

3)质量保证的观点

第二章可行性研究

1、可行性研究的任务

概括地讲,可行性研究包括两大部分的分析研究,分别是

分析建立系统的必要性

分析建立系统的可能

具体,主要任务

1)进一步分析和澄清问题定义。

2)导出系统的高层逻辑模型。

从系统逻辑模型出发,探索若干种系统实现方案。

对每种方案都至少要从下述几方面研究其可行性:

a.经济可行性

b.技术可行性

c.法律可行性

d.操作可行性

3)对以后的行动提出建议选择一种最佳方案,并为系统制定一个初步的开发计划。

2、可行性研究的步骤

1)复查系统规模和目标。

2)研究现有的系统。

3)导出新系统高层逻辑模型。

4)进一步定义问题

5)导出和评价供选择的解法。

6)推荐行动方针

7)草拟开发计划

8)书写文档提交审查。

3、系统流程图(不要求画图)

系统流程图是概括地描绘物理系统的传统工具。

4、数据流图(要求画图)

数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。

在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。

5、数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。

6、成本效益分析

1)货币的时间价值:

指同样数量的货币随时间的不同具有不同的价值。

一般货币在不同时间的价值可用年利率来折算。

设:

i表示年利率,现在存入P元,n年后的价值为F元,

则有:

F=P(1+i)n

如果n年后能收入F元,这些钱折算成现在的价值称为折现值,折现公式为:

P=F/(1+i)n

2)纯收入。

是指在整个生存周期系统的累计收入的折现值PT与总成本折现值ST之差,以T表示,则有:

T=PT–ST

3)投资回收率。

P=F1/(1+j)+F2/(1+j)^2+…+Fn(1+j)^n

P:

现在的投资额Fi:

第i年底的效益(i=1,2,3,…,n)

n:

系统使用寿命j:

投资回收率

第三章需求分析

1、需求分析的任务

确定对系统的综合要求

1)功能需求

2)性能需求

3)可靠性和可用性需求

4)出错处理需求

5)接口需求

6)约束

7)逆向需求

8)将来可能提出的要求

分析系统的数据要求

导出系统的逻辑模型

修正系统开发计划

2、与用户沟通获取需求的方法

访谈:

正式的,非正式的

面向数据流自顶向下求精

简易的应用规格说明技术

快速建立软件原型

3、状态转换图

状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。

此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。

1)符号

初态用实心圆表示。

终态用一对同心圆(内圆为实心圆)表示。

中间状态用圆角矩形表示。

状态图中两个状态之间带箭头的连线称为状态转换,箭头指明了转换方向。

2)活动表的语法格式:

事件名(参数表)/动作表达式

3)事件表达式的语法如下:

事件说明[守卫条件]/动作表达式

其中,

事件说明的语法为:

事件名(参数表)。

4、层次方框图(在需求分析阶段使用)

层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。

5、Warnier图(在需求分析阶段使用)

Warnier图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的描绘手段。

用Warnier图可以表明信息的逻辑组织

6、IPO图(在需求分析阶段使用)

IPO图是输入、处理、输出图的简称,它是美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。

7、验证软件需求

验证需求的一致性:

所有需求必须是一致的

验证需求的实现性:

指定需求式可以实现的。

对现有硬件很好预测,但软件技术很难预测,只能根据现有技术水平出发判断需求的实现性

验证需求的完整性和有效性:

完整性,规格说明书应该包括用户所需的每个功能的性能。

有效性,需求是正确有效的,确实能解决用户面对的问题。

第五章总体设计(概要设计)

1、总体设计过程

1)设想供选择的方案2)选取合理的方案

3)推荐最佳方案4)功能分解

5)设计软件结构6)设计数据库

7)制定测试计划8)书写文档9)审查和复审

2、设计原理(模块化、抽象、逐步求精、信息隐藏与局部化)(小概念)

模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

抽象是控制复杂性的基本策略。

“抽象”要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。

软件设计过程应当是在不同抽象级别上考虑和处理问题的过程。

软件工程过程的每一步都是对较高一级抽象的解作一次进一步具体化的描述。

在上述由高级抽象到低级抽象的转换过程中,伴随着一连串的过程抽象和数据抽象

抽象与求精是一对互补的概念。

抽象使得设计者能够说明过程和数据,同时却忽略低层细节。

事实上,可以把抽象看作是一种通过忽略多余的细节同时强调有关的细节,而实现逐步求精的方法。

求精则帮助设计者在设计过程中逐步揭示出低层细节。

这两个概念都有助于设计者在设计演化过程中创造出完整的设计模型。

信息隐藏原理指出:

应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。

所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。

在模块中使用局部数据元素是局部化的一个例子。

显然,局部化有助于实现信息隐藏。

3、模块独立原理

开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。

换句话说,希望这样设计软件结构,使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。

4、耦合和内聚

模块的独立程度可以由两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;

内聚衡量一个模块内部各个元素彼此结合的紧密程度。

以下分别详细阐述。

尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。

设计软件时,应该能够识别内聚度的高低,并通过修改设计尽可能提高模块内聚度,从而获得较高的模块独立性。

5、启发规则

1)改进软件结构提高模块的独立性

2)模块规模应该适中

3)深度、宽度、扇出和扇入都应适当

4)模块的作用范围应在控制范围之内

5)力争降低模块接口的复杂程度

6)设计单入口单出口的模块

7)模块功能应该可以预测

6、描绘软件结构的图形工具(层次图、HIPO图、结构图)

层次图用来描绘软件的层次结构。

虽然层次图与需求分析中介绍的描绘数据结构的层次方框图相同,但是表现的内容却完全不同。

层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。

HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。

为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。

Yourdon提出的结构图是进行软件结构设计的另一个有力工具。

结构图和层次图类似,也是描绘软件结构的图形工具,图中一个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。

在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。

如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:

尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。

7、面向数据流的设计方法

⏹变换分析

变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。

1)重画数据流图;确定其具有变换流特征。

2)在数据流图上区分系统的逻辑输入、逻辑输出和中心变换部分

3)进行一级分解,设计系统模块结构的顶层和第一层

4)进行二级分解,设计输入、中心变换、输出部分的中、下层模块

⏹事务分析

与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统的结构图。

主要区别由数据流图到软件结构的映射方法不同。

在数据流具有明显的事务特点时,也就是一个明显的事务中心时,采用事务分析。

第六章详细设计

1、结构程序设计

结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。

结构化程序设计的特点:

1)整个程序模块化。

2)每个模块只有一个入口和一个出口。

3)每个模块都应能单独执行,且无死循环。

4)采用自顶向下。

逐步求精的方法。

2、人机界面设计(设计问题、设计过程、人机界面设计指南)

设计问题:

1)系统响应时间;2)用户帮助设施;3)出错信息处理;4)命令交互。

设计过程

用户界面设计是一个迭代过程,直至与用户模型和系统假想一致为止。

人机界面指南

1)一般交互指南:

涉及信息显示、数据输入和系统整体控制,这类指南是全局性的。

2)信息显示指南:

信息显示的形式和方式的一些原则:

a.仅显示与当前工作内容的有关的信息;

b.采用简单明了的表达方式,避免用户置身于大量的数据中;

c.使用统一的标号、标准的缩写和预先定义好的颜色;

d.允许用户对可视环境进行维护,如放大、缩小图象;

e.只显示有意义的出错信息;

f.用大、小写,缩进和文本分组以帮助理解;

g.用窗口(在适合的情况下)分隔不同种类的信息;

h.用“模拟”显示方式表示信息,以使信息更容易被用户提取;

i.高效地使用显示屏。

3)数据输入指南:

数据输入的一般准则:

●尽量减少用户输入的动作;

●保持信息显示与数据输入之间的一致性;

●允许用户自定义输入;

●采用灵活多样的交互方式,允许用户自选输入方式;

●隐藏当前状态下不可选用的命令;

●让用户控制交互过程;

●为所有输入动作提供帮助信息;

●消除冗余的输入。

去除所有无实际意义的输入,尽量采用缺省值。

3、详细设计工具(过程设计工具)(绘图要求)

Ø程序流程图

程序流程图又称为程序框图,它是历史最悠久使用最广泛的描述软件设计的方法,能直观地描述过程的控制流程,便于初学者掌握。

然而它也是用得最混乱的一种方法。

(a)选择(分支);(b)注释;(c)预先定义的处理;(d)多分支;(e)开始或停止

(f)准备;(g)循环上界限;(h)循环下界限;(i)虚线;(j)省略符;(k)并行方式;(l)处理;(m)输入输出;(n)连接;(0)换页连接;(p)控制流

Ø盒图(N-S图)

盒图,又称为N-S图。

每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句或语句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套深度一般没有限制,只要整张图可以在一张纸上容纳下就行

(a)顺序(b)IF_THEN_ELSE型分支(c)CASE型多分支(d)循环(e)调用子程序A

ØPAD图

PAD是问题分析图(ProblemAnalysisDiagram)的英文缩写,

它是由程序流程图演化而来,用二维树形结构的图来表示程序的控制流,将这种图翻译成程序代码比较容易。

 

Ø判定表

判定表由4部分组成,左上部列出所有条件,左下部是所有可能做的动作,右上部是表示各种条件组合的一个矩阵,右下部是和每种条件组合相对应的动作。

判定表右半部的每一列实质上是一条规则,规定了与特定的条件组合相对应的动作。

Ø判定树

判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。

判定树的优点在于,它的形式简单到不需任何说明,一眼就可以看出其含义,因此易于掌握和使用

ØPDL

过程设计语言(PDL)是一种用于描述功能模块的算法设计和加工细节的语言。

它是一种伪码。

它是用正文形式表示数据和处理过程的设计工具。

(例子如下)

 

4、程序复杂度的度量

ØMcCabe方法

McCabe方法根据程序控制流的复杂程度定量度量程序的复杂程度,这样度量出的结果称为程序的环形复杂度。

所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。

掌握将伪码—程序流图—环形复杂度计算—路径测试这类题型。

环形复杂度定量度量程序的逻辑复杂度。

有了描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。

(1)流图中的区域数等于环形复杂度。

(2)流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。

(3)流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。

ØHalstead方法

Halstead方法是另一个著名的方法,它根据程序中运算符和操作数的总数来度量程序的复杂程度。

令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为:

N=N1+N2

详细设计完成之后,可以知道程序中使用的不同运算符(包括关键字)的个数n1,以及不同操作数(变量和常数)的个数n2。

Halstead给出预测程序长度的公式如下:

H=n1*log2n1+n2*log2n2

Halstead还给出了预测程序中包含错误的个数的公式如下:

E=N*log2(n1+n2)/3000

第七章实现

1、编码中需要注意的地方

A.选择程序设计语言

选择语言主要实用标准:

1)系统用户的要求

2)可以使用的编译程序

3)可以得到的软件工具

4)工程规模

5)程序员的知识

6)软件可移植性要求

7)软件的应用领域

B.编码风格

源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标准,为了做到这一点,应该遵循下述规则。

1)程序内部的文档

2)数据说明

3)语句构造

4)输入输出

5)效率

2、软件测试基本知识

软件测试目标

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

(3)成功的测试是发现了至今为止尚未发现的错误的测试。

软件测试准则

(1)所有测试都应该能追溯到用户需求。

(2)应该远在测试开始之前就制定出测试计划。

(3)把Pareto原理应用到软件测试中。

(4)应该从“小规模”测试开始,并逐步进行“大规模”测试。

(5)穷举测试是不可能的。

(6)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。

软件测试方法

测试任何产品都有两种方法:

(1)黑盒测试(又称为功能测试)

如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;

(2)白盒测试(又称为结构测试)

如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。

软件测试步骤

(1)模块测试

(2)子系统测试

(3)系统测试

(4)验收测试

(5)平行运行

3、测试阶段的信息流

(1)软件配置:

包括需求说明书、设计说明书和源程序清单等;

(2)测试配置:

包括测试计划和测试方案。

4、单元测试

单元测试集中检测软件设计的最小单元——模块。

通常,单元测试和编码属于软件过程的同一个阶段。

在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误

测试重点

(1)模块接口:

对通过模块接口的数据流进行测试

(2)局部数据结构:

局部数据结构是常见的错误来源。

(3)重要的执行通路:

由于通常不可能进行穷尽测试,因此,在单元测试期间选择最有代表性、最可能发现错误的执行通路进行测试就是十分关键的。

(4)出错处理通路

(5)边界条件:

单元测试中最后的也可能是最重要的任务。

5、集成测试:

是测试和组装软件的系统化技术

模块组装的两种方法:

Ø一种方法是先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,这种方法称为非渐增式测试方法;

Ø另一种方法是把下一个要测试的模块同已经测试好的那些模块结合起来进行测试,测试完以后再把下一个应该测试的模块结合进来测试。

这种每次增加一个模块的方法称为渐增式测试,这种方法实际上同时完成单元测试和集成测试。

Ø当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。

6、确认测试:

也称为验收测试,它的目标是验证软件的有效性。

Ø验证:

指的是保证软件正确地实现了某个特定要求的一系列活动;

Ø确认:

指的是为了保证软件确实满足了用户需求而进行的一系列活动

7、白盒测试

逻辑覆盖(8种逻辑覆盖)

1.语句覆盖

语句覆盖的含义是,选择足够多的测试数据,使被测程序中每个语句至少执行一次。

2.判定覆盖

判定覆盖又叫分支覆盖,它的含义是,不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。

3.条件覆盖

条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。

4.判定/条件覆盖

既然判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,自然会提出一种能同时满足这两种覆盖标准的逻辑覆盖,这就是判定/条件覆盖。

5.条件组合覆盖

条件组合覆盖是更强的逻辑覆盖标准,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。

6.点覆盖

满足点覆盖标准要求选取足够多的测试数据,使得程序执行路径至少经过流图的每个结点一次

7.边覆盖

为了满足边覆盖的测试标准,要求选取足够多测试数据,使得程序执行路径至少经过流图中每条边一次。

通常边覆盖和判定覆盖是一致的。

8.路径覆盖

路径覆盖的含义是,选取足够多测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)

控制结构测试(基本路径测试)

使用基本路径测试技术设计测试用例的步骤如下:

第一步:

根据过程设计结果画出相应的流图。

第二步:

计算流图的环形复杂度。

环形复杂度定量度量程序的逻辑复杂性。

第三步:

确定线性独立路径的基本集合。

所谓独立路径是指至少引入程序的一个新处理语句集合或一个新条件的路径,用流图术语描述,独立路径至少包含一条在定义该路径之前不曾用过的边。

使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数是确保程序中所有语句至少被执行一次所需的测试数量的上界。

通常在设计测试用例时,识别出判定结点是很有必要的。

本例中结点2、3、5、6和10是判定结点。

第四步:

设计可强制执行基本集合中每条路径的测试用例。

应该选取测试数据使得在测试每条路径时都适当地设置好了各个判定结点的条件。

在测试过程中,执行每个测试用例并把实际输出结果与预期结果相比较。

一旦执行完所有测试用例,就可以确保程序中所有语句都至少被执行了一次,而且每个条件都分别取过true值和false值。

8、黑盒测试

等价划分

等价类划分的思想是将输入数据按有效的(合理的)和无效的(不合理的)划分成若干个等价类,认为测试等价类中的一个代表值的结果就等于对该类其他值的测试。

边界值分析

边界值分析(boundaryvalueanalysis,BVA)是指设计测试用例,使程序在输入或输出的边界值或者边界值左右的值执行。

错误推测

错误推测法的基本思想是:

程序测试员通过已经掌握的测试理论和实际测试中积累的经验,推测程序在哪些情况

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2