面向对象测试课件_第1页
面向对象测试课件_第2页
面向对象测试课件_第3页
面向对象测试课件_第4页
面向对象测试课件_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第23章面向对象测试23.1扩大测试的视角23.2测试OOA和OOD模型23.2.1OOA和OOD模型的正确性23.2.2OOA和OOD模型的一致性23.3面向对象的测试策略23.3.1在OO语境中的单元测试23.3.2在OO语境中的集成测试23.3.3在OO语境中的确认测试

第23章面向对象测试23.1扩大测试的视角1第23章面向对象测试

23.4OO软件的测试案例设计

23.5在类级别可用的测试方法

23.6类间测试案例实际

23.7小结第23章面向对象测试23.4OO软件的测试案例223.1扩大测试的死角所有面向对象模型应该被测试,以保证在模型的语法、语义和语用语境内的正确性、完整性和一致性。23.1扩大测试的死角323.2测试OOA和OOD模型OOA和OOD模型的语法正确性基于符号的正确使用来判断,而且每个模型被评审以保证正确的建模约定被保持。其语义正确性必须基于模型对现实世界问题域的符合度而判断。其一致性判断可通过“考虑模型中实体间的关系。一个不一致的模型在其中某一部分的表示不会在模型的其他部分正确地反应”。评估一致性时,应检查每个类及其和其他类的连接。CRC模型和对象-关系图可用来支持该活动。23.2测试OOA和OOD模型OOA和OOD模型的语法正确4评估类模型的步骤如下:再次考察CRC模型和对象-关系模型;检查每个CRC索引卡片的描述以确定是否某委托的责任是协作者的定义的一部分;反转该连接以保证每个被请求服务的协作者正在接收来自某合理源的请求;使用在第3步检查的反转连接,确定是否其他的类可能被需要或是否责任合适地在类间分组;确定是否广泛请求的责任可能被组合为单个的责任;步骤1到5被迭代地应用到每个类,并贯穿OOA模型的每次演化。评估类模型的步骤如下:再次考察CRC模型和对象-关系模型;523.3面向对象测试策略

OO语境中的单元测试:对OO软件的类测试等价于传统软件的单元测试,它关注模块的算法细节和模块接口间流动的数据,它是由封装在类中的操作和类的状态行为驱动的。OO语境中的集成测试的两种策略:基于线程的测试,集成响应系统的一个输入或事件所需的一组类,每个线程被个体地集成和测试;基于使用的测试,通过测试几乎不使用服务器类的类(独立类)来开始系统的构造,独立类被测试后,一层类(依赖类)使用独立类被测试。23.3面向对象测试策略

OO语境中的单元测试:623.3面向对象的测试策略OO语境中的确认测试:OO软件的确认关注于用户可见的动作和用户可识别的系统输出。传统的黑盒测试可用于驱动确认测试,测试案例可从创建作为OOA的一部分的对象-行为模型和事件流图导出。23.3面向对象的测试策略OO语境中的确认测试:723.4OO软件的测试案例设计对OO测试案例设计的整体方法:每个测试案例应被唯一标识,并被显式地和将被测试的类相关联;测试的目的应被陈述;对每个测试应开发一组测试步骤,应包含:将被测试的对象的一组特定状态;将被作为测试的结果使用的一组消息和操作;当对象被测试时可能产生的一组异常;一组外部条件将辅助理解或实现测试的补充信息。23.4OO软件的测试案例设计对OO测试案例设计的整体方法823.4.1OO概念的测试案例设计的含义封装使得一些信息在某种程度上难于获得,继承也造成了对测试的障碍,多继承进一步使测试复杂化。23.4.2传统测试案例设计方法的可用性白盒测试可用于为类定义的操作的测试。黑盒测试对OO系统也是合适的。use-case可以为黑盒测试及基于状态的测试的设计提供有用的输入。23.4.1OO概念的测试案例设计的含义923.4.3基于故障的测试基于故障的测试的目标是设计最有可能发现似乎可能的故障的测试。其初步计划是从分析模型开始。集成测试在消息连接中查找似乎可能的故障:非期望的结果、错误的操作/消息使用、不正确的调用。且必须检查操作(函数)的行为。集成测试适用于属性以及操作,它试图在客户对象而不是服务器对象中发现错误,即其关注点是确定是否错误存在于调用代码中。23.4.3基于故障的测试基于故障的测试的目标是设计最有可1023.4.4OO程序设计对测试的影响OOP可能以几种方式对测试产生影响:某些类型的故障变得不太“似乎可能”(不值得去测试)。某些类型的故障变得更加“似乎可能”(值得进行测试)。某些新的故障类型出现。23.4.4OO程序设计对测试的影响OOP可能以几种方式对1123.4.5测试案例和类层次23.4.6基于场景的测试设计基于场景的测试关心用户做什么,而不是产品做什么。它意味着捕获用户必须完成的任务,然后在测试时应用它们或它们的变体。它往往在单个测试中处理多个子系统。23.4.5测试案例和类层次1223.4.7测试表层结构和深层结构表层结构指OO程序的外部可观察的结构。测试基于用户任务进行。深层结构指OO程序的内部技术细节。对其测试用以检查作为OO系统的子系统和对象设计的一部分被建立的依赖、行为和通信机制。分析和设计模型是其测试的基础。23.4.7测试表层结构和深层结构13对OO类的随机测试在类级别的划分测试划分测试可以减少测试类所需的测试案例的数量,输入和输出被分类,设计测试案例来处理每个类别。划分类别的方法:基于状态的划分:基于类操作改变类状态能力来对类操作分类;基于属性的划分:基于它们使用的属性来对类操作分类;基于类别的划分:基于各自完成的类属函数来对类操作分类。23.5在类级别可用的测试方法对OO类的随机测试23.5在类级别可用的测试方法1423.6类间测试案例设计类协作测试可通过应用随机和划分方法以及基于场景的测试和行为测试来完成。生成多个类随机测试案例的步骤:对每个客户类,使用类操作列表来生成一系列随机测试序列,操作将发送消息给其他服务器类;对生成的每个消息,确定在服务器对象中的协作者类和对应的操作;对服务器对象中的每个操作,确定它发送的消息;对每个消息,确定下一层被调用的操作并结合这些操作到测试序列中。类的STD可用于帮助导出测试类的动态行为的测试序列23.6类间测试案例设计类协作测试可通过应用随机和划分方法1523.7小结

和传统软件测试相比,OO测试的视角扩大到包括分析和设计模型的评审,焦点从

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论