烟筒帮内部资料(第一阶段).doc

上传人:仙人指路1688 文档编号:2292829 上传时间:2023-02-09 格式:DOC 页数:93 大小:842KB
返回 下载 相关 举报
烟筒帮内部资料(第一阶段).doc_第1页
第1页 / 共93页
烟筒帮内部资料(第一阶段).doc_第2页
第2页 / 共93页
烟筒帮内部资料(第一阶段).doc_第3页
第3页 / 共93页
烟筒帮内部资料(第一阶段).doc_第4页
第4页 / 共93页
烟筒帮内部资料(第一阶段).doc_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《烟筒帮内部资料(第一阶段).doc》由会员分享,可在线阅读,更多相关《烟筒帮内部资料(第一阶段).doc(93页珍藏版)》请在三一办公上搜索。

1、第一阶段知识汇总版本号:V1.1作 者 姓 名: 烟筒帮 学 科 专 业: 软件测试 班 级 : 北京04期 主 讲 教 师: 徐林林、商莉 文 档 类 型:第一阶段 汇 总 完 成 日 期: 2007-9-7 错误猜测异常分析状态迁移流程分析正交试验法判定法 因果图 输出域覆盖输入域覆盖边界值 等价类 黑盒白盒程序插装逻辑覆盖信息流分析数据流分析控制流分析其他 处理过程条件组合输入输出整体特性内部实现动态分析静态分析SRS HLD LLD GUIDB 编码 调试 白盒 灰盒 黑盒软件质量流程技术组织开发技术测试技术UTITST分析设计编码ISO9001 CMM 6西格玛质量体系瀑布模型螺旋模

2、型RUP模型IPD模型V&V模型常见的项目组织结构需求管理配置管理同行评审缺陷管理版块整理负责人说明:人员编号内容版块负责人001需求管理、配置管理、同行评审、缺陷管理陈琴昭002质量体系 ISO9001、CMM、6西格玛田野003铁三角-组织结构、质量模型诸葛004铁三角-流程秦英凯005技术-灰盒(IT)、白盒(UT)李志超006技术-黑盒(ST)、汇总李锋007测试基础,总结归纳英语缩写总结陈婷婷008测试工具,SQA统计规范,驱动桩编写,缺陷跟踪统计孙媛需求:以软件开发铁三角为中心,每个人负责补充对应版块的知识。时间:2天时间。(汇总日期9月2日)-(评审日期9月4日)-(修改完成日期

3、-待定)说明:下面有第一阶段计划重点(汇集前辈以及高手的总结,相当全面),方便大家整理时的理解。各内容如有不明白的地方,赶紧和帮里其他人沟通。人员编号负责人完成度完成日期001陈琴昭100%+5%2007-9-2002田野99%2007-9-2003诸葛100%2007-9-1004秦英凯100%+2%2007-9-2005李志超99%2007-9-1006李锋100%2007-9-4007陈婷婷95%2007-9-2008孙媛100%2007-9-2需求分析SRS评审SRS基线化系统测试的计划设计和实现ST计划ST方案ST用例概要设计HLD评审HLD基线化详细设计LLD评审LLD基线化编码代

4、码走查UT执行IT执行ST执行集成测试的计划设计和实现IT计划IT方案IT用例单元测试的计划设计和实现UT计划UT方案UT用例测 试 基 础7软 件 质 量10测 试 方 法18V&V模型(测试过程)21单 元 测 试23集 成 测 试29系 统 测 试37测 试 覆 盖 率49测 试 用 例 举 例51同 行 评 审53配 置 & 需 求 管 理56缺 陷 管 理58SQL SERVER61测试工具总结67第一阶段英语单词总结84复习问题总结88测 试 基 础1、 软件测试的目的:证明(表明软件能够工作) 检测(发现错误) 预防(管 理质量)2、 测试执行:单元测试(UT执行):一个测试用例

5、的测试执行; 集成测试(IT执行):一个测试用例集的测试执行; 系统测试(ST执行):不同测试阶段的测试执行。3、 回归测试的目的:a. 验证缺陷是否修复;b. 检测修改是否引入了新的错误。5、 软件测试的主要工作:a. 检视代码,评审开发文档;b. 进行测试设计,写作测试文档(测试计划、测试方案、测试用例等);c. 执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷最终得到了修正;d. 通过测试度量软件质量。6、 软件危机的出现主要表现在:a. 由于缺乏大型软件开发经验和软件开发数据积累,开发工作计划很难制定; b. 开发早期需求分析不够明确,造成开发后期矛盾集中暴露; c. 不遵循开发规范,

6、开发文档不完整,软件难以维护; d. 缺乏严密有效的软件质量检测手段,交付给用户的软件质量差。7、 软件危机的后果:a. 软件质量不高,很难稳定;b. 软件项目延期,进度无法控制;c. 成本增加,无法控制预算。8、 软件危机的根源:a. 根据摩尔定律,硬件发展很快,相应对软件系统的期望越来越高; b. 软件系统复杂性提高,需多人合作; c. 软件开发是人的智力活动,无法用已有的产业工程方法来组织管理。9、 软件生命周期的各个阶段:计划 需求分析 设计 编码 测试 运行 评价10、 设计:概要设计(HLD):在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块; 详细设计(LLD)

7、:对每个模块要完成的工作进行具体的描述。11、 软件研发相关要素:人员、过程、工具。12、 软件项目组人员组成:分析人员、设计人员、开发人员、测试人员、配置管理人员、SQA(质量保证人员);13、 软件研发流程类型:瀑布模型、螺旋模型、RUP流程、IPD流程。14、 软件研发中几个重要的过程:需求管理;配置管理;缺陷管理;同行评审。15、 常见的引入缺陷的原因:a. 开发过程缺乏有效的沟通,或者没有进行沟通; b. 软件复杂度越来越高; c. 编程中产生错误; d. 需求不断变更; e. 项目进度的压力; f. 不重视开发文档;g. 软件开发工具本身隐藏的问题。等等 软 件 质 量软件质量管理

8、体系:软件质量管理体系: ISO9000(2000版) CMM 六西格玛ISO 9001ISO 9000 ISO 9004 核心黄素 ISO9000:2000版标准ISO9000:制定管理理念和原则ISO9001:标准对组织质量管理体系必须履行的要求做了明确的规定,是对产品要求的进一进补充。(核心)ISO9004:是组织进行持续改进的指南标准。八项质量管理原则:一 以顾客为中心:组织依存于其顾客,因此,组织应理解顾客当前的和未来的需求, 满足顾客要求并争取赶超顾客期望。二 领导作用: 领导者将本组织的宗旨.方向和内部环境编统一起来,并创造使员工能 够充参与实现组织目标的环境。三 全员参与: 各

9、级人员是组织之本,只有他们的充分参与,才能使他们的才干为组 织带来最大的收益。四 过程方法: 将相关的资源和活动作为过程进行管理,可以更高效地得到期望的结 果。 五 管理的系统方法:针对设定的目标,识别.理解并管理一个由相互关联的过程的过程 所组成的体系,有助于提高组织的有效性和效率。六 持续改进:持续改进是组织的一个永恒的目标。七 基于事实的决策方法:对数据和信息的逻辑分析或直觉判断是有效决策的基础。八 互利的供方关系:通过互利的关系,增强组织及其供方创造价值的能力。其中与软件产品产品相关有:(一.三.六.七项)1、 软件质量的定义:一个实体的所有特性,基于这些特性可以满足明显的或隐含的需求

10、。而质量就是实体基于这些特性满足需求的程度。2、 软件质量的三个层次:a. 符合需求规格;b. 符合用户显示需求; c. 符合用户实际需求。3、 影响软件质量的因素:流程、技术、组织。流程:一组活动(活动是否都是必须的;活动角色之间的关系)过程:一组将输入转化为输出的相关联或相互作用的活动。4、 八项质量管理原则的意义:a. 是质量管理的理论基础; b用高度概括易于理解的语言所表述的质量管理的最基本,最通用的一般性规律; c. 为组织建立质量管理体系提供了理论依据; d. 是组织的领导者有效的实施质量管理工作必须遵循的原则。5、CMM 软件质量成熟度模型 CMM(Capabillty Matu

11、rity Model)由于美国软件工程研究所(SEI)受美国国防部委托立项。开发人:Watts Humphrey.1991年推出CMM1.0版,1993年提出CMM1.1版现在开发CMMI(CMM Integration)软件能力成熟度模型CMM(提倡过程决定质量)5优化级 Optimizing关注过程改进 持续改进过程4已管理级Managed过程被测量并受控 可预测的过程 管理变更3已定义级Defined过程被描述,并得到良好理解 标准、一致的过程 产品过程质量2可重复级Repeatable可重复以前的主要经验1初始级initial不可预测并且缺乏控制 纪律的过程 集成工程过程 项目管理CM

12、M1级特点:(个人英雄主义)A项目的成功依赖于一个非常优秀的项目经理的团队。B无法重复以往成功的实践。C缺乏基本配置管理可视度:整个过程不可预测,不可见,不可控。(过程管理非常混乱)CMM2级特点:(有纪律)能够重复以前成功的经验和实践。引入合理需求变更(需求管理)测试与开发分离,整个过程能力可概括为有纪律的。可视度原始需求需求分析设计编码测试产品CMM3级特点:(有过程,经过同行评审)组织中有一个专门负责组织的标准软件过程。(SEPG)可视度同CMM2但整个过程是标准和一致的。CMM4级特点特点:(量化管理)过程能力是可预防的,因为过程是已测量的并在可测的范围内运行。组织能定量地预测过程和产

13、品质量方面趋势。软件产品具有可预测的高质量。可视度同CMM3但整个过程是可预测的。CMM5级特点特点:(改进过程本身)通过缺陷来发现过程的不足。新的开发技术促使改进过程。可视度同CMM4级整个是以改进的。CMM1:初始级,Initial,不可预测并且缺乏控制;CMM2:可重复级:Repeatable,可重复以前的主要经验;(关键过程区域:需求管理;软件项目计划;软件项目跟踪和监督;软件子合同管理;软件质量保证;软件配置管理。)CMM3:已定义级:Defined,过程被描述,并得到良好理解;(关键过程区域:组织过程定义;组织过程焦点;培训大纲;集成软件管理;软件产品工程;组际协调;同行评审。)C

14、MM4:已管理级:Managed,过程被测量并受控;(关键过程区域:定量的过程管理;软件质量管理。)CMM5:优化级,Optimizing,关注过程改进。(关键过程区域:缺陷预防;技术变更管理;过程变更管理。)7、 CMM的用途:a. 评估组用来识别组织中的强处和弱处; b. 评价组用来识别选择不同的业务承包商的风险和监督合同; c. 管理者用来了解其组织的能力,并了解为了提高其能力成熟度而进行软件过程改进所需进行的活动; d. 技术人员和过程改进组用来作为指南,指导他们在组织中定义和改进软件过程。8、 ISO9001和CMM的关系: 相似点:强调管理、过程、规范化和文档化; 不同点:CMM把

15、焦点对准软件;ISO9001的范围包括:硬件、软件、流程性材料和服务; 两者关系:CMM2级与ISO9001强相关;CMM的每个关键过程域至少按某种解释与ISO9001弱相关。六西格玛管理法(强调组织能力)本质:全面质量管理,而不仅仅是质量提高手段六西格玛实施方式: DMAIC过程5控制control 推行控制系统 4改进Improve 优化解决方案3分析Analyse 研究资料,确定原因 收集资料,寻找原因1定义Define 提出问题,确定目标2测量Measure9、 软件质量模型: 功能性:当软件在指定条件下使用时,软件产品提供满足明确和隐含需求的功能的能力。包括:适合性;准确性;互操作性

16、;保密安全性;功能性的依从性。 可靠性:在指定条件下使用时,软件产品维持规定的性能级别的能力。包括:成熟性;容错性;易恢复性;可靠性的依从性。 易用性:在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。包括:易理解性;易学性;易操作性;吸引性;易用性的依从性。 效 率:在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。包括:时间特性;资源利用性;效率依从性。 维护性:软件产品可被修改的能力。修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应。包括:易分析性;易改变性;稳定性;易测试性;维护性的依从性。 可移植性:软件产品从一种环境迁移到另外一种环境的

17、能力。包括:适应性;易安装性;共存性;易替换性;可移植性的依从性。10、 软件质量活动:软件质量保证(SQA)和测试;SQA从流程方面保证软件的质量、测试从技术方面保证软件的质量、只进行SQA或者只进行测试活动不一定能产生好的软件质量。11、 SQA的主要工作范围: 指导并监督项目按照过程实施; 对项目进行度量、分析,增加项目的可视性; 审核工作产品,评价工作产品和过程质量目标的复合度; 进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进。12、 度量:对事物属性的量化表示;软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构建或生命周期过程具有的某个给定属性的度的

18、一个定量测量。目的: 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本; 提高软件产品质量,提高用户满意度; 为组织持续改进提供量化的指标和反馈。13、 软件度量的作用:理解;预测;评估;改进。分类:规模;工作量;进度;质量 如何将度量的知识应用于实际工作中:建立测试工作的度量数据,目的是作为预测和改进的基础(a. 熟悉需求:进度、工作量、规模;b. 设计用例:工作效率、覆盖率;c. 执行用例:工作效率、缺陷密度;)测 试 方 法1、 什么是白盒测试: 白盒测试是依据被测软件分析程序内部构造,并根据内部构造设计用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况; 白盒测试

19、是基于程序结构的逻辑驱动测试; 白盒测试又可以被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试。2、 为什么进行白盒测试: 一般在测试前期进行,通过达到一定的逻辑覆盖率指标,使得软件内部逻辑控制结构上的问难题能基本得到消除; 能保证内部逻辑结构达到一定的覆盖程度,能够给予软件代码质量更大的保证; 发现问题后解决问题的成本较低。3、 白盒测试的常用技术: 静态分析:控制流分析、数据流分析、信息流分析等; 动态分析:逻辑覆盖测试(分支测试、路径测试等)、程序插装等。4、 控制流相关概念:程序元素、控制流关系、控制流图、控制流矩阵。(步骤:5)5、 控制流分析能发现的问题:转向并不

20、存在的标号;没有用的语句标号;从程序入口进入后无法达到的语句;不能达到停机语句的语句。6、 数据流相关概念:数据的定义;数据的引用。(步骤:3)7、 数据流分析的作用:分析代码中关于数据定义和引用方面的错误;进行代码优化。(赋值语句运算效率高)8、 信息流分析:输入变量和语句关系;语句和输出变量关系;输入和输出变量管 理。(步骤:4)9、 覆盖率工具的作用: 分析被测试代码控制结构,决定插装位置; 实施插装; 将插装代码重新编译; 执行被测对象,根据插装的监控哨信息统计覆盖率。10、 白盒测试的特点: 测试人员需要了解软件的实现; 可以检测代码中的每条分支和路径; 解释隐藏在代码中的错误; 对

21、代码的测试比较彻底; 实现代码结构上的优化; 白盒测试投入较大,成本高; 白盒测试不验证规格的正确性。11、 什么是黑盒测试: 黑盒测试把被测对象看成一个黑盒,只考虑其整体特性,不考虑其内部具体实现; 黑盒测试针对的被测对象可以是一个系统、一个子系统、一个模块、一个子模块、一个函数等。 黑盒测试又可以被称为基于规格的测试。12、 常见的黑盒测试类型:功能性测试;容量测试;负载测试;恢复性测试。13、 系统测试的时候,如果没有SRS时,有两类BUG无法发现:需求遗漏;需求偏差。14、 黑盒测试的优点:对于更大的代码单元来说(子系统甚至系统级)比白盒测试效率要高; 测试人员不需要了解实现的细节,包

22、括特定的编程语言; 从用户的视角进行测试,很容易被大家理解和接受; 有助于暴露任何与规格不一致或有歧义的问题。15、 黑盒测试的缺点: 没有清晰和简明的规格,测试用例是很难设计的; 不能控制内部执行路径,会有很多内部程序路径没有被测试到;不能直接针对特定的程序段,这些程序可能非常复杂(因此可能隐藏更多的问题)。16、 动态和静态测试的分类依据在于:被测对象是否运行起来。17、 手工静态分析同行评审:正规检视;技术评审;走查。评审对象:计 划、需求文档、设计图、代码等。18、 自动化静态分析:静态验证;语法分析器;符号执行器。 自动化测试的限制(板书): 自动化测试不具备想象力,不能够检查脚本中

23、给定的观察点之外的错误; 自动化测试只能提高测试效率,不能提高测试效果,不能发现比人工测试更多的问题;如被测对象不稳定,存在变动性的话不适合开展自动化测试,否则脚本的编写和维护所耗费的时间可能远大于人工测试; 只有手工测试积累到一定程度(提供更多的观察点),才能做好自动化测试。V&V模型(测试过程)1、 验证与确认V&V:验证(VERIFICATION)强调过程;确认(VALIDATION)强调 结果。2、 V&V告诉我们: 尽早测试(尽早准备、尽早执行); 全面测试(文档、代码) 全过程测试(测试参与到开发过程中、对测试过程全程跟踪) 测试是独立的、迭代的。系统测试执行集成测试执行单元测试执

24、行代码审查需求分析SRS评审SRS基线化概要设计HLD评审HLD基线化详细设计LLD评审LLD基线化CODE系统测试计划系统测试方案设计系统测试用例设计集成测试计划集成测试方案设计集成测试用例设计单元测试计划单元测试方案设计单元测试用例设计3、 单元、集成、系统测试的比较:测试方法不同;考察范围不同;评估基准不同。4、 回归测试策略:完全重复测试;选择性重复测试(覆盖修改法;周边影响法; 指标达成方法;选择重要级别高的测试用例)5、 其他测试阶段:验收测试;a(ALPHA)测试;B(BETA)测试。6、 主要的测试文档:测试计划;测试方案;测试用例;测试规程;测试报告;测试日报。单 元 测 试

25、1、 单元测试的目的:在于发现各模块内部可能存在的各种错误主要是基于白盒测试。 验证代码是与设计相符合的; 发现设计和需求中存在的错误; 发现在编码过程中引入的错误。(和设计不相符 / 和设计相符,但是由于编码疏漏引起)2、 孤立的测试策略: 方法:不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块。每个模块进行独立的单元测试。 优点:该方法是最简单,最容易操作的。可以达到高的结构覆盖率。该方法是纯粹的单元测试。 缺点:桩函数和驱动函数工作量很大,效率低。3、 自顶向下的单元测试策略: 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面

26、已测试的单元做驱动模块。如此类推直到测试完所有模块。 优点:可以节省驱动函数的开发工作量,测试效率较高。 缺点:随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。4、 自底向上的单元测试策略: 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块。以此类推,直到测试完所有模块。 优点:可以节省桩函数的开发工作量,测试效率较高。 缺点:不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很大的影响。5、 单元测试的四个阶段: 测试计划:完成单元测试计划; 测试设计:完

27、成单元测试方案; 测试实现:完成单元测试用例、单元测试规程、单元测试脚本及数据文件; 测试执行:执行单元测试用例,修改发现的问题并进行回归测试,提交单元测试报告。 单元测试:桩&驱动举例:无论是单元测试还是集成测试都涉及到以下三个函数:主控函数:int ctrl(int x, int y)加法函数:int add(int x, int y)减法函数:int sub(int x, int y)注意:进行单元测试时,设计用例时依据的是LLD;进行集成测试时,设计测试用例依据的是HLD。下面给出来的是需要测试的实际的代码。int ctrl(int x, int y)int temp=0;if(x=y

28、) temp=add(x, y);else temp=sub(x, y);return temp;int add(int x, int y) return(x+y);int sub(int x, int y) return(x-y); 自顶向下单元测试策略不同测试步骤中的驱动可以写到一起,也可以分开写,这里是写到一起了。 测试ctrl函数需要写一个驱动和两个桩。 驱动函数void driver()int ret=0;ret=ctrl(2,1); /xyif(ret=3) printf(“testcase JISUAN_UT_CTRL_001 pass”);else printf(“testca

29、se JISUAN_UT_CTRL_001 fail”);ret=ctrl(1,1); /x=yif(ret=2) printf(“testcase JISUAN_UT_CTRL_002 pass”);else printf(“testcase JISUAN_UT_CTRL_002 fail”);ret=ctrl(1,2); /x=y) temp=stub_add(x, y);else temp=stub_sub(x, y);return temp; 测试add函数 驱动函数同测试ctrl函数时的驱动 桩函数同测试ctrl函数时sub函数对应的桩 修改代码int ctrl(int x, int

30、 y) int temp=0;if(x=y) temp=add(x, y); if(x=2 & y=1 & temp=3) printf(“testcase JISUAN_UT_ADD_001 pass”); else printf(“testcase JISUAN_UT_ADD_001 fail”); if(x=1 & y=1 & temp=2) printf(“testcase JISUAN_UT_ADD_002 pass”); else printf(“testcase JISUAN_UT_ADD_002 fail”);else temp=stub_sub(x, y);return te

31、mp; 测试sub函数 驱动函数同测试ctrl函数时的驱动 桩函数无 修改代码int ctrl(int x, int y) int temp=0;if(x=y) temp=add(x, y);else temp=sub(x, y); if(x=1&y=2 & temp=-1) printf(“testcase JISUAN_UT_SUB_001 pass”); else printf(“testcase JISUAN_UT_SUB_001 fail”);return temp; 集 成 测 试一 What:什么是集成测试集成测试(Integration Testing) 集成测试也叫组装测试、

32、联合测试、部件测试、子系统测试集成测试测什么 1.外部接口:各件呐在一起后表现的功能 2.内部接口:各件间的接口是否正确集成苏的目的验证软件的组建对概要设计说明书的符合度集成测试的评估基准: 接口覆盖率 A.接口被测试到的百分比 B.接口的等价类、边界值的覆盖率二 Why:为什么要做集成测试一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。虽然已经有了IT和ST,但IT和UT、ST关注点不一样,它们互为补充反分解性公理:为一个被测模块获得的覆盖并不能覆盖他所调用的模块。反组合性公理:对于一个模块中的对各子模块

33、分别合适的测试包并不一定对作为一个整体的模块合适三 Who:谁做集成测试开发人员做 A优势:一般来说,编程能力稍强 B劣势:Protect(就像变形金刚的汽车人),心理上不愿意否定自己的劳动成果,职责是保护程序测试人员做 A优势:Destroy(就像变形金刚的霸天虎),心理上追求完美,职责是挑刺、破坏程序 B劣势:目前的现状,大部分tester编程能力不够四 When:什么时候做集成测试4.1 集成测试所处的测试过程集成测试所处的测试过程 A.测试准备活动在开发活动时可以并行开展,如开始做HLD设计时就可以开始做ITP了 B.测试执行活动在单元测试的基础上进行五. Where:对什么部分做集成

34、测试子系统间集成(系统内集成)模块间集成(子系统内集成)函数间集成(模块内集成)六. How:怎么做集成测试6.1 测试过程的制定6.1.1 计划根据SVVP制定ITP6.1.2 设计根据ITP制定IT方案6.1.3 实现根据IT方案制定IT用例6.1.4 执行根据IT用例进行集成测试,提交Bug Report,回归测试6.2 采用的测试方法6.2.1 灰盒测试随集成层次不同,灰度随之相应变化6.3 制定集成测试策略 Test Strategy6.3.1 根据被测对象(层次)选择合适的策略1大爆炸集成 Big Bang 优点方法简单、效率高缺点急于求成,成功率不高大海捞针,导致即使发现问题也难

35、以定位(无法故障隔离)囫囵吞枣,许多内部接口的错误被漏测适用范围小项目、维护型项目软件结构不清晰的系统2自顶向下集成 Top-Down子策略深度优先(Depth-First)广度优先(Broadth-First)优点A.主控模块(高层组件)得到较早验证B.深度优先策略能够较早验证一个完整的功能,增强了开发信心C.基本不需要开发驱动,减少了这部分的工作量D.和高层设计顺序一致,方便并行开展E.定位问题容易,支持故障隔离缺点A.需要开发大量的桩,工作量、成本太大B.底层变更可能导致测试推倒重来C.底层组件的验证较晚,测试不充分适用范围A.软件结构清晰的系统B.高层接口变化小,底层接口变化大C.主控

36、模块风险大,需尽早验证D.希望尽早看到系统一部分功能3自底向上集成 Bottom-Up优点A.底层组件得到较早验证B.测试初期可以并行集成,效率高C.由于驱动模块是额外编写的,对被测模块的可测试性要求较低D.减少了开发桩的工作量E.定位问题容易,支持故障隔离缺点A.需要开发大量的驱动,工作量、成本同样很高B.对高层的验证太晚了,设计上的缺陷不能被及早发现C.集成到顶层后,对于底层异常将难以覆盖。而使用桩将简单得多适用范围A.软件结构清晰的系统B.底层接口稳定、或先被开发出来C.高层接口变化较频繁4 三明治集成(分而治之策略) 又分为传统型和改进型 Sandwich优点融合了自顶向下和自底向上两种策略的优点缺点中间层测试要么不充分,要么测的充分但开发驱动和桩的工作量大适用范围软件结构清晰的系统基本都适合采用5基干集成(内

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号