面向对象的软件测试技术概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Peter Coad 和 Edward Yourdon 提出下列等式认 识面向对象方法: 面向对象 = 对象(Object) + 分类(Classification) + 继承(Inheritance) + 通过消息的通信 (Communication with message)
采用这四个概念开发的软件系统是面向对象的。
封装的目的
❖ 使对象的使用者和设计者产生分离 ❖ 使对象的定义和实现分开
例:档风玻璃雨刷系统
某些档风玻璃雨刷是由带刻度盘的控制杆控制的。控制
杆有4个位置:停止、间歇、低速、高速;刻度盘有3个位 置:1、2、3。刻度盘位置指示三种间歇速度,刻度盘的位 置只有当控制杆在间歇位置上时才有意义。
以下决策表给出了挡风玻璃雨刷对应控制杆和刻度盘的 工作速度:
面向对象的软件测试技术概述
技术创新,变革未来
目录
1 面向对象的基本概念 2 面向对象的软件测试与传统软件测试 3 面向对象软件测试模型 4 面向对象的单元测试 5 面向对象的集成测试 6 面向对象的系统测试 7 GUI测试
序
面向对象技术是一种全新的软件开发技术,正逐渐代替被 广泛使用的面向过程开发方法,被看成是解决软件危机的新 兴技术。 面向对象的特征是封装、继承、多态;
错误的决定; (2)消息的接收者可能收到非预期的特定消息,并做出
不正确地反映; (3)消息可能含有参数。在处理一条消息时,参数能被
接收者使用或修改。若传递的参数是对象,那么在消息 被处理前和处理后,对象必须处于正确的状态,而且必 须是接收者所期望的接口。
接口
接口——是行为声明的集合。接口是由一些规范构成的, 规范定义了类的一套完整的公共行为。
对象
对象——是指包含了一组属性以及对这些属性的操作的封 装体。
对象之间存在着一定的关系,对象之间的交互与合作构成 更高级的行为。
❖对象间的由分解所构成的关系,part of层次;
❖具王有五代表由一他种的一头般、特性胳的膊对、象腿之和间的身聚体合组关成系,is a层次; ❖代汽表车更一是般一的种对交象通间在工物具理上或概念上有关的相关关系。
“发送消息M到对象N” =“调用N对象的M方法”
消息传递是对象间通信息的手段。 一个消息通常包括接收对象名、调用的操作名和适当参数
(如有必要)。消息只告诉接收对象需要完成什么操作, 但并不指示接收者怎样去完成操作。消息完全由接收者解 释,接收者独立决定采用什么方法来完成所需操作。
消息(续)
从测试的角度看,关于消息有下面的结论: (1)消息的发送者决定何时进行发送消息,可能会做出
类是对象的抽象定义。使用类时必须先实例化—用对象 名创建类的实例,再通过这个对象去访问类的成员变量, 去调用类的成员函数。
类和对象之间关系类似于程序设计语言中类型和变量之 间的关系。
消息
消息——是对象的操作将要执行的一种请求,也被称为成 员函数调用或者方法调用。面向对象的程序的执行实际上 是执行一个由消息连接起来的方法序列。
是一种非常有效的编程工具,可以在不破坏现有应用程序 情况下使对象得以发展。
从测试的角度,关于接口有下面的结论: (1)接口封装了操作的说明。如果这一接口包含的行为和类
的行为不相符,那么这一接口的说明就有问题。 (2)接口非孤立,它与其它的接口和类有一定的关系。
封装
封装:是一种信息隐蔽技术,用户只能看到对象 封装界面上的信息,对象内部的实现对用户是隐 蔽的。防止外界未被授权地访问一些信息和功能。
人乘坐或驾驶汽车 对象是软件开发期间测试的直接目标。 面向对象软件测试所关注的焦点: (1)对象的行为是否符合它的规定说明; (2)该对象与和它相关的对象是否协同工作。
类
类——是具有相同属性和相同行为的对象的集合。面向 对象程序运行的基本元素是对象,而类则是用来定义对 象这一基本元素的。
在面向对象程序设计中,类是一个独立的程序单位,它 有一个类名,还包括用于描述对象属性的成员变量和用 于描述对象行为的成员函数。
面向对象与结构化开发方法
现实世界为 对象世界
面
OOA
向
对
象
OOD
开 发
方
法 OOP
结构化 分析
结 构 化 结构化 开 设计 发 方 法
结构化 编程
OOA/OOD/OOP是 一种从概念上更 为直接的路径。 面向过程的结构 化方法存在着与 现实世界之间的 巨大差距。
顺序存储 指令计算机 过程世界
面向对象的基本概念
面向对象技术产生更好的系统结构,更规范的编程风格, 极大的优化了数据使用的安全性;
面向对象设计的目的是达到最大限度的重用;
面向对象软件具有更严重的潜在的测试问题:由于面向对象技 术开发的软件代码重用率高,更需要严格测试,避免错误的繁 衍。
6.1 面向对象的基本概念
对象 类 消息 接口 封装 继承 多态
C1控制杆 停பைடு நூலகம் 间歇
C2刻度盘 -
1
间歇 2
间歇 3
低速 -
高速 -
A1雨刷
0
4
6
12
30
60
关
每分钟0次摆动
1
档 风
间歇
每分钟4次摆动
玻
2
璃
低速
每分钟6次摆动
雨
3
刷
高速
每分钟12次摆动
类
的
每分钟30次摆动 控制杆 刻度盘
行 为
每分钟60次摆动
雨刷
定义(类): 1) 控制杆
CLASS lever(lever position; private senseLeverUp(), Private senseLeverDown())
面向对象技术
面向对象方法的出现,实际上是程序设计 方法发展的-个返朴归真过程。
面向对象的实质:
❖ 从系统的组成上来进行分解。对问题自然分割, 利用类及对象作为基本构造单元,以更接近人 类思维的方式建立问题域模型,从而使设计出 的软件尽可能直接地描述现实世界,构造出模 块化的、可重用的、可维护性好的软件,并能 控制软件的复杂性降低开发维护费用。
面向对象思想的由来
“对象”一词在现实生活中经常会遇到,它表示现实世界 中的某个具体的事物。
随着计算机的普及应用,人们越来越希望能更直接与计算 机进行交互,而不需要经过专门学习和长时间训练后才能 使用它。这一强烈愿望使软件设计人员的负担越来越重, 也为计算机领域自身的发展提出了新的要求。
传统的程序设计思想无法满足这一要求,人们就开始寻求 一种更能反映人类解决问题的自然方法,"面向对象"技术 就是在这样的情况下产生的。
采用这四个概念开发的软件系统是面向对象的。
封装的目的
❖ 使对象的使用者和设计者产生分离 ❖ 使对象的定义和实现分开
例:档风玻璃雨刷系统
某些档风玻璃雨刷是由带刻度盘的控制杆控制的。控制
杆有4个位置:停止、间歇、低速、高速;刻度盘有3个位 置:1、2、3。刻度盘位置指示三种间歇速度,刻度盘的位 置只有当控制杆在间歇位置上时才有意义。
以下决策表给出了挡风玻璃雨刷对应控制杆和刻度盘的 工作速度:
面向对象的软件测试技术概述
技术创新,变革未来
目录
1 面向对象的基本概念 2 面向对象的软件测试与传统软件测试 3 面向对象软件测试模型 4 面向对象的单元测试 5 面向对象的集成测试 6 面向对象的系统测试 7 GUI测试
序
面向对象技术是一种全新的软件开发技术,正逐渐代替被 广泛使用的面向过程开发方法,被看成是解决软件危机的新 兴技术。 面向对象的特征是封装、继承、多态;
错误的决定; (2)消息的接收者可能收到非预期的特定消息,并做出
不正确地反映; (3)消息可能含有参数。在处理一条消息时,参数能被
接收者使用或修改。若传递的参数是对象,那么在消息 被处理前和处理后,对象必须处于正确的状态,而且必 须是接收者所期望的接口。
接口
接口——是行为声明的集合。接口是由一些规范构成的, 规范定义了类的一套完整的公共行为。
对象
对象——是指包含了一组属性以及对这些属性的操作的封 装体。
对象之间存在着一定的关系,对象之间的交互与合作构成 更高级的行为。
❖对象间的由分解所构成的关系,part of层次;
❖具王有五代表由一他种的一头般、特性胳的膊对、象腿之和间的身聚体合组关成系,is a层次; ❖代汽表车更一是般一的种对交象通间在工物具理上或概念上有关的相关关系。
“发送消息M到对象N” =“调用N对象的M方法”
消息传递是对象间通信息的手段。 一个消息通常包括接收对象名、调用的操作名和适当参数
(如有必要)。消息只告诉接收对象需要完成什么操作, 但并不指示接收者怎样去完成操作。消息完全由接收者解 释,接收者独立决定采用什么方法来完成所需操作。
消息(续)
从测试的角度看,关于消息有下面的结论: (1)消息的发送者决定何时进行发送消息,可能会做出
类是对象的抽象定义。使用类时必须先实例化—用对象 名创建类的实例,再通过这个对象去访问类的成员变量, 去调用类的成员函数。
类和对象之间关系类似于程序设计语言中类型和变量之 间的关系。
消息
消息——是对象的操作将要执行的一种请求,也被称为成 员函数调用或者方法调用。面向对象的程序的执行实际上 是执行一个由消息连接起来的方法序列。
是一种非常有效的编程工具,可以在不破坏现有应用程序 情况下使对象得以发展。
从测试的角度,关于接口有下面的结论: (1)接口封装了操作的说明。如果这一接口包含的行为和类
的行为不相符,那么这一接口的说明就有问题。 (2)接口非孤立,它与其它的接口和类有一定的关系。
封装
封装:是一种信息隐蔽技术,用户只能看到对象 封装界面上的信息,对象内部的实现对用户是隐 蔽的。防止外界未被授权地访问一些信息和功能。
人乘坐或驾驶汽车 对象是软件开发期间测试的直接目标。 面向对象软件测试所关注的焦点: (1)对象的行为是否符合它的规定说明; (2)该对象与和它相关的对象是否协同工作。
类
类——是具有相同属性和相同行为的对象的集合。面向 对象程序运行的基本元素是对象,而类则是用来定义对 象这一基本元素的。
在面向对象程序设计中,类是一个独立的程序单位,它 有一个类名,还包括用于描述对象属性的成员变量和用 于描述对象行为的成员函数。
面向对象与结构化开发方法
现实世界为 对象世界
面
OOA
向
对
象
OOD
开 发
方
法 OOP
结构化 分析
结 构 化 结构化 开 设计 发 方 法
结构化 编程
OOA/OOD/OOP是 一种从概念上更 为直接的路径。 面向过程的结构 化方法存在着与 现实世界之间的 巨大差距。
顺序存储 指令计算机 过程世界
面向对象的基本概念
面向对象技术产生更好的系统结构,更规范的编程风格, 极大的优化了数据使用的安全性;
面向对象设计的目的是达到最大限度的重用;
面向对象软件具有更严重的潜在的测试问题:由于面向对象技 术开发的软件代码重用率高,更需要严格测试,避免错误的繁 衍。
6.1 面向对象的基本概念
对象 类 消息 接口 封装 继承 多态
C1控制杆 停பைடு நூலகம் 间歇
C2刻度盘 -
1
间歇 2
间歇 3
低速 -
高速 -
A1雨刷
0
4
6
12
30
60
关
每分钟0次摆动
1
档 风
间歇
每分钟4次摆动
玻
2
璃
低速
每分钟6次摆动
雨
3
刷
高速
每分钟12次摆动
类
的
每分钟30次摆动 控制杆 刻度盘
行 为
每分钟60次摆动
雨刷
定义(类): 1) 控制杆
CLASS lever(lever position; private senseLeverUp(), Private senseLeverDown())
面向对象技术
面向对象方法的出现,实际上是程序设计 方法发展的-个返朴归真过程。
面向对象的实质:
❖ 从系统的组成上来进行分解。对问题自然分割, 利用类及对象作为基本构造单元,以更接近人 类思维的方式建立问题域模型,从而使设计出 的软件尽可能直接地描述现实世界,构造出模 块化的、可重用的、可维护性好的软件,并能 控制软件的复杂性降低开发维护费用。
面向对象思想的由来
“对象”一词在现实生活中经常会遇到,它表示现实世界 中的某个具体的事物。
随着计算机的普及应用,人们越来越希望能更直接与计算 机进行交互,而不需要经过专门学习和长时间训练后才能 使用它。这一强烈愿望使软件设计人员的负担越来越重, 也为计算机领域自身的发展提出了新的要求。
传统的程序设计思想无法满足这一要求,人们就开始寻求 一种更能反映人类解决问题的自然方法,"面向对象"技术 就是在这样的情况下产生的。