[工程科技]第10章、面向对象软件测试理论课.ppt

[工程科技]第10章、面向对象软件测试理论课.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工程科技]第10章、面向对象软件测试理论课

/ 白盒测试与OO测试 第十章、面向对象软件测试 课程回顾 单元测试的一些概念 单元测试的方法 单元测试的过程 课程组织 本章学习目标 了解面向对象软件测试的特点 了解面向对象的编程语言对测试的影响 掌握面向对象软件测试的策略 掌握面向对象软件测试的方法 面向对象技术的特点 对象 封装 继承 多态 面向对象测试的特点 符合人类认识世界的规律 简化了程序设计,有利于软件维护和复用 给软件测试带来了新的挑战 面向对象测试的特点-对象 对象: 是一个可操作的实体,包括了特定数据和操作这些数据的代码 对象的状态 对象的行为 对象的生命周期 面向对象测试的特点-封装 对象的封装 面向对象测试的特点-继承 测试方法的传递 错误的传递 代码复用,增加代码维护上的难度 消弱了封装性 面向对象测试的特点-多态 参数多态 是能够根据一个或多个参数来定义一种类型的能力 它支持不同类型的继承关系 包含多态 是同一个类具有不同表现形式的一种现象 多态-包含多态的功能 通过增加类进行扩展,而不是修改已经存在的类 参数类型不确定增加了应测试的参数种类 不能保证所有的绑定都正确 多态、动态的绑定消息引起难于理解,易于出错的代码 消息间的相互作用具有很多的风险 多态性使得路径数量增加 消息 方法调用 发送者 接收者 错误的决定发送消息的时机 接收到非预期的特定消息 消息在处理前处于正确的状态 类 类是一些具有共性的对象集合。 面向对象程序运行的基本元素是对象,而类则用来定义对象的基本元素。 初始化实例属性不正确 协作类的行为可能导致错误 类依靠类本身的说明,不能保证说明的正确性;类的实现也可能不遵循要求。 类的实现也可能不支持所要求的操作,或者执行一些错误的操作。 发送消息前,可能不检查前置条件。 面向对象技术对测试的影响 面向对象软件中的类常常相互关联,给类的测试带来困难; 桩模块的构造开销很大,测试人员不仅需要正确理解被调用函数,而且还可能需求对象并对它赋值,以及编写伪代码来模拟被调用函数的行为与结果; 难以制定类测试的所有可能方法; 软件更改的波动效应可能通过其依赖关系而影响到整个软件; 难以识别与测试面向对象软件的多态性和动态绑定结果。 面向对象编程对测试的影响 C++,强类型语言,减少接口中发生错误的可能性;但是在使用指针上,具有潜在的错误可能。 Java具有比C++更强的动态检查强类型检查,异常捕捉没有C++强。 面向对象测试策略 面向对象软件整个生命周期的测试: 面向对象分析的测试(OOA Test) 面向对象设计的测试(OOD Test) 面向对象编程的测试(OOP Test) 面向对象软件的单元测试(OO Unit Test) 面向对象软件的集成测试(OO Integrate Test) 面向对象系统的测试(OO System Test) 面向对象分析的测试(一) 对分析结果的测试 对分析、设计产生的模型图和文档资料进行复审,验证每个模型元素的正确性。 建模专家审查语法正确性 领域专家审查语义正确性 软件专家审查每个类的结构、方法的算法、行为与需求的一致性 面向对象分析的测试(二) 对软件需求分析进行测试的过程 信息模型概念与面向对象程序设计语言中的重要概念结合在一起而形成的方法,得到问题空间的图表的形式描述 直接映射问题空间、全面的将问题空间中实现功能的显示抽象化。将问题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂实例和复杂关系。 面向对象分析的测试划分 对认定的对象的测试 对认定的结构的测试 对认定的主题的测试 对定义的属性和实例关联的测试 对定义的服务和消息关联的测试 对认定的对象的测试 认定对象的全面性 认定的对象属性的多重性 对认定为同一对象的实例是否有共同的、区别于其他实例的共同属性 对认定为同一对象的实例是否提供或需要相同的服务,如果服务随着不同的实例而变化,认定的对象就需要分解或利用继承性来分类表示 如果系统没有必要始终保持对象代表的实例的信息,提供或得到关于它的服务,认定的对象也无必要 认定的对象的名称应该尽量准确、适用 对认定的分层结构的测试 同层结构中对象是否包含下层对象的特殊性属性。 同层结构中的对象是否包含共性。 对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有意义的对象 高层的对象的特性是否完全体现下层的共性。 低层的对象是否有高层特性基础上的特殊性。 对认定的组装结构的测试 整体(对象)和部件(对象)的组装关系是否符合现实的关系。 整体(对象)的部件(对象)是否在考虑的问题空间中有实际应用。 整体(对象)中是否遗漏了反映在问题空间中有用的部件(对象)。 部件(对象)是否能够在问题空间中组装新的有现实意义的整体(对象)。 对认定的主题的测试 如果主题个数超过7个,就要求对有较密

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档