第9章面向对象设计与测试讲述.ppt

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

第三部分 面向对象的软件开发方法 第9章 面向对象设计 9.1 什么是面向对象设计 9.1 什么是面向对象设计 9.3 人机交互部分的设计 控制驱动部分是OOD模型的一个组成部分,这部分由系统中全部的主动类构成,每个主动类是对一类主动事物的抽象 9.6 面向对象测试的概念 9.6.1 面向对象测试的概念 测试组织 对结构化程序要进行单元测试、集成测试和系统测试。 在面向对象测试中,由于类中的操作往往相互依赖,通常难以对类中的单个操作进行充分的单元测试。 由于在类间可能存在继承关系,也可能还存在其他协作关系,这样对类也不能作为独立测试的单元测试。 由于测试单元的变化,以及类之间诸如继承这样的关系在结构化程序中并不存在,导致了结构化测试中的集成测试技术在面向对象测试中难以适用。 9.6.1 面向对象测试的概念 9.6.2 面向对象测试方法 1 面向对象的分析与设计测试 9.6.2 面向对象测试方法 (3)对类树的测试 (a)多态操作的调用 (b)多态消息的测试 (c) 展平测试 1、国土局项目,美工 2、领带培训,挖地雷 3、董士海老师的图 在可视化的编程环境下,能节省很多界面设计工作 例如,杂技的抛球,每增加一个新球,演员处理球的控制的复杂性会以指数级增长。 专家库:知识源 医生:控制器 黑板:一般的黑板 头疼--感冒、睡眠不好、吃错药了、撞树上了等--加上其它信息,认为感冒了--专家系统评价,对,放在黑板上 异步:如握手信号 1 面向对象软件测试的问题 面向对象软件具有封装、继承和多态的特点,这为面向对象测试带来了新的问题。 封装 (1)信息隐蔽对测试的影响 由于通常类内的属性和操作具有诸如公共的、受保护的和私有的这样的可见性,这致使对属性和操作的访问可发生在:该类及其子类的操作中、仅该类的操作中或其他地方。这需要对每个类都精心地构造测试代码,对各种情况加以测试。 (2)对象状态与类的测试序列 对象中的操作往往要协作并要操纵对象中的属性,这使得对象的很多功能需要在不同的状态下才能展现出来。因此,进行面向对象的测试不能简单地对类的每个操作进行单独的测试,而应该在调用一个操作之前要保证对象处于相应的状态,要考虑调用序列。 继承 在很多情况下,如果对特殊类进行了测试,就不必对其一般类再进行测试。然而,对一般类的操作进行了测试,对特殊类所继承的那些操作还应该再进行测试。 在测试抽象类时,要为它构造子类,并实现抽象类中没有实现的操作。 在使用继承时,经常应用多态机制。多态是指对一个类的引用可以与该类的多个实现相绑定。这种绑定需要在运行时根据引用的值才能确定,即一个引用根据对它的不同赋值调用不同的实现。因而,在测试时要覆盖该引用要调用的各种实现情况。 9.6 .1面向对象测试的概念 2 面向对象软件测试的参考过程模型 进行面向对象的分析测试与设计测试是要分别针对面向对象的分析模型和设计进行测试,通常以文档审查的方式进行,若模型是可模拟运行的,这部分测试可建立在模拟运行的基础上。 面向对象的分析测试要检查分析模型是否符合面向对象分析方法的要求,检查分析结果是否满足软件需求。 面向对象的设计测试要检查设计模型是否符合面向对象设计方法的要求,审查分析模型与设计模型的一致性,检查设计模型对编程实现的支持。 2 面向对象的程序测试 进行面向对象的程序测试主要是要对执行代码进行测试。 单元测试 (1)对操作的测试 (2)对类层次的测试 不变式边界测试 模态类的测试 非模态类测试 9.6.2 面向对象测试方法 类集成测试 结构化测试中的自顶向下、自底向上和二者相结合的测试方法仍适合面向对象的集成测试。本节讲述其他几种适用于面向对象的类集成测试的技术 . (1)协作集成 (2)基于事件(或消息)的集成 (3)基于使用的集成 (4)客户机/服务器的集成 (5)分布式集成 9.6.2 面向对象测试方法 系统测试 与结构化软件的系统测试相比,面向对象软件的系统测试没有什么特别之处。下面简要地讲述面向对象软件的系统测试技术,更多内容请参见第7章。 (1)功能测试 功能测试是用于确认软件系统是否满足了软件需求。 若建立了用况模型,可把用况作为面向对象软件系统测试的测试用例。 (2)其他 除了对软件系统进行功能测试外,根据具体需要可能要进行性能测试、安装测试、易用性测试、兼容性测试和文档测试等. 9.6.2 面向对象测试方法 例题中的类处于不同的处理机上,情况就更严重 多态,一般类上有关系 先构造内部对象,析构时按相反顺序 示例:进程间通讯——旅行预定 《process》 t:TripPlanner {location=client} t:planTrip(

文档评论(0)

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

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

1亿VIP精品文档

相关文档