大学信息工程学院软件测试课件第16章面向对象的测试问题.pptVIP

大学信息工程学院软件测试课件第16章面向对象的测试问题.ppt

  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文档。上传文档
查看更多
大学信息工程学院软件测试课件第16章面向对象的测试问题.ppt

第六部分 面向对象的测试 第15章 面向对象的测试问题 主要内容 面向对象的测试问题 面向对象测试的原则 UML模型的测试 1.面向对象的测试问题 面向对象测试的单元 传统的单元:最小的可编译和可执行的组件 以方法为最小单元 归结为传统的方法 放弃了封装的优点 以类为最小单元 与用例图和状态图相连 使集成测试更清晰 例:挡风玻璃雨刷 由雨刷、控制板、刻度盘构成 控制杆有四个位置:关、间歇、低速、高速 刻度盘有三个位置:1,2,3,表示三种间歇速度 三个自然交互的设备 控制杆的有限状态机 刻度盘的有限状态机 雨刷的行为 例:挡风玻璃雨刷 三个类:控制杆、雨刷、刻度盘 Class level(levelPosition; private senseLevelUp() private senseLevelDown()) Class dial(dialPosition; private senseDialUp() private senseDialDown()) Class wiper(wiperSpeed; setWiperSpeed(newSpeed)) 合成和封装的涵义 封装规则要求:类只了解自己的信息,并根据这些信息进行操作 1.高内聚、低耦合的设计,类之间耦合少,但是三个类在什么地方控制交互? 2.设计“控制杆”类为聪明的对象,获得刻度盘的位置,并告诉雨刷的摆动速度,三个类联系较密切,但重用性较差 3.建立雨刷主程序,轮询方式感知控制杆和刻度盘 很好的封装会得到更容易合成和测试的类 继承的涵义 由于复用,会减少面向对象的测试,是一种错觉 例 扁平化 多态性、绑定对测试设计和覆盖分析提出了新的问题 多态性操作的冗余性 面向对象的开发是重复的、增式的,测试计划、设计也必须是增式的 2.面向对象测试的原则 特有的错误风险 超类测试包必须在子类中重新运行和构造,使得它们能够复用以测试任何一个子类 所有的绑定都必须经过系统地执行已发现错误 用一个没有测试过的类的一个类型参数把类属类实例化,几乎与完全没有被测试的代码情况时一样的 面向对象测试的自动化 语言固有的封装性和模块化减少了可控制性和可观察性,类的接口不支持系统测试所需的设置,无法获取所有的状态 在大型系统的设计中缺乏可测试性设计,减少了测试的效率 测试驱动器和测试包,应与结构相适应 对于内置的测试,实现带有断言的设计是一个有效的方法 测试过程 孤立的测试类和方法是不实际的,必须作为一个整体来考虑 测试设计必须在类和用例层次上采用OOA/D模型 测试过程中,当所有的构件和子系统都处理时,集成和系统测试才会进行 3.UML模型的测试 UML是面向对象分析建模的有力工具 UML对象模型是系统实现的基础 UML对象模型同样需要测试 UML-Unified Modeling Language 一种对软件密集型系统的制品进行可视化,详诉,构造和文档化的可视化建模语言 OMG的标准建模语言 UML是一种富有表达力的语言 一种可视化的语言 无歧义的理解、便于交流 一种用于详细描述的语言 一种构造语言 正向工程 逆向工程 一种文档化的语言 UML的9个核心框图 用例图 类图 对象图 顺序图 协作图 状态图 活动图 组件图 实施图 UML静态图 用例图(Use Case Diagram) 类图(Class Diagram) 对象图(Object Diagram) 构件图(Component Diagram) 部署图(Deployment Diagram) UML动态图 状态图(State Diagram) 时序图(Sequence Diagram) 协作图(Collaboration Diagram) 活动图(Activity Diagram) 一个ATM系统实例 客户可以存钱,取钱 客户可以查询节余 客户可以修改密码 客户可以使用信用卡付帐 (1)ATM系统的用例图 用例“取钱”的事件流 简要说明:客户可以从ATM机上取出自己帐目上的部分或者全部存款。 主事件流: 客户将卡插入ATM机,开始用例。 ATM显示欢迎消息并提示客户输入密码。 客户输入密码。 ATM确认密码有效。如果无效则执行其他事件流A1。如果与主机联接有问题,则执行异常事件流E1。 ATM提供以下选项:存钱,取钱,查询 。 用户选择取钱选项。 ATM提示输入所取金额。 用户输入所取金额。 ATM确定该帐户是否有足够的金额。如果余额不够,则执行A2,如果与主机联接有问题,则执行异常事件流E1。 ATM从客户帐户中减去所取金额。 ATM向客户提供要取的钱。 ATM打印清单。 ATM退出客户的卡,用例结束。 其他事件流A1:输入无效

文档评论(0)

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

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

1亿VIP精品文档

相关文档