当前位置:文档之家› 精品课件-软件质量与测试(孟磊-第七章面向对象测试

精品课件-软件质量与测试(孟磊-第七章面向对象测试

际应用
整体(对象)是否遗漏了反映在问题空间中有用的部件 部分(对象)是否能够在问题空间中组装新的有现实意义的整
体(对象)
沈阳师范大学软件学院
7.2.4对主题的测试 7.2.4对主题的测试 主题是一种知道研究和处理大型复杂模型的机制。有 助于分解系统,区分结构,避免过多的信息量同时出现所带来 的麻烦。主题的确定可以帮助人们从一个更高的层次上观察和 表达系统的总体模型。主题如同文章对个部分内容的概要。
沈阳师范大学软件学院
7.1.3面向对象软件开发和测试技术 7.1.3面向对象软件开发和测试: 面向对象软件对每个开发阶段都有不同以往的要求和结果 ,已经不可能用功能细化的观点来检测面向对象分析和设计的 结果。针对面向对象软件的开发特点,应该有一种新的测试模 型。
沈阳师范大学软件学院
7.1.3面向对象软件开发和测试技术 7.1.3面向对象软件开发和测试: 面向对象软件对每个开发阶段都有不同以往的要求和结果 ,已经不可能用功能细化的观点来检测面向对象分析和设计的 结果。针对面向对象软件的开发特点,应该有一种新的测试模 型。
OOA结果的概括。
主题间的消息联系(抽象)是否代表了主题所反映的对象和结
构之间的所有关联。
沈阳师范大学软件学院
7.2.5对定义的属性和实例关联的测试
7.2.5对定义的属性和实例关联的测试
属性是用来描述对象或结构所反映的实例的特性。而实例关联是 反映实例集合间的映射关系。
对属性和实例关联的测试从如下方中有意义的对象
高层的对象的特性是否完全体现下层的共性 低层的对象是否有高层特性基础上的特殊性
沈阳师范大学软件学院
7.2.3对结构范围的测试 7.2.3对结构范围的测试
2、确定整体—部分结构(组装结构)
整体(对象)和部分(对象)的组装关系是否符合现实的关系 整体(对象)和部分(对象)是否在考虑的问题空间中的有实
沈阳师范大学软件学院
7.2.5对定义的服务和消息关联的测试 7.2.5对定义的服务和消息关联的测试
确定服务的具体解决方法包括四个基本步骤: 1、识别对象状态 2、识别所要请求的服务 3、识别消息连接 4、定义服务
沈阳师范大学软件学院
7.2.5对定义的服务和消息关联的测试 7.2.5对定义的服务和消息关联的测试
第七章 面向对象软件测试
沈阳师范大学软件学院
软件工程系 孟磊
netmenglei@
本章内容 7.1面向对象测试概述 7.2面向对象分析测试 7.3面向对象设计测试 7.4面向对象单元测试 7.5面向对象的集成测试
沈阳师范大学软件学院
本节内容 7.1面向对象测试的概述 7.1.1传统的软件开发存在的问题 7.1.2面向对象技术 7.1.3面向对象软件开发和测试
定义的属性是否对相应的对象和分类结构的每个现实实例都适
用。
定义的属性在现实世界是否与这种实例关系密切。 定义的属性在问题空间是否与这种实例关系密切。 定义的属性是否能够不依赖于其他属性被独立理解。 定义的属性在分类结构中的位置是否恰当,低层对象的共有属
性是否在上层对象属性体现。
在问题空间中每个对象的属性是否定义完整。
沈阳师范大学软件学院
7.1.1传统的软件开发存在的问题 7.1.1传统的软件开发存在的问题
(1)软件重用性差 (2)软件可维护性差 (3)开发出的软件不易满足用户需求
沈阳师范大学软件学院
7.1.2面向对象技术 7.1.2.1基本概念 (1)对象 (2)对象的状态和行为 (3)类 (4)类的结构(类间关系) (5)消息和方法
OOD:建立类结构或进一步构造类库,实现分析结果对问题空间 的抽象。
OOP:软件的计算机实现。
沈阳师范大学软件学院
7.2.2对类和对象范围的测试 7.2.2对类和对象范围的测试 OOA直接映射问题空间,全面地在问题空间中实现功能的 现实抽象化。OOA必须回答:
(1)为完成用户要求,系统应提供哪些功能 (2)系统应由哪些对象构成 (3)每个对象应有哪些属性和服务 (4)对象间应有怎样的联系
7.2.5对定义的服务和消息关联的测试 7.2.5对定义的服务和消息关联的测试
对定义的服务和消息关联的测试从以下方面进行:
对象和结构在问题空间的不同状态是否定义了相应的服务。 对象或结构所需要的服务是否都定义了相应的消息关联。 定义的消息关联所指引的服务提供是否正确。 沿着消息关联执行的线程是否合理,是否符合现实过程。 定义的服务是否重复,是否定义了能够得到的服务。
对定义的服务和消息关联的测试从以下方面进行:
对象和结构在问题空间的不同状态是否定义了相应的服务。 对象或结构所需要的服务是否都定义了相应的消息关联。 定义的消息关联所指引的服务提供是否正确。 沿着消息关联执行的线程是否合理,是否符合现实过程。 定义的服务是否重复,是否定义了能够得到的服务。
沈阳师范大学软件学院
沈阳师范大学软件学院
7.1.3面向对象软件开发和测试技术
7.1.3面向对象软件开发和测试: 在传统的面向过程程序中,对于函数 y=Function(x); 只需要考虑一个函数(Function())的行为特点,在面向
对象程序中,你不得不同时考虑基类函数( Base::Function())的行为和继承类函数(
沈阳师范大学软件学院
7.2.5对定义的属性和实例关联的测试 7.2.5对定义的属性和实例关联的测试
具体步骤如下: 1、确定属性的范围 2、实例连接 3、详细说明属性和实例连接的约束
沈阳师范大学软件学院
7.2.5对定义的服务和消息关联的测试 7.2.5对定义的服务和消息关联的测试 对象接到消息后所执行的操作称为为它提供的服务 。描述了系统需要执行的处理和功能。定义服务的目的在于定 义对象的行为和对象间的通信(消息连接)。事实上,两个对 象之间可能存在着由于通信需要而形成的关系,即消息连接。 消息连接表示从一个对象发送消息到另一个对象,由那个对象 完成某些处理。
沈阳师范大学软件学院
7.1.2面向对象技术 7.1.2.2面向对象特征 封装 继承 多态
沈阳师范大学软件学院
7.1.2面向对象技术 7.1.2.3面向对象软件开发方法与传统的软件开发方法的区别 : (1)调查、分析系统需求,建立一个全面、合理、统一的 模型。 (2)对象设计。 (3)程序实现。
沈阳师范大学软件学院
7.3.1面向对象设计概述
(2) 认定的对象是否具有多个属性。只有一个属性的对象通常 应看成其他对象的属性,而不是抽象为独立的对象。
沈阳师范大学软件学院
7.2.2对类和对象范围的测试
7.2.2对类和对象范围的测试 (3) 对认定为同一对象的实例是否有共同的,区别于其他实 例的共同属性。 (4)对认定为同一对象的实例是否提供或需要相同的服务, 如果服务随着不同的实例而变化,认定的对象就需要分解或利 用继承性来分类表示。 (5) 认定的对象的名称应该尽量准确,适用。OA中认定的对 象是对问题空间中的结构,其他系统,设备,被记忆的事件, 系统涉及的人员等实际实例的抽象。对它的测试可以从如下方 面考虑:
沈阳师范大学软件学院
7.2.2对类和对象范围的测试 7.2.2对类和对象范围的测试 如何在众多调查资料中进行确定类与对象呢?解决这一问 题的方法一般包含以下几个方面
(1)基础素材 (2)潜在的对象 (3)确定对象 (4)图形表示,用图形化描述类和对象
沈阳师范大学软件学院
7.2.3对结构范围的测试 7.2.3对结构范围的测试 结构表示问题空间的复杂程度。标识结构的目的在于管理 问题域模型。在OOA中,结构是指泛化—特化结构(is a)和整 体—部分结构(has a)两部分的总和。
沈阳师范大学软件学院
本节内容 7.2面向对象分析测试
7.2.1面向对象模型 7.2.2对类和对象范围的测试 7.2.3对结构范围的测试 7.2.4对结构范围的测试 7.2.5对主题的测试 7.2.6对定义的属性和实例关联的测试 7.2.7对定义的服务和消息关联的测试
沈阳师范大学软件学院
7.2.1面向对象模型 7.2.1面向对象模型
沈阳师范大学软件学院
本节内容 7.3面向对象设计的测试 7.3.1面向对象设计概述 7.3.2确定测试的问题域 7.3.3人机交互部件设计的测试
沈阳师范大学软件学院
7.3.1面向对象设计概述
7.3.1面向对象设计概述 面向对象设计(OOD)采用“造型的观点”,以OOA为基础
归纳出类,并建立类结构或进一步构造成类库,实现分析结果 对问题空间的抽象。OOD 归纳的类,可以是对象简单的延续, 可以是不同对象的相同或相似的服务。由此可见,OOD不是在 OOA上的另一思维方式的大动干戈,而是OOA的进一步细化和更 高层的抽象。
沈阳师范大学软件学院
7.2.4对主题的测试
7.2.4对主题的测试 对主题层的测试应该考虑以下方面:
依据George Miler的“7+2”原则,如果主题个数超过7个,
就要求对有较密切属性和服务的主题进行归并。
主题所反映的一组对象和结构是否具有相同和相近的属性和服
务。
认定的主题是否是对象和结构更高层的抽象,是否便于理解
Derived::Function())的行为。 面向对象程序的结构不再是传统的功能模块结构,作为一
个整体,原有集成测试所要求的逐步将开发的模块搭建在一起 进行测试的方法已不可能。
沈阳师范大学软件学院
7.1.3面向对象软件开发和测试技术 7.1.3面向对象软件开发和测试: 面向对象软件测试是根据面向对象的软件开发过程结合面 向对象的特点提出的。它包括分析与设计模型测试技术、类测 试技术、对象交互测试技术、类层次结构测试技术、面向对象 系统测试技术5大部分。
沈阳师范大学软件学院
7.2.2对类和对象范围的测试 7.2.2对类和对象范围的测试 OOA中认定的对象是对问题空间中的结构,其他系统,设 备,被记忆的事件,系统涉及的人员等实际实例的抽象。对它 的测试可以从如下方面考虑:
相关主题