Ch8-面向对象软件测试-STMT.pptVIP

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档