- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ch8-面向对象软件测试-STMT
软件测试方法和技术 - Ch.8面向对象软件的测试 第七章回顾 第八章:面向对象软件的测试 8.1面向对象软件的特点 面向对象(object-oriented) 面向对象(object-oriented) 可重用性。从一开始对象的产生就是为了重复利用,完成的对象将在今后的程序开发中被部分或全部地重复利用。 可靠性。由于面向对象的应用程序包含了通过测试的标准部分,因此更加可靠。由于大量代码来源于成熟可靠的类库,因而新开发程序的新增代码明显减少,这是程序可靠性提高的一个重要原因。 连续性。具有面向对象特点的C++与C语言有很大的兼容性,C程序员可以比较容易地过渡到C++语言开发工作。 面向对象(object-oriented) 8.2面向对象测试的层次与数据流 类与子类的测试 分层与增量 分层与增量 -测试用例选择 D的接口中添加新的操作,并且有可能是D中的一个新方法实现的新操作。新操作引入了新的功能/代码,这些都需要测试。 在D中改变那些在C中声明的操作规范,需要为操作添加新的基于规范的测试用例。附加的测试用例提供了符合其前置条件的新输入,并且对由任何加强了的后置条件导致的新的期望结果进行检查 。 在D中覆盖那些在C中实现了某个操作并且被D继承了的方法,可以复用于该方法的所有继承来的基于规范的测试用例 。 在D中添加新的实例变量来实现更多的状态和/或属性,最有可能与新的操作和/或重载方法中代码有关,而且关系到对测试的处理。 在D中改变类常量。类常量累计成每个测试用例的附加的后置条件。 面向对象层次结构测试重点 面向对象层次结构测试重点 面向对象层次结构测试重点 8.3面向对象的单元测试 面向对象的单元测试 8.4 面向对象的集成测试 8.4 面向对象的集成测试-对象交互 8.4 面向对象的集成测试—常用方法 8.4 面向对象的集成测试—分布式对象测试 8.4 面向对象的集成测试 -分布式对象的概念和特点 8.4 面向对象的集成测试 类测试的延伸 本节将简要介绍类测试构造思想以及如何对接口类、抽象类等进行测试的方法。 一、继承层次结构中类的测试 继承是实现接口和代码复用的有效机制。根据继承机制的特点,父类中被测试用例所测试的代码被子类继承,只要父类代码没有被子类“覆盖”,那么就不用重新创建这些测试用例。 下图显示了各类之间的继承关系: 根据图中这三个类之间的区别,可以确定继承的测试用例中是否需要产生新的子类测试用例,哪些测试用例适用于测试子类,哪些测试用例在测试子类中不必执行,如下表所示: 由此,可以得出继承层次结构中类测试的测试用例可以采用如下增补原则: 1)如果子类新增了一个或者多个新的操作,就需要增加相应的测试用例。 2)如果子类定义的同名方法覆盖了父类的方法,就需要增加相应的测试用例。 那么,在具体构建类测试用例时可以采用如图所示的结构。对于基类我们要全部测试,底层的测试类可以对其父类的测试方法回归。 二、接口类测试 对类进行测试时需要构建可执行的类实例,而接口不存在任何构造方法无法被实现。 由于接口一定会在某个类中实现,因此就使用一个实现接口的类来做测试。遵循以下原则: 如果接口没有被任何类实现就无需进行测试。 如果已被别的类实现,那么就针对实现该接口的类进行测试。 (如下图) 三、抽象类测试 如果要构造抽象类的测试驱动程序首先要继承测试驱动类,并且需要同时继承被测试抽象类,因为该类不能被具体化。但Java采用单继承机制,因此对该抽象类的测试驱动程序就不能同时继承两个抽象类,通常,采用以下两种方法来处理抽象类的测试问题: 1、一般情况下,利用Java的内类机制,在抽象类的测试驱动程序内引入内类,让内类实现对被测试抽象类的继承,然后把它作为引用体,这样对内类的测试就等价于对被测试抽象类的测试。举例如下: /* AbstractExample.java *创建日期: *创建人员: *修改日期: *修改人员: */ package applet.unedu.tlpe.test; public abstract class AbstractExample implements Example{ …… public AbstractExample(){ …… } …… } /* AbstractExampleTester.java *创建日期: *创建人员: *修改日期: *修改人员: */ package applet.unedu.tlpe.tes
您可能关注的文档
- 第6章 空间分析.ppt
- 信息系统与数据库技术D2009-4.1_2_SQL Server基础及数据库维护.ppt
- 数据库原理(第5章)6.ppt
- 第十一章 A_D与D_A转换器接口.ppt
- msp430单片机入门知识.ppt
- 05Visual FoxPro中SQL语言的应用.ppt
- 单片微型计算机原理及应用.ppt
- 计算机组成原理第3&4章习题.ppt
- 帽梁技术交底.doc
- 第4章 分布式数据库中的查询处理和优化.ppt
- 暑假见闻作文记事.docx
- 华夏中证生物科技主题ETF基金投资价值分析:需求驱动叠加政策赋能.docx
- 建材行业2025年度中期重视供给变化,关注企业转型成长.docx
- 模拟芯片行业深度研究报告:需求回暖进行时,国产替代与并购整合共筑成长动能.docx
- 金力永磁全球高性能永磁材料龙头,人形机器人磁组件先驱.docx
- 金融行业红利资产月报:6月银行业上涨5.37%,估值继续回升.docx
- 继续看好稳定币和算力产业.docx
- 参议院版本的“大而美”法案进一步推升美国财政赤字.docx
- 美国财政系列:美国国债供需与收益率分析.docx
- 环保行业动态:两办出台江河保护意见,强调完善水价形成机制.docx
文档评论(0)