8 面向对象的软件测试.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 面向对象的软件测试 8.1 概述 8.1 概述—概念回顾 8.1 概述—概念回顾 8.1 概述—概念回顾 8.1 概述—概念回顾 8.1 概述—概念回顾 8.1 概述—概念回顾 8.1 概述—三大难点 8.1 概述—三大难点 8.1 概述—三大难点 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.2 面向对象的单元测试 8.3 交互测试 8.3 交互测试 8.3 交互测试 8.3 交互测试 8.3 交互测试 8.3 交互测试 8.3 交互测试 8.4 类层次结构的测试 8.4 类层次结构的测试 8.4 类层次结构的测试 8.4 类层次结构的测试 8.4 类层次结构的测试 8.4 类层次结构的测试 8.4 类层次结构的测试 小结 对于Book类的测试包括: - getAuthor():string; - getNumberOfPages:int; - author:string; - numberOfPages:int; - 构造函数; 对于Recording类的测试包括: - getPerformer():string; - getFormat():string; - performer:string; - format:string; - 构造函数; 随着面向对象程序设计出现,面向对象软件测试也随即出现,并在理论上和实践上都得到很大的发展。 面向对象软件的最初希望之一是对象可以不加修改或额外测试就被重用。 但目前的情况是,面向对象软件存在一些较为严重的测试问题。 对象 - 对象的封装,使得对象容易识别; - 对象隐藏了信息,封装; - 对象的状态; - 对象的生命期; 消息 接口 类 继承 多态 对象 消息 - 是对象的操作将要执行的一种请求; - 消息有其发送者; - 消息有其接收者; - 消息可能包含实际参数; 接口 类 继承 多态 对象 消息 接口 - 接口是行为声明的集合; - 接口封装了操作的说明; - 接口不是孤立的; 类 继承 多态 对象 消息 接口 类 - 类是一些具有共性的对象的集合; - 在类声明中,定义了类的每个对象能做什么; - 在类的实现中,定义了类的每个对象如何做他们能做的东西; 继承 多态 对象 消息 接口 类 继承 - 继承是类之间的关系; - 继承提供了一种机制,通过这种机制,潜在的错误能够从一个类传递到他的派生类; - 可以重复使用相同的测试方法; 多态 对象 消息 接口 类 继承 多态 - 多态提供了将对象看作是一种或多种类型的能力; 第一,对象的典型行为特征就是顺序依赖性,即对象的响应活动是与它所接受到的消息序列密切相关的。因此我们能够用状态机的概念来说明、实现和测试对象。将对象类方法孤立起来加以测试,就如同我们处理传统的例程测试那样,实际上是不充分也无效的。大多数系统化的面向对象测试方法都是基于状态的,这种基于状态的测试又有两种流派:一是有顺序的基于状态的测试,它立足于查找消息序列中暴露出错误的消息。状态定义的是正确的行为和不正确的对象行为,这种方法实际上是基于规格说明的,因为人们事先就用状态定义描述了正确的和错误的操作。二是域方法的基于状态的测试,它根据被测类的实例变量的假定值来安排各个状态,这些状态和消息之间的相互作用可以用来产生测试用例。 第二,面向对象系统从本质上讲不象传统软件那样能测,虽然面向对象程序设计语言已经去除了容易出错的内容,如弱封装性、全局数据的危险性,类型的错误匹配等,但也还是带来了不少新问题,如局域化和分块化造成程序的可理解性的下降。 第三个难点是实际存在的问题,重复的和增量式的开发与赶不上趟的管理常常导致类库缺乏正确的功能划分(从原则上讲类库中的每个类在功能上是正交化的),不保留源代码的文档。这些都是老问题了,而在面向对象软件中表现的更加突出,其后果是软件失误的可能性增大、可测试性降低、可重用性降低,同时伴随出现的问题是库规模越来越大,而内容越来越陈旧。 面向对象测试的单元: 单元的定义: - 单元是可以编译和执行的最小软件组件; - 单元决不会指派给多个设计人员开发的软件组件; 面向对象测试的单元: - 类; - 类的操作/方法; 例:NextDate问题 class Date{ private: int year; int month; int day;

文档评论(0)

38号店铺 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档