面向对象测试技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象测试
面向对象软件对每个开发阶段都有不同 以往的要求和结果,已经不可能用功能细化 的观点来检测面向对象分析和设计的结果。 针对面向对象软件的开发特点,应该有一种 新的测试模型。
二、面向对象模型
OO System Test
OOA Test
OO Integrate Test
OO Unit Test
针对这种开发模型,结合传统的测试步骤的划 分,我们把面向对象的软件测试分为:面向对象分 析的测试,面向对象设计的测试,面向对象编程的 测试,面向对象单元测试,面向对象集成测试,面 向对象系统测试。
面向对象测试
在传统的面向过程程序中,对于函数 y=Function(x);
只需要考虑一个函数(Function())的行为特点, 在面向对象程序中,你不得不同时考虑基类函数 (Base::Function())的行为和继承类函数 (Derived::Function())的行为。
面向对象软件开发方法与传统的软件 开发方法的区别:
(1)调查、分析系统需求,建立一个全面、 合理、统一的模型。
(2)对象设计。 (3)程序实现。
面向对象软件开发过程
面向对象的开发模型突破了传统的瀑布模型, 将开发分为面向对象分析(OOA),面向对象设计 (OOD),和面向对象编程(OOP)三个阶段。
(3) 对认定为同一对象的实例是否有共同的,区别 于其他实例的共同属性。
(4)对认定为同一对象的实例是否提供或需要相同 的服务,如果服务随着不同的实例而变化,认定的 对象就需要分解或利用继承性来分类表示。
(5) 认定的对象的名称应该尽量准确,适用。
(一)对类和对象范围的测试
如何在众多调查资料中进行确定类与对象呢?解决这 一问题的方法一般包含以下几个方面 (1)基础素材 (2)潜在的对象 (3)确定对象 (4)图形表示,用图形化描述类和对象
对主题层的测试应该考虑以下方面:
符合现实的关系
整体(对象)和部分(对象)是否在考虑的问 题空间中的有实际应用
整体(对象)是否遗漏了反映在问题空间中有 用的部件
部分(对象)是否能够在问题空间中组装新的 有现实意义的整体(对象)
(三)对主题的测试
主题是一种知道研究和处理大型复杂模型 的机制。有助于分解系统,区分结构,避免过 多的信息量同时出现所带来的麻烦。主题的确 定可以帮助人们从一个更高的层次上观察和表 达系统的总体模型。主题如同文章对个部分内 容的概要。
(二)对结构范围的测试
结构表示问题空间的复杂程度。标识结构的目的 在于管理问题域模型。在OOA中,结构是指泛 化—特化结构(is a)和整体—部分结构(has a)两部 分的总和。
1、确定泛化—特化结构(分类结构)
对于结构中的一种对象,尤其是处于高层的对 象,是否在问题空间中含有不同于下一层对象 的特殊性可能,即是否能派生出下一层对象ห้องสมุดไป่ตู้
一、面向对象测试概述
2、面向对象技术 基本概念 (1)对象 (2)对象的状态和行为 (3)类 (4)类的结构(类间关系) (5)消息和方法
一、面向对象测试概述
面向对象特征 (1)对象唯一性 (2)分类性 (3)继承性 (4)多态性
一、面向对象测试概述
面向对象要素 (1)抽象 (2)封装 (3)共享
对于结构中的一种对象,尤其是处于同一低层 的对象,是否能抽象出现实中有有意义的更一 般的上层对象
对所有认定的对象,是否能在问题空间内向上 层抽象出在现实中有意义的对象
高层的对象的特性是否完全体现下层的共性
低层的对象是否有高层特性基础上的特殊性
2、确定整体—部分结构(组装结构) 整体(对象)和部分(对象)的组装关系是否
面向对象程序的结构不再是传统的功能模块结 构,作为一个整体,原有集成测试所要求的逐步将 开发的模块搭建在一起进行测试的方法已不可能。
面向对象测试
面向对象软件测试是根据面向对象的软 件开发过程结合面向对象的特点提出的。它 包括分析与设计模型测试技术、类测试技术、 对象交互测试技术、类层次结构测试技术、 面向对象系统测试技术5大部分。
本章重点 面向对象测试概述 面向对象模型 面向对象分析的测试 面向对象设计的测试 面向对象编程的测试 面向对象的单元测试 面向对象的集成测试 面向对象的系统测试 面向对象的其他测试
一、面向对象测试概述
1. 传统的软件开发存在的问题 (1)软件重用性差 (2)软件可维护性差 (3)开发出的软件不易满足用户需求
二、面向对象模型
OOA Test:面向对象分析的测试
OOD Test:面向对象设计的测试
OOP Test:面向对象编程的测试
OO
Unit Test:面向对象单元测试
OO Integrate Test:面向对象集成测试
OO System Test:面向对象系统测试
三、面向对象分析的测试
OOA直接映射问题空间,全面地在问题 空间中实现功能的现实抽象化。OOA必须回 答:
(一)对类和对象范围的测试
OOA中认定的对象是对问题空间中的结构,其他系 统,设备,被记忆的事件,系统涉及的人员等实际实 例的抽象。对它的测试可以从如下方面考虑:
(1)抽象的对象是否全面,是否问题空间中所有涉及 到的实例都反映在认定的抽象对象中。
(2) 认定的对象是否具有多个属性。只有一个属性的 对象通常应看成其他对象的属性,而不是抽象为独立 的对象。
(1)为完成用户要求,系统应提供哪些功能 (2)系统应由哪些对象构成 (3)每个对象应有哪些属性和服务 (4)对象间应有怎样的联系
三、面向对象分析的测试
对OOA阶段的测试划分为以下五个方面:
☆ 对类和对象范围的测试 ☆ 对结构范围的测试 ☆ 对主题的测试 ☆ 对定义的属性和实例关联的测试 ☆ 对定义的服务和消息关联的测试
OOD Test
OOP Test
OOA OOD OOP
二、面向对象模型
OOA:将问题空间中实现的功能进行抽象,问题 空间中的实例抽象为对象,用对象的结构反映 问题空间的复杂关系,用属性和服务表示实例 的特殊性和行为
OOD:建立类结构或进一步构造类库,实现分析 结果对问题空间的抽象。
OOP:软件的计算机实现。