8软件工程考试重点
软件工程课程考试重点知识汇总

概论1.软件的定义软件是计算机系统中与硬件相互依存的一个部分,它是包括程序、数据及其相关文档的完整集合。
其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。
2.软件工程的定义和三要素IEEE:软件工程是开发、运行、维护和修复软件的系统方法。
Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
三个要素:方法、工具和过程。
方法为软件开发提供了“如何做”的技术。
它包括了多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法过程的设计、编码、测试以及维护等。
工具为软件工程方法提供了自动的或半自动的软件支撑环境。
目前,已经推出了许多软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程(CASE)的软件开发支撑系统。
CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起来形成一个软件工程环境。
过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。
过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。
3.软件工程和软件危机的关系现有软件危机后有软件工程为了解决软件危机,既要有技术支持措施(方法和工具),又要有必要的组织管理措施。
软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。
4.软件生命周期的概念,划分的三个时期和八个阶段概念:软件生命周期是软件的产生直到报废的生命周期三个时期:软件定义,软件开发,运行维护8个阶段:问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃5.理解结构化软件开发方法和面向对象软件开发方法结构化开发方法:早期的程序开发,如C语言,都是用结构化开发方法。
《软件工程》经典考试例题题,重点的知识点(含答案)

1.某旅馆的电话服务如下:可以拨分机号和外线号码。
分机号是从7201至7299。
外线号码先拨9,然后是市话号码或长话号码。
长话号码是以区号和市话号码组成。
区号是从100到300中任意的数字串。
市话号码是以局号和分局号组成。
局号可以是455,466,888,552中任意一个号码。
分局号是任意长度为4的数字串。
要求:写出在数据字典中,电话号码的数据流条目的定义即组成。
电话号码=[分机号|外线号码]分机号=7201 (7299)外线号码=9+[市话号码|长话号码]长话号码=区号+市话号码区号=100 (300)市话号码=局号+分局号局号=[455|466|888|552]分局号=4{数字}4数字=[0|1|2|3|4|5|6|7|8|9]2.为以下程序流程图分别设计语句覆盖和判定覆盖测试用例,并标明程序执行路径。
(1)语句覆盖测试用例令x=2,y=0,z=4作为测试数据,程序执行路径为abcde。
(2)判定覆盖可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(1分)(通过路径abce);x=2,y=1,z=2(1分)(通过路径acde)。
或者x=2,y=1,z=1;覆盖路径acdex=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce(注意:本题也还可以有其他答案)3.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装。
天气可能下雨,也可能不下雨;下雨或不下雨天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
4.对下列子程序进行调试:procedure example(y,z: real; var x: real)beginif (y>1)and (z=0) then x:=x/y;if (y=2) or (x>l) then x:=x+l;end.该子程序接受x, y, z的值,并将计算结果x的值返回给调用程序。
2021最新版《软件工程》期末考试重点背诵内容

1.什么是软件危机及其表现?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
2.什么是软件工程?答:软件工程是指导计算机软件开发和维护的一门工程学科,由需求分析、总体设计、详细设计、编码、测试、维护和演化等一系列分工明确的活动组成。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
3.什么是瀑布模型方法?(有利于大型软件开发过程中人员的组织及管理)答:按照时间顺序依次进行可行性分析、项目计划、需求分析、概要设计、详细设计、编码与单元测试、集成测试、确认验证、运行与维护等几个阶段进行软件开发。
图1 瀑布模型(软件生命周期模型)4.瀑布模型方法的优缺点:其优点体现在:(1)促进软件开发的工程化。
(2)提高了软件的成功率和质量。
(3)加强了软件开发的管理过程。
(4)强调了文档的作用,保护了软件开发商的利益。
其缺点体现在:(1)瀑布模型僵化的划分阶段、缺乏灵活性,对于软件需求不明确或不准确的问题,由于其开发模型是线性的,所以瀑布模型的风险控制能力较弱。
一方面用户只有等到整个过程的后期才能见到开发成果,中间提出的变更要求很难响应。
另一方面体现在早期的错误可能要等到开发后期的测试阶段才能发现,这样会带来严重的后果。
(2)增加了软件开发的工作量,由于开发过程各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
《软件工程》-重点考试知识点,简答

第一章1、软件概念:由计算机程序,数据,软件文档组成软件的特点:无法直接观察它的物理形态,只能通过观察他的是实际运行情况来了解他的功能特性和质量等;人们在分析设计开发测试过程以及软件开发项目的管理过程中渗透了大量的人类的脑力劳动;不存在磨损和老化但存在缺陷维护和技术更新的问题;开发运行依赖一定的计算机系统环境;具有可复用性软件的分类:按功能分:系统支撑应用软件;按服务对象:通用定制软件;按规模:大中小型软件;按工作方式:实时分时交互式批处理2、软件危机:是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件的开发与维护过程中出现一系列严重问题的现象。
主要表现:●开发人员开发的软件产品不能完全满足用户的需求;●软件产品的质量难以得到保障;●开发周期开发经费和维护费用很难被准确估计从而给项目的管理带来很多麻烦;●随着技术的更新,用户的扩大,已有的软件产品不能灵活地适应环境的改变;●软件文档不完备并且存在文档内容与软件产品不符的情况。
原因:①软件开发是一项复杂的工程,需要用科学的工程化思想来组织和指导软件开发的各个阶段②没有完善的质量保证体系③软件文档的重要性没有得到软件开发人员和用户的足够重视④从事软件开发的专业人员对这个产业认识不够充分缺乏经验⑤软件独有的特点也给软件的开发和维护带来困难3、软件工程是指应用计算机科学与技术,数学和管理学的原理,运用工程学理论方法和技术,研究和指导软件开发和演化的一门交叉学科。
软件工程的目标:●使软件开发的成本控制在预计的合理范围内;●使软件产品的各项功能和性能能够满足用户需求;●提高软件产品的可靠性;●使生产出来的软件产品易于移植维护升级和使用;●使软件产品的开发周期能够控制在预计的合理时间范围内。
软件工程学科内容:●软件工程原理过程方法模型管理度量环境应用。
软件工程的基本原则:●将软件的生命周期划分为多个阶段,对各个阶段实施严格的项目管理;●坚持阶段评审制度已确保软件产品的质量;●实施严格的产品控制以适应软件规格的变更;●采用现代程序设计技术;开发出来的产品应该能够清楚地被审查;●合理地安排软件开发小组人员并且开发小组的人员要少而精;●不断改进软件工程的实践。
软件工程必背考点

软件工程必背考点软件工程是以工程法为基础的一门学科,涉及到软件开发的各个方面,包括需求分析、设计、编码、测试、维护等。
在软件工程的学习和实践中,有一些重要的考点需要我们掌握和理解。
本文将介绍一些软件工程的必背考点,以帮助读者更好地复习和准备软件工程的考试。
一、软件生命周期模型软件生命周期模型是指软件开发过程中不同阶段的组织、管理和控制方法。
常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。
熟悉和理解不同的软件生命周期模型对于项目管理和开发具有重要的意义。
二、需求工程需求工程是软件工程的重要组成部分,其目标是明确软件系统需要满足用户和利益相关者的需求。
需求工程包括需求获取、需求分析、需求规格说明等过程,需要掌握需求工程中的各种技术和方法。
三、软件设计软件设计是将需求转化为具体的设计方案和结构的过程。
软件设计包括结构设计、模块化设计、接口设计等,需要掌握设计的原则和方法,以及常用的设计模式和设计工具。
四、软件测试软件测试是确保软件系统质量的重要手段。
软件测试包括单元测试、集成测试、系统测试、用户验收测试等,需要掌握各种测试方法、策略和工具,以及缺陷管理和跟踪的技巧。
五、软件维护软件维护是软件工程的一个重要阶段,用于确保软件系统的可靠性和稳定性。
软件维护包括纠错性维护、适应性维护、完善性维护等,需要掌握维护的方法和技巧,以及版本管理和配置管理的工具和流程。
六、软件过程改进软件过程改进是为了提高软件开发过程的质量和效率而进行的系统性改进。
软件过程改进包括CMMI模型、SPICE模型等,需要了解软件过程改进的原理和方法,以及评估和度量的指标体系。
七、软件项目管理软件项目管理是为了成功地完成软件项目而进行的计划、组织、协调和控制的过程。
软件项目管理包括项目计划、资源管理、风险管理等,需要掌握项目管理的理论和实践,以及项目管理工具和技术。
八、软件工程伦理和专业责任软件工程伦理和专业责任是软件工程师必备的素养。
(附答案)软件工程重点大题

答:结构程序设计的概念最早是由E. W. Dijkstra提出来的,他指出:“可以从高级语言中取消GOTO语句,程序质量与程序中所包含的GOTO语句的数量成反比”。并指出结构程序设计并非简单的取消GOTO语句,而是创立一种新的程序设计思想、方法和风格,以显著提高软件生产率和质量。
●需求分析与规格说明(明确系统的规格和要求);
●设计(包括概要设计和详细设计,将系统分解为模块);
●编程(用程序语言实现每个模块,简单容易);
●测试(发现并改正错误,分为模块测试、集成测试和系统联调三级);
●运行维护(扩充功能、纠错等)。
5.如何画分层数据流图?有哪些基本原则?
答:总的原则是:至顶而下,逐层分解(画分层数据流图)。逐层分解的画法可以控制每一层的复杂度。
答:以集中式的仓库模型为例。其主要优点:
(1)数据由某个子系统产生,并且被存储到仓库中,以便为另外一些子系统共享;
(2)由于中央集中控制的缘故,共享数据能得到有效的管理,各子系统之间不需要通过复杂的机制来传递共享数据;
(3)一个子系统不必关心其他的子系统是怎么使用它产生的数据;
(4)所有的子系统都拥有一致的基于中央数据仓库的数据视图。如果新子系统也采用相同的规范,则将它集成于系统中是容易的。
模块是由边界元素限定的相邻的程序元素的序列,而且有一个总体标志符来代表它。
所谓模块化,即是将一个大任务分成若干个较小的任务,较小的任务又细分为更小的任务,直到更小的任务只能解决功能单一的任务为止,一个小任务称为一个模块。各个模块可以分别由不同的人编写和调试。把大任务逐步分解成小任务的过程可以称为是“自顶向下,逐步细化”的过程。
数据结构的复杂性。要根据不同语言构造数据结构类型的能力选取合适的语言。C++、Java这样的高级语言显然比汇编语言的表达能力要强。
(完整word版)860软件工程学科基础综合

2)软件度量有哪些方法:生产率估计(基于规模(KLOC)、基于功能点掌握直接测量(基于规模)方法。
3)项目计划与风险管理的概念
《网络技术》考试内容如下:
1、计算机网络和因特网
(1)网络协议的概念
(2)802。11无线局域网:802.11的体系结构、MAC协议,以及在同一个IP子网中的移动过程
(3)无线个域网的基本概念:蓝牙和Zigbee技术
(4)蜂窝因特网的体系结构:3G
(5)移动管理的原理:寻址和路由选择到移动结点
7、多媒体网络
(1)多媒体网络的应用
(2)内容分发网络(CDN)的基本原理:CDN在YouTuBe、Netflix中的应用
1)软件生命周期概念、软件过程概念、能力成熟度模型CMM概念
2)常见的几种软件过程模型:瀑布、增量、原型、螺旋、喷泉等,比较各自优缺点
3.需求分析
重点是需求分析的一般步骤、数据流图、用例图、活动图、需求规格说明文档的编制。掌握结构化分析模型的导出、数据流图/用例图/活动图的基本画法和需求规格说明文档的编制;理解需求分析的过程、主要步骤.主要知识点:
考试科目
860软件工程学科基础综合
考试形式
笔试(闭卷)
考试时间
180分钟
考试总分
150分
一、总体要求
《软件工程学科基础综合》包括《软件工程》和《网络技术》两门课程,其中《软件工程》要求考生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握最基础的软件工程理论方法,并能应用到实际的软件项目开发中。《网络技术》要求学生掌握计算机网络的基本概念、基本原理和基本方法;掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理;能够运用计算机网络的基本概念、基本原理和基本方法进行网络系统的分析、设计和应用。两门课程各占总分的50%。
软件工程期末考试重点

《软件工程》期末复习重点第一章软件工程1.什么是软件工程。
A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。
2. 软件工程的三要素:方法、工具和过程。
第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。
概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。
c.运行维护:修正错误,使软件持久地满足用户需要。
改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。
如:瀑布模型的不足是不能适应需求的动态变更。
A.瀑布模型特点:可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证(评审)的。
缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格与用户需求之间有差异,就会发生这种情况。
只适用于项目开始时需求已确定的情况。
B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。
降低了规格说明文档变化的可能性。
减少了后续阶段错误的可能性。
c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
增量能够有计划地管理技术风险。
缺点:要求构件具备开放式的体系结构。
易退化为边做边改模型,从而使软件过程的控制失去整体性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.What is Software?(1)指令的集合(计算机程序),通过执行这些指令来满足预期的特征、功能和性能需求;(2)数据结构,使得程序可以合理的利用信息;(3)文档描述,用来描述程序操作和使用。
2.Software Engineering软件工程是)建立和使用一套合理的工程原则,以便经济地获得可靠的、可以在实际机器上高效运行的软件。
IEEE定义(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
(2)在(1)中所述方法的研究。
3.Process framework过程框架沟通communication、策划planning、建模modeling、构建construction、部署deployment4.Prescriptive Models惯用过程模型瀑布模型(系统的、顺序的、V模型是变体)增量过程模型(每个阶段运用线性序列、每个增量提交产品)演化过程模型(原型开发、螺旋模型)协同开发模型。
5.统一过程unified process UML统一建模语言一种用例驱动,以架构为核心,迭代并且增量的软件过程与统一建模语言的紧密结合。
6.Requirements Engineering需求工程起始、导出、精化、协商、规格说明、确认、需求管理。
7.Class-responsibility-collaborator(CRC)modeling CRC建模CRC模型实际上是表示类的标准索引卡的集合。
这些卡片分为三部分,顶部写类名,卡片主体左侧部分列出类的职责,右侧部分列出类的协作者。
职责:系统智能应用分布在所有类中以求最佳地满足问题的需求。
每个职责的说明应尽可能具有普遍性。
信息和与之相关的行为应放在同一个类中。
某个事物的信息应局限于一个类中而不要分布在多个类中。
适合时,职责应由相关类共享。
简单地说:职责就是类所知道或能做的任何事、协作者是提供完成某个职责所需要信息的类、通常,协作意味着信息请求或某个动作请求。
8.Architecture体系结构软件的整体结构和这种结构为系统提供概念完整性的方式属性:结构特性、外部功能特性、相关系统族。
rmation Hiding信息隐蔽模块中包含的信息(算法和数据)不被不需要这些信息的其他模块访问。
Why减少“负效应”的可能性.限制全局影响局部的设计决策.强调通过控制接口通信.不提倡使用全局数据.导致封装——高质量设计的属性.导致高质量软件10.Functional Independence功能独立可以通过两条定性的标准进行评估:内聚性和耦合性。
内聚性显示了某个模块相关功能的强度。
耦合性显示了模块间的相互依赖性。
11.refactoring重构重构是使用这样一种方式改变软件系统的过程:不改变代码[设计的外部行为而是改进其内部结构。
当重构软件时,检查现有设计:冗余性没有使用的设计元素低效的或不必要的算法拙劣的或不恰当的数据结构其他设计不足,修改这些不足以获取更好的设计。
12.Design Classes设计类高内聚性cohesion和低耦合性coupling一个内聚的设计类具有小的、集中的职责集合,并且专注于使用属性和方法来实现那些职责。
协作保持在一个可以接受的小范围内。
13.设计模型的元素design model elements1.数据设计元素:数据结构、数据库体系结构 2.体系结构设计元素:来源:应用领域、特定的需求模型元素(数据流图、分析类、现有问题中的关系和协作)、风格和模式 3.接口设计元素interface4.构件级设计元素 5.部署级设计元素14.软件体系结构architecture什么是软件体系结构?程序或计算机系统的软件体系结构是指系统的一个或多个结构,它包括软件构件、构件的外部可见属性以及他们之间的相互关系。
软件体系结构为什么重要?软件体系结构的表示有助于对计算机系统开发感兴趣的各方(利益相关者)开展交流。
体系结构突出了早期的设计决策,这些决策对随后所有的软件工程工作有深远影响,同时对系统作为一个可运行实体的最后成功有重要作用。
体系结构“构建了一个相对小的、容易理解的模型,该模型描述了系统如何构成以及其构件如何一起工作”。
15.Architectural style体系结构风格以数据为中心的体系结构、数据流体系结构、调用和返回体系结构、面向对象体系结构、层次体系结构。
16.What is a Component?什么是构件?系统模块化的、可部署的和可替换的部件,该部件封装了实现并暴露一组接口。
OO观点:构件包含一组协作的类传统观点:一个构件包含处理逻辑,实现处理逻辑所需的内部数据结构以及能保证构件被调用和实现数据传递的接口。
17.Cohesion内聚性:传统观点:构件的专一性、面性对象观点:内聚性意味着构件或者类只封装那些相互关联密切,以及与构件或类自身有密切关系的属性和操作。
分类:功能内聚、分层内聚、通信内聚。
18.coupling耦合性传统观点:构件之间彼此联系、构件和外部世界联系程度的一种度量、OO观点:类之间彼此联系程度的一种定性度量。
分类:内容、共用、控制、标记、数据、历程调用、类型使用、包含或者导入、外部。
19.software quality软件质量:在一定程度上应用有效的软件过程,创造有用的产品,为生产者和使用者提供明显的价值。
20.quality dimension质量维度:性能质量、特性质量、可靠性、符合性、耐久性、适用性、审美、感知。
21.Software Quality Assurance软件质量保证:标准、评审和审核、测试、错误/缺陷的收集和分析、变更管理、教育、供应商管理、安全管理、安全、风险管理。
22.软件质量保证目标:需求质量。
需求模型的正确性、完整性和一致性将对所有后续工作产品的质量有很大的影响。
、设计质量。
软件团队应该评估设计模型的每个元素,以确保设计模型显示出高质量,并且设计本身符合需求。
、代码质量。
源代码和相关的工作产品(例如,其他说明信息)必须符合本地的编码标准,并显示出易于维护的特点。
、质量控制有效性。
软件团队应使用有限的资源,在某种程度上最有可能得到高品质的结果。
23.measure reliability and availability可靠性和可用性测量:可靠性的简单测量是“平均失效间隔时间”(MTBF),其中MTBF=MTTF+MTTR首字母缩略词MTTF和MTTR分别是“平均失效时间”和“平均维修时间”。
软件可靠性是指在某个给定时间点上程序能够按照需求执行的概率。
其定义为:可用性=[MTTF/(MTTF+MTTR)]x100%24.software testing软件测试:测试是在交付产品给最终用户之前,带着特定的目的在运行程序的过程中发现错误。
25.验证与确认verification and validation:验证是指确保软件正确地实现某一特定功能的一系列活动。
确认指的是确保开发的软件可追溯到客户需求的另外一系列活动。
25.testing strategy测试策略:系统测试(整体)、确认测试(需求)、集成测试(体系结构的设计和构造):(主要自底向上、自顶向下、三明治次要回归测试、冒烟测试)、单元测试(源代码形式实现的每个单元)。
26.单元测试:通常被认为是编码阶段的附属工作。
由于构件并不是独立的程序,因此,必须为每个测试单元开发驱动程序和桩程序。
驱动程序只是一个主程序,接受数据并传递给构件,并打印结果。
桩程序的作用是替换那些从属于被测构件的模块。
桩程序使用从属模块的接口,可能做少量的数据操作,提供入口的验证,并将控制返回到被测模块。
27.regression testing回归测试回归测试重新执行已测试过的某些子集,以确保变更没有传播不期望的副作用。
无论什么时候修正软件,软件配置的某些方面(程序、文档或支持数据)也发生变更。
回归测试有助于保证变更(由于测试或其他原因)不引入无意识行为或额外的错误。
回归测试可以手工进行,方法是重新执行所有测试用例的子集,或者利用捕捉/回放工具自动进行。
28.smoke testing冒烟测试步骤:将已经转换为代码的软件构件集成到“构建”中去。
(一个构建包括所有的数据文件、库、可复用的模块以及实现一个或多个产品功能所需的工程化构件。
)设计一系列测试以暴露影响构建正确地完成其功能的错误。
(其目的是为了发现极有可能造成项目延迟的“业务阻塞”错误)。
每天将该构建与其他构建及整个软件产品(以其当前的形式)集成起来进行冒烟测试。
(这种集成方法可以是自顶向下,也可以自底向上。
)29.system testing系统测试:恢复测试、安全测试、压力测试、性能测试、部署测试。
30.debugging techniques调试方法:蛮干、回溯、归纳、原因排除。
31.Internal and External Views内部视角和外部视角任何工程化的产品(以及大多数其他东西)都可以采用以下两种方式之一进行测试:(黑盒测试)了解已设计的产品要完成的指定功能,可以执行测试以显示每个功能是可操作的,同时,查找在每个功能中的错误;(白盒测试)了解产品的内部工作情况,可以执行测试以确保“所有的齿轮吻合”——即内部操作依据规格说明执行,而且对所有的内部结构已进行了充分测试。
32.white box method白盒测试(1)保证一个模块中的所有独立路径至少被执行一次(2)对所有的逻辑判定均需测试取真和取假两个方面(3)在上下边界及可操作的范围内执行所有的循环(4)检验内部数据结构以确保其有效性。
33.Deriving Test Cases导出测试用例(1)以设计或源码为基础,画出相应的流图。
(2)确定所得流图的环复杂性。
(3)确定线性独立路径的基本集合。
(4)准备测试用例,强制执行基本集合中的每条路径。
34.简单循环Simple Loops(1)跳过整个循环(2)只有一次通过循环(3)两次通过循环(4)m次通过循环,m<n(5)n-1,n,n+1次通过循环。
(n是允许通过循环的最大次数)35.等价类划分equivalence partitioning等价类划分是一种黑盒测试方法,它将程序的输入划分为若干个数据类,从中生成测试用例。
36.SCM元素配置管理系统元素(1)构件元素——是一组具有文件管理系统(如,数据库)功能的工具,使我们能够访问和管理每个软件配置项。
(2)过程元素——是一个动作和任务的集合,它为所有参与管理、开发和使用计算机软件的人员定义了变更管理(以及相关活动)的有效方法。
(3)构造元素——是一组自动软件构造工具,用以确保装配了正确的有效构件(即,正确的版本)集。
(4)人员元素——为有效实施SCM,软件团队使用的一组工具和过程特性(包括其他CM元素)。