《2022年殷人昆《实用软件工程》复习资料 .pdf》由会员分享,可在线阅读,更多相关《2022年殷人昆《实用软件工程》复习资料 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、殷人昆实用软件工程复习资料第 1 页 共 19 页1.软件工程目标:正确性、可用性、适合销售活动:需求、设计、实现、V&V( 验证与确认 )、支持原则:开发泛型、设计方法、支持工具、工程管理WW 软件工程是开发,运行,维护和修复软件的系统方法,将系统化的,规范的,可度量的方法应用与软件的开发,运行维护的过程。即将工程化应用于软件中。2.软件过程中的基本活动(pdca)1.软件规格说明plan 2.软件开发do 3.软件确认check 4.软件演进action 3.瀑布模型: 需求 -系统设计 -实现单元测试-集成与系统测试-运营维护。他的显著特点是顺序性和依赖性。4.演化模型: 软件通过不断的
2、演化才能完成和完善,其显著特点是迭代。适合于业务和需求不断变更的开发过程,交付部分功能给客户,确认需求,逐步完善。5.螺旋模型: 将瀑布模型和演化模型结合起来,加入了风险分析。6.增量模型: 是将软件分解成一系列的增量的构件,在增量开发迭代中逐步加入,也叫极限程序设计。7.软件工程原则:a)抽象自顶向下,逐层细化b)模块化的开发方法c)信息隐蔽和数据封装。d)局部化e)一致性f)完备性g)可验证性8.软件工程基本原理:a)按软件生存期分阶段制定计划并认真实施b)坚持进行阶段评审c)坚持严格的产品控制d)使用现代程序设计技术e)明确责任f)用人少而精g)不断改进开发的过程9.识别用户要求,必须考
3、虑的问题:a)功能和性能b)可靠性和质量c)总的系统目标d)成本与进度的把控e)制造需求f)市场竞争情况g)有效的技术h)将来可能的扩展10. 可行性研究a)问题识别b)市场调查c)分析准备名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 2 页 共 19 页d)环境分析e)物理分析f)功能分析g)信息分析h)动态分析i)确立系统方案和成本估算j)模型评审k)成本可行性l)法律可行性11. 面向对象
4、设计面向对象 =对象 +分类+继承 +消息通信,基本组成部分叫对象,计算是通过新对象的确立和对象之间的通信来执行。相对于面向过程开发,核心:数据被封装在对象中,而不是全局变量中,数据流是通过消息传递,而不是面向过程解决办法。算法被包裹在对象中,实现功能。12. 统一建模语言:UML 概述Unified Modeling Language的缩写,他聚集了建模的精髓。数据建模(实体关系图ERD )业务建模(工作流)对象建模构件建模13. UML 图用例图: 描述系统边界和主要功能;主要该系统在它的上下文环境所提供的服务。1) 上下文环境建模: 主要指在位于系统之外并与系统进行交互的参与者以及他们扮
5、演的角色的含义。2) 功能需求建模:说明系统想要的行为。交互图(时序图,协作图):描述用例的实现,其主要描述了系统的外部视图,如何通过对象之间的交互实现用例。包括顺序图和协作图,顺序图也叫时序图或序列图,他是按照时间顺序来的。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 3 页 共 19 页类图: 标示系统的静态机构类图从系统的逻辑视图展现了一组类、接口、协作和它们之间的关系,类图给出系统的静态
6、设计视图 ,主动类的类图给出了系统的静态进程视图。其主要包括1) 类及其结构和行为2) 接口3) 协作4) 关联、依赖、泛化关系5) 多重性和导航指示符6) 角色名字类图的关系:父子关系实现关系关联关系(单向关联有箭头,多项无箭头)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 4 页 共 19 页聚合:整体和部分关系组合关系(也是整体与部分,但是部分离开整体无法存活)依赖关系(动物无法离开氧气,
7、为依赖关系)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 5 页 共 19 页整体类图状态图: 模型化对象的行为泳道图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 6 页 共 19 页泳道图构件图
8、和部署图:展现物理实现的体系结构衍型:扩展建模能力14. 软件需求:a)为满足用户解决某一问题而达到某个目标所需要的条件或者能力,系统或系统部件为满足合同、规格、标准说明或其他正式的强制性文档所必须具有的条件和能力。为满足以上条件和能力的文档化说明b)软件需求包括:业务需求、用户需求、功能需求、非功能性需求。c)业务需求: 描述了组织愿景,即为什么要开发一个系统;系统的业务范围、业务对象、 客户特性、价值和各种特性的优先级别。d)用户需求:描述了系统必须完成任务,即用户对系统的目标要求。它只涉及到外部可见行为,不涉及内部特性。是用户对自身需求的一种陈述。这种陈述可能与实际需求不一致。e)功能需
9、求:定义了开发者应该提供的软件功能或服务,但不涉及这些功能和服务的实现。f)非功能需求:对功能需求的补充,包括了对系统的各种限制和用户对系统的质量的要求。如系统响应时间或截面。i.包括产品必须遵从的标准、规范和合约ii.外部接口的具体细节iii.性能要求iv.设计实现的约束条件15. 需求获取的过程需求获取包括以下活动:(a)发现和分析问题(b)获取需求名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料
10、第 7 页 共 19 页(c)需求归档需求获取的主要步骤(a)理解业务领域,即目标软件的业务环境,如银行、电信,了解后可以建立自对业务理解后的数据模型。通过结合实际业务,迭代完善业务模型(b)定义项目的视图和范围,定义项目范围是描述项目该做什么,不该做什么一般使用用例图。(c)寻找软件的需求来源,客户、竞品、系统需求规格说明书、当前系统的问题报告和改进要求、市场调研报告、观察用户如何工作、用户工作场景分析、事件和响应。(d)识别用户类和用户代表,确定系统的用户及其分类,与用户一块工作,确定系统的决策者。(e)确定系统的业务流程和业务规则(f)访谈和记录(g)需求整理和描述16. 面向对象的UM
11、L 需求获取方法:a)用户模型视图:从用户角度来标示系统,通过用例图来标示b)结构模型视图:通过静态的数据模型图,类图、对象图来建模c)行为模型视图:描述系统的动态和行为,以及在上述两种视图中的各元素如何交互。d)实现模型视图e)环境模型视图面向对象模型,分为三个独立模型a)有用例和场景组成功能视图b)用类和对象标示的分析对象模型c)用状态图和顺序图标示的动态模型17. 对需求文档的要求:1) 完整:要求必要的需求信息,必须进行完整的描述2) 无歧义:每种需求只有一种解释。3) 一致性:对需求规格说明,必须保持一致。4) 可验证:可演示、测试、分析、审查、特殊的检查5) 可修改6) 可追踪:向
12、前和向后的追踪性。18. 软件需求评审的主要内容:a)用例:是否清晰,用例规格。b)功能:是否清楚,是否必须,是否满足,是否覆盖异常c)性能:是否精确描述,是否制定指标,是否制定使用环境d)接口:外部、内部描述是否清晰。调用关系。e)数据:是否确定系统的输入、输出f)硬件g)软件h)通信i)正确性完整性一致性,兼容性,安全性清晰性,健壮性,可扩展性。19. 需求管理:a)需求变更:建议变更-分析影响 -作出决策 -交流 - 合并b)版本控制:确定需求文档版本c)需求跟踪:d)需求状态跟踪20. 需求变更的控制策略:a)需求变更原因:内部原因,外部原因i.内部原因:需求获取的不确切,需要发生变更
13、,以适应真正的客户需求名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 8 页 共 19 页ii.外部原因:客户需求与之前发生了变化,如:客户的组织结构和工作流程发生了变化。b)需求变更的策略i.认识到变更不可避免的时候,为变更指定计划ii.重新确定需求的基线iii.指定变更的唯一渠道,防止因为变更导致的需求扩散。iv.指定合理的需求变更管理过程:如必须经过变更管理委员会确定的变更,才能真正进入需求
14、文档,而不是开发人员擅自做主变更需求。21. 软件设计a)传统结构化软件设计:数据设计,体系结构设计,接口设计,过程设计。b)面向对象的软件设计:体系结构设计、类设计、接口设计、构件设计i.体系结构设计:软件的主要结构元素其之间的关系ii.类设计:转化为设计类的实现及软件实现所要求的数据结构iii.数据设计:主要是关系数据库中的E-R 实体关系图iv.构件级设计:构件级设计22. 软件设计原则:a)设计应遵循:过程抽象,数据抽象。b)过程应遵循模块化的原则i.模块可分解ii.模块可组装iii.模块可被理解iv.模块连续性v.模块保护c)应遵循信息屏蔽的原则d)模块独立性:高内聚,低耦合。e)模
15、块设计原则:先把该模块下的所有下层模块看成黑盒23. 极限编程a)极限编程是一种原型设计方法,是基于实践的设计方法。b)极限编程的原则:交流、简单、反馈、勇气。i.交流:鼓励开发人员与客户直接沟通,用沟通代替文档。ii.XP 不建议过分构建系统设计,反对杞人忧天的做法。简单最好,实现为前提。iii.反馈要迅速,反馈越快越好,进行结对编程,测试优先,现场客户。iv.拥抱变化,不变是变化,要有坚持XP 设计的勇气,同时有放弃勇气。c)XP 的重要方法:i.放弃包袱,轻装上阵。ii.结对编程iii.测试优先,以测试用例为驱动,单元测试。iv.重构v.持续集成vi.小版本vii.现场客户24. 软件体
16、系结构软件体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个子模块和子系统有效的组织起来,组织成一个完整的系统。25. 常见的风格:管道过滤器风格:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 9 页 共 19 页26. 面向对象的设计风格27. 层次结构的风格(每一层定义一个抽相机,为上一层提供服务,并作为下一次层的客户)28. 数据仓库风格(共享系统单元,所有人可以访问
17、这些数据,此系统常见于专家系统中)专家黑板系统29. 设计模式 :设计模式分为三类:1)创建型模式 :与对象的创建有关2)结构型模式 :处理类与对象的组合,将一组对象组合成一个大的结构3)行为型模式 :描述类与对象交互和职责分配。按照使用范围,又分为对象和类两种类型其中 23 中设计模式,主要创建型:描述怎么创建一个对象,他隐藏对象创建的具体细节,实用程序可不依赖具体的对象,因此当增加一个新对象时几乎不需要修改代码。其隐藏了这些类的实例如何创建、如何放在一起。创建型类模式有:工厂模式创建型对象模式有:抽象工厂,构造模式,原型模式,单例模式重点 1:抽象工厂模式:以同一接口建立一整组相关或相互依
18、赖的对象,而不用指明个对象真正所属的具体类。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 10 页 共 19 页抽象工厂的特点:1.封装性:都是接口,不关心细节。只需知道工厂类即可,就能创建出一个对象,省时省力。2.约束性:产品约束在产品内部,外部不需要关心。缺点:1.扩展性困难,增加一个新产品,需要抽象类,抽象类实现工厂都要修改,改动太大。抽象工厂是一种契约关系,一种契约修改,所有的代码都要修
19、改。使用场景:1.使用对象组, 这类对象有相同约束,如:文本编辑器, 在 Linux 下的和 Windows 下的因为底层API不同,代码实现不同。但是功能是相同的,有共同的约束条件,可以用抽象工厂,还有DB 的操作,不同数据库的实例化。2.一个模式在什么情况下才能够使用,是很多读者比较困惑的地方,抽象工厂模式是一个简单的模式,使用的场景非常多,大家在软件产品开发过程中,涉及到不同操作系统的时候,都可以考虑使用抽象工厂模式, 例如一个应用, 需要在三个不同平台上运行:Windows 、 Linux 、 Android(Google发布的智能终端操作系统)上运行,你会怎么设计?分别设计三套不同的
20、应用?非也非也,通过抽象工厂模式屏蔽掉操作系统对应用的影响。三个不同操作系统上的软件功能、应用逻辑、UI 都应该是非常类似,唯一不同的是调用不同的工厂方法,由不同的产品类去处理与操作系统交互的信息。重点 2 工厂方法定义一个用于创建对象的接口,当让子类决定实现那个一个类的对象。此模式让一个类将创建对象的过程交予给子类来处理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 11 页 共 19 页工厂
21、模式特点:使用频率很高具有封装性好,代码结构清晰的显著特点。扩展性也非常优秀,只需要增加扩展类,既可以实现扩展。在数据库开发中,会用到工厂方法模式。工厂模式是典型的的解耦框架。工厂模式场景:他是new 一个对象的替代品,但是需要考虑new 对象的成本。其次,需要灵活的、可扩展的框架时,可以考虑采用工厂方法模式。万物皆对象,那万物也就皆产品类,例如需要设计一个连接邮件服务器的框架,有三种网络协议可供选择:POP3、IMAP 、HTTP ,我们就可以把这三种连接方法作为产品类,定义一个接口如IConnectMail ,然后定义对邮件的操作方法,三个具体的产品类(也就是连接方式)进行不同的实现,再定
22、义一个工厂方法,按照不同的传入条件,选择不同的连接方式。如此设计,可以做到完美的扩展,如某些邮件服务器提供了WebService 接口,很好,我们只要增加一个产品类就可以了。再次,工厂方法模式可以用在异构项目中,例如通过WebService 与一个非Java 的项目交互,虽然WebService 号称是可以做到异构系统的同构化,但是在实际的开发中,还是会碰到很多问题,如类型问题、WSDL 文件的支持问题,等等,从WSDL 中产生的对象都认为是一个产品,然后由一个具体的工厂类进行管理,减少与外围系统的耦合。最后,可以使用在测试驱动开发的框架下,例如,测试一个类A,就需要把与类A 有关联关系的类B
23、也同时产生出来,我们可以使用工厂方法模式把类B 虚拟出来, 避免类 A 与类 B 的耦合。 目前由于 JMock和 EasyMock的诞生,该使用场景已经弱化了,读者可以在遇到此种情况时直接考虑使用JMock或EasyMock 重点 3:单例模式:单例模式:个类只有一个实例并提供一个访问它的全局访问点。该实例应在系统生存期中都存在. 优点:内存中只存在一个实例,减少了内存的开支。特别是一个对象需要频繁的创建、销毁,并且创建或者销毁的性能又无法优化。单例模式的优势非常明显。在对文件操作,读取配置,都可以。缺点:没有借口,不能扩展。不利于测试。使用场景:1.要求生成唯一序列号的环境;名师资料总结
24、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 12 页 共 19 页2.在整个项目中需要有访问一个共享访问点或共享数据,例如一个Web 页面上的计数器,可以不用每次刷新都记录到数据库中,使用单例模式保持计数器的值,并确保是线程安全的;3.创建一个对象需要消耗的资源过多,如要访问IO、访问数据库等资源;需要定义大量的静态常量和静态方法(如工具类)的环境,可以采用单例模式(当然,也可以直接声明为 static
25、的方式);重点 4:适配器模式1.父类: Target() 方法 Request(); 2.子类: Adapter() 实现父类 Request()方法,是作为适配器类。3.被桥接对象Adaptee() 拥有特殊 SpecialRequest() 在 Adapter() 类中,实现特殊类,并将特殊类的方法包裹进目标类的方法中:具体实现:Class Target() Public void Request() Class Special() Public void SepicalRequest() Class Adapter extends Target() Special sr = new S
26、pecial(); Public void Request() Sr.SpecialRequest(); 重点 5: 桥接器模式这是普通一种父子类关系来实现抽象模型。其缺点是不符合开放闭合原则,一个类有多个原因引起其变化,如本关系中跟汽车和路两种类有关系。里面有代码的重复。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 13 页 共 19 页通过抽象类,分别实现了抽象路和抽象车,然后通过在抽象路
27、中调用抽象车,实现了桥接。重点 5:组合模式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 14 页 共 19 页30. 软件测试原则: 尽快发现问题,测试必须追溯到需求,测试用例应包括合理和不合理两部分组成。软件测试应该贯穿整个软件过程中。测试的两个方面:1) 缺陷测试2) 验证和确认测试的步骤 : 1)指定测试计划2)测试设计:设计测试用例,定义测试过程3)实施测试4)单元测试5)集成测试6
28、)系统测试7)评估测试测试对应软件系统的不同阶段注:接收测试也叫用户测试单元测试: 单元测试的目的在于发现各模块内部的错误,以确保受测试模块内部的一致性与逻辑正确。需要强调的是,单元测试是必须要进行的、不能省略的步骤。以此为单元测试的依据以此为集成测试的依据验证软件设计验证软件需求以此为接受测试的依据验证系统需求回归测试验证模块设计软件需求规格说明软件设计规格说明模块设计规格说明软件编程单元测试集成测试接受测试名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 -
29、 - - - - - - - - 殷人昆实用软件工程复习资料第 15 页 共 19 页单元测试包括:1.模块接口测试,通过数据流进行测试。2.局部数据结构测试:包括数据类型,数据初始化,上下溢等3.路径测试:保证基本每条语句所经过路径要测试一次4.错误处理的测试:适应各种出错条件5.边界测试:程序中判定操作或循环的操作界限的边缘条件集成测试: 根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确性检验的测试工作。集成测试包括基于模块分解的,基于分层的和基于路径的。集成测试策略:功能测试(黑盒测试)性能测试:性能测试用来测试软件在系统中的运行性能。其目标是量
30、度系统的性能与预先定义目标有多大差距。压力测试:系统在一个短时间内活动处在峰值时的反应。容量测试:系统正常运行的范围内测试并确定系统能够处理的数据容量。恢复性测试:在人工干预下,恢复测试的目标就是验证系统从软件或者硬件失效中恢复的能力。备份测试界面测试:界面外观是否符合要求,界面是否按照预定进行响应。健壮性兼容性易用性回归测试: 回归测试是在软件变更之后,对软件重新进行的测试。检验对软件进行的修改是否正确31. 软件调试软件调试是在进行了成功的测试之后才开始的工作。它与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误常见调试方法:1. 强行排错:打印内存信息,看是否泄露2. 回溯法3
31、. 归纳法4. 演绎法32. 测试用例设计(重点)测试用例是为了特定目的(如考察特定程序路径或验证是否符合特定的需求)而设计的测试数据及与之相关的测试规程的一个特定的集合,或称为有效地发现软件缺陷的最小测试执行单元。软件质量的好坏很大程度上取决于测试用例的数量和质量。不论程序员的编程水平、软件设计水平有多高,软件过程执行得如何好,如果没有通过合适数量和质量的测试用例进行测试,其最终的软件质量都是难以保证的。黑盒测试:测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中
32、确定测试数据,来检查程序是否都能产生正确的输出。白盒测试:把测试对象看做一个玻璃盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在 不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 16 页 共 19 页构测试或逻辑驱动测试。路径覆盖测试:对程序模块的所有独立的执
33、行路径至少测试一次逻辑覆盖测试:对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次控制流测试:在循环的边界和运行界限内执行循环体数据流测试、领域测试:测试内部数据结构的有效性重点:白盒测试用例设计方法1.白盒测试包括:a)逻辑覆盖i.语句覆盖:每一句可执行的语句都执行一次2.3.路径 1: 判定 1 和判定 2 都走真分支4.P1 ( a c e )5.= (A 1) and (B = 0) and (A = 2) or (X/A 1) 6.= (A 1) and (B = 0) and (A = 2) or7.(A 1) and (B = 0) and (X/A 1)8.= (A
34、= 2) and (B = 0) or9.(A 1) and (B = 0) and (X/A 1)10. 路径 2:判定 1 和判定 2 都走假分支11. P2 ( a b d )12.= not (A 1) and (B = 0) and 13.not (A = 2) or (X 1) 14.= not (A 1) or not (B = 0) and 15. not (A = 2) and not (X 1) 16.= not (A 1) and not (A = 2) and not (X 1) or 17.not (B = 0) and not (A = 2) and not (X
35、1)18.19. 路径 3:路径 3: (判定1 走取假分支,判定2 走取真分支)20. P3 ( a b e)21.= not (A 1) and (B = 0) 22.and (A = 2) or (X 1) 23.= not (A 1) or not (B = 0) 24.and (A = 2) or (X 1) 25.= not (A 1) and (A = 2) or not ( A 1) and (X 1)26.or not (B = 0) and (A = 2) 27.or not (B = 0) and (X 1)28. 路径 4: (判定1 走取真分支,判定2 走取假分支)名
36、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 17 页 共 19 页29. P4 ( a c d )30.= (A 1) and (B = 0) 31.and not (A = 2) or (X/A 1) 32.= (A 1) and (B = 0) and not (A = 2) 33.and not (X/A 1)34.i.判定覆盖:每条分支都执行一次,又叫分支覆盖ii.条件覆盖:每个可能取
37、值的条件执行一次iii.判定 -条件覆盖:每个可能取值的条件执行一次,每个判断中分支执行一次。iv.条件组合覆盖:所有可能的取值组合执行一次v.覆盖程序所有路径测试b)判定结构分析c)循环结构分析i.简单循环ii.连锁循环iii.嵌套循环iv.非结构循环d)基本路径覆盖: 基本路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。有语句变成分支图基本路径集名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 殷
38、人昆实用软件工程复习资料第 18 页 共 19 页测试用例33. 重点黑盒测试用例设计等价分类法:把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一部分中选取少数代表性的数据做为测试用例。划分等价类(列出等价类表)如果输入条件规定了取值范围,或值的个数,则可确立一个有效等价类和两个无效等价类如果输入条件规定了输入值的集合,或者是规定了“必须如何”的条件,这时可确立一个有效等价类和一个无效等价类。例如:“以字母打头的串” 。那么所有以字母打头的构成有效等价类,而不在此集合内(不以字母打头)的归于无效等价类。等价类划分例子:“标识符是由字母开头,后跟字母或数字的任意组合构成。编译器能够
39、区分的有效字符数为8 个,最大字符数为80 个。 ” 并且规定:“标识符必须先说明,再使用。”“在同一说明语句中,标识符至少必须有一个。”分析:从输入条件看:标识符的组成标识符的第一个字符标识符的字符个数说明语句中的标识符个数标识符的使用转换为等价类:选取测试用例名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 殷人昆实用软件工程复习资料第 19 页 共 19 页边界值分析法:边界值分析也是一种黑盒测试方法,是对等价类划分方法
40、的补充。大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。边界值分析法测试用例:例如,判断三角形问题, 问题的提法是: 程序接受3 个整数a、b 和c 作为输入,用做三角形的边。整数a、b 和 c 必须满足以下条件:C11 a200 C21 b200 C3 1 c200 C4ab + c,C5ba + cC6ca + b分析: C1、C2 和 C3,整数 a、b、c 的边界值为1 和 200,稍超出边界的值为0 和 201。C4、C5 和 C6 的边界值分别是b+ca+1、a+cb+1 和 b+ca+1。判定表法因果图法规范导出法内部边界值法错误推测发接口测试综合法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -