Ch8-面向对象软件测试-STMT

合集下载

软件测试第08章

软件测试第08章
(2) 类测试:类测试的重点是类内方法间的交 互和其对象的各个状态。 (3) 类簇测试:类簇也叫子系统,由若干个类 所组成,类簇测试重点是测试一组协同操作类 之间的相互作用。 (4) 系统测试:系统测试检验所有类和整个软 件系统是否符合需求。
8.2 面向对象软件测试的不同层次及其特点
三个层次方式以类为单元,这样对标识测试用例非常 有利,同时使得集成测试有更清晰的目标。面向对象软件的 测试一般分为三个层次: (1) 面向对象单元测试主要是对类成员函数以及类成员函 数间的交互进行测试,是进行面向对象集成测试的基础; (2) 面向对象集成测试主要对系统内部的相互服务进行测 试,如成员函数间的相互作用、类间的消息传递等;
1. 面向对象单元测试—类测试 (9)子类的测试 由于对于父类的代码原封不动的被子类 集成,子类中的某些部分可以不做执行测试, 也有一些部分需要重新测试: a 继承的成员函数在子类中做了改动;
b 成员函数调用了改动过的成员函数的部 分。
1. 面向对象单元测试—类测试 父类redefined方法
else if (value==0)


1. 面向对象单元测试—类测试
(4) 类测试的方法 类测试的方法有代码检查和执行测试用例。 在执行测试用例时,需要开发测试驱动程序,来 测试类成员函数,传统测试方法都可以使用。 (5)类测试程度 可以根据已经测试了多少类实现和多少类说 明来衡量测试的充分性。通常,还要结合风险分 析来确定测试需要进行到的程度。
1.面向对象分析的测试(OOA Test)
(2) 对认定的结构的测试
认定的结构是指多种对象的组织方式,用来 反映问题空间中的复杂实例和复杂关系。 通常有分类结构和组装结构两种,分类结构 即问题空间中实例的一般与特殊的关系,组装结 构体现了问题空间中实例整体与局部的关系。

面向对象软件测试策略

面向对象软件测试策略

• 在进行网站测试时,首先关注的是用户可见的方面,之 后进行技术及基础结构方面的测试。这里要进行6个步 骤的测试:
– 内容、界面、构件、配置、性能及安全测试。在测试过程中, 需要制定测试计划,要为每一个测试步骤开发一组测试用例, 并且要对记录了测试结果的文档进行维护,以备将来使用。
8.4.1 网站测试概念
8.2.4 面向对象系统的回归测试
• 测试用例库的维护
1. 删除过时的测试用例 2. 改进不受控制的测试 用例 3. 删除冗余的测试用例 4. 增添新的测试用例
• 回归测试包的选择
1. 再测试全部用例 2. 基于风险选择测试 3. 基于操作剖面选择测 试 4. 再测试修改的部分
8.2.5 面向对象测试的相关模型
8.4.1 网站测试概念
• 下面的步骤对此方法进行了总结:
对网站的内容模型进行评审,以发现错误。 对接口模型进行评审,以保证适合所有的用例。 评审网站的设计模型,以发现导航错误。 测试用户界面,以发现表现机制和导航机制中的错误。 对选择的功能构件进行单元测试。 对贯穿体系结构的导航进行测试。 在各种不同的环境下,实现网站运行,并测试网站对于每一种 配置的兼容性。 8. 进行安全性测试,试图攻击网站或其所处环境的弱点。 9. 进行性能测试。 10. 通过可监控的最终用户群体对网站进行测试;通常对他们与系 统的交互结果进行评估,包括内容和导航错误、可用性、兼容 性、网站的可靠性及性能等方面的评估 1. 2. 3. 4. 5. 6. 7.
8.2.3 面向对象的系统测试
• 面向对象系统测试有三个主要目的:
1. 验证产品交付的组件和系统性能能否达到要 求。 2. 定位产品的容量以及边界限制。 3. 定位系统性能瓶颈。
• 由于系统测试需要搭建与用户实际使用环 境相同的测试平台,以保证被测系统的完 整性,所以,对临时没有的系统设备部件, 也需要有相应的模拟手段。

《软件测试》第章面向对象的软件测试

《软件测试》第章面向对象的软件测试

确定决策
01
确定被测对象的功能决策,包括条件和结果。
决策表
02
根据条件和结果,建立决策表,包括输入、决策规则和期望输
出。
测试用例设计
03
根据决策表,设计针对每个决策的测试用例,包括输入、期望
输出和测试步骤。
基于类图的测试用例设计
确定类
确定被测对象涉及的类,包括类之间的关系。
类图
根据类之间的关系,建立类图,包括类之间的关系、属性和方法。
面向对象软件测试的特点
基于对象、注重交互性、考虑继承性和多态性等。
面向对象软件测试的国内外发展现状及趋势
面向对象软件测试的国内外发展现状
目前,面向对象软件测试已经得到了广泛的应用和研究,国内外出现了一些成熟的面向对象软件测试框架和工 具,如JUnit、TestNG、HP QTP等。
面向对象软件测试的未来趋势
基于TestNG的集成测试技术
TestNG简介
TestNG基本结构
TestNG功能
TestNG是另一个开源的Java测试框 架,与JUnit相比,它提供了更加灵活 的测试配置和管理功能。TestNG支 持多线程测试、分组测试、参数化测 试和依赖测试等。
TestNG测试用例由测试类和方法组 成,使用@Test注解标识测试方法。 TestNG还提供了@Before和@After 注解以及@BeforeClass和 @AfterClass注解,用于在测试前和 测试后执行一些操作。
实例2
基于类图和交互图的测试模型实例,通过分析 类和对象间的交互关系,设计有效的测试用例 。
实例3
对象测试的实例,针对单个对象及其方法进行 测试,并模拟对象间的交互来设计更有效的测 试用例。

面向对象的软件单元测试概述

面向对象的软件单元测试概述

End ‘Day constructor
33. Endif
23. setDay(pDay, pMonth)
End ‘increment
24. setCurrentPos(pDay)
25. m = pMonth
End ‘setDay
26. getDay()
27. return currentPos
End ‘getDay
➢例
Base::Redefined()含有如下语句:
If (value<0) message(“less”); else if (value==0) message(“equal”); else message(“more”);
……
面向对象的单元测试(续)
➢ 例(续) 在Derived::Redefined()中定义为: If (value<0) message(“less”); else if (value==0) message(“It is equal”); else { message(“more”); if (value==88) message(“luck”); } …… 在原有对父类Base的测试上,对Derived::Redefined()
End ‘CalendarUnit
a. setCurrentPos(pCurrnetPos) b. currentPos = pCurrnetPos
End ‘setCurrentPos
abstract protected boolean increment()
类:testlt
class testlt main() 1. Date testdate(testMonth,testDay,testYear) 2. testdate.increment() 3. testdate.printDate() End ‘testlt

软件测试第08章

软件测试第08章

面向对象程序设计的核心是象。 面向对象程序设计的核心是对象。在 面向对象程序设计中, 面向对象程序设计中,对象是实现世界中 各种实体的抽象表示, 各种实体的抽象表示,它是数据和代码的 组合,有自己的状态和行为。具体来说, 组合,有自己的状态和行为。具体来说, 对象的状态用数据来表示, 对象的状态用数据来表示,称为对象的属 性,而对象的行为用代码来实现,称为对 而对象的行为用代码来实现, 象的方法, 象的方法,不同的对象会有不同的属性和 方法。 方法。
面向对象的开发模型突破了传 统的瀑布模型, 统的瀑布模型,将开发分为 面向对象分析(OOA) 面向对象分析(OOA), 面向对象设计(OOD) 面向对象设计(OOD), 面向对象编程(OOP)三个阶段。 面向对象编程(OOP)三个阶段。
1.面向对象分析的测试(OOA Test) 1.面向对象分析的测试 面向对象分析的测试(OOA 面向对象分析(OOA)是"把 面向对象分析(OOA) E-R图和语义网络模型,即信息造 图和语义网络模型, 型中的概念, 型中的概念,与面向对象程序设计 语言中的重要概念结合在一起而形 成的分析方法, 成的分析方法,最后通常是得到问 题空间的图表的形式描述。 题空间的图表的形式描述。
系统测试具体测试内容包括: 系统测试具体测试内容包括: (1) 功能测试 (2) 强度测试 (3) 性能测试 (4) 安全测试 (5) 恢复测试 (6) 可用性测试 (7)安装/卸载测试(install/uninstall test) 安装/卸载测试( test) 等等
8.3 面向对象软件测试模型
OOA的测试是一个不可分割的系统过程 OOA 的测试是一个不可分割的系统过程 , 的测试是一个不可分割的系统过程, OOA阶段的测试可划分为以下五个方面 阶段的测试可划分为以下五个方面: 对 OOA阶段的测试可划分为以下五个方面: (1) 对认定的对象的测试 (2) 对认定的结构的测试 (3) 对认定的主题的测试 (4) 对定义的属性和实例关联的测试 (5) 对定义的服务和消息关联的测试

Ch3-软件测试方法-STMT

Ch3-软件测试方法-STMT
((a*b+c)>(a+b+c))
测试发现的错误:



布尔操作符 布尔变量 布尔括弧
– 关系操作符 – 算术表达式
条件覆盖 (2)
分支测试 组合条件C, 测试C为 true和 false分支、以及每个条件 例如 C = (a>b) AND (c<d) 测试:
C TRUE, FALSE
True AND True
示例 – 流程图
1
2 3 6 8 11 7 9 10 4 5
V(G) = 4
基本路径测试:流程图简化
1
2,3 6 4,5
8
7
9
10
11
流程图的圈复杂度
圈复杂度(Cyclomatic complexity):代码逻辑复杂度 的 度量,提供了被测代码的路径数量。复杂度越高,出 错的概率越大
V(G) = 区域数量(由节点、连线包围的区域,包括图形外部区域) V(G) = 连线数量 - 节点数量 + 2 V(G) = 判定节点数量 + 1
i<N
True
False
True False
result<=maxint
条件覆盖
目标: 保证测试到每个逻辑条件取值为 true 和 false
简单条件:
(a rel-op b) where rel-op={<, ≤, =, ≠, ≥, >} (和 NOT连用), 即 a≤b; NOT(a≤b)
组合条件: 由 AND, OR连接的多个简单条件,即(a>b) AND (c<d) 关系表达式: (E1 rel-op E2) 其中 E1 和 E2 是算术表达式,即

第14章 面向对象软件的测试

第14章 面向对象软件的测试
软件工程系 软件测试
本章内容
面向对象技术特点的测试
➢ 封装、信息隐藏、继承、多态和动态绑定
面向对象软件开发阶段的测试
➢ 分析、设计、编程
面向对象软件测试层次
➢ 单元测试、集成测试、系统测试
应用Ant的Java项目持续集成
2
软件测试
本章内容
面向对象技术特点的测试
18
软件测试
信息隐藏对测试的影响
19
应用Junit测试两个私 有方法getData
难点:其它类中不能访 问getData
Java反射机制
➢ getDeclaredMehods() 获得方法
➢ 修改访问属性为可访 问
➢ invoke()调用对象的 方法
软件测试
测试私有方法getData()
20
Flooring类
Wood和Surface单元测试 Flooring集成测试
61
软件测试
其它类交互
参数交互 返回类对象 类方法中创建对象 类引用全局类对象
62
软件测试
集成测试步骤
① 选定检测的类,参考OOD分析结果,仔细分析类的状态和相应的行为,类 或方法间传递消息,前置条件和后置条件的界定等;
➢ 封装、信息隐藏、继承、多态和动态绑定
面向对象软件开发阶段的测试
➢ 分析、设计、编程
面向对象软件测试层次
➢ 单元测试、集成测试、系统测试
应用Ant的Java项目持续集成
29
软件测试
面向对象分析的测试
面向对象分析的测试需要考虑:
➢ 对认定的对象的测试 ➢ 对认定的结构的测试 ➢ 对认定的主题的测试 ➢ 对定义的属性和实例关联的测试 ➢ 对定义的服务和消息关联的测试

面向对象的软件测试1

– 逻辑覆盖法(logic covering) – 路径分析法(path analysis) – ……
面向对象的单元测试(OO Unit Test)
• 面向对象单元测试在设计测试用例、选择测试数据 时,可以基于以下假设
(Test case design and test data selection in OO unit test can be based on the following assumption)
Chapter 8 Object-oriented Software Test
Object-oriented Software Test
• Learning and Understanding the basic concept of Object-Oriented test method • Learning and Understanding the OO unit test method • Learning and grasping the integrative OO test method • Learning and grasping the OO system test method
Overview of Object-Oriented software test
• Object-Oriented software test and Traditional software test
– Difference between Object-Oriented software test and Traditional software test
(Considerations in OOA stage test)
– 对认定的同一对象的实例是否提供或需要相同 的服务,如果服务随着不同的实例而变化,认 定的对象就需要分解或利用继承性来分类表示; – 如果系统没有必要始终保持对象代表的实例的 信息,提供或者得到关于它的服务,认定的对 象也无必要; – 认定的对象的名称应该尽量准确、适用;

面向对象软件测试技术(转)

面向对象的软件测试技术相关知识点-面象对象(=Object Oriented)1.对象和类l 面象对象的编程语言:以对象为中心,以消息为驱动,程序=对象+消息l 类是一种新的数据类型,是设计的核心,是通过抽象数据类型的方法来实现的一种数据类型l 类是对某一对象的抽象,对象是某一类的实例,两者密切相关2.封装、继承和多态性(1)封装:把数据和操作结合一体,使程序结构更加紧凑,避免了数据紊乱带来的调试与维护的困难(2)继承:可以从一个类派生到另一个类,派生类继承了父类和祖先类的数据成员和函数,增加了软件的可扩充性,并为代码重用提供了强有力的手段(3)多态性:多种表现形式,可以用‘一个对外接口,多个内在实现方法’表示。

一.面向对象模型1.面向对象测试的分类依据面向对象开发模型(面向对象分析、面向对象设计、面向对向编程),分为:(1)面向对象分析的测试(OOA )、面向对象设计的测试(OOD Test):是对分析结果和设计结果的测试,主要对分析设计产生的文本进行的,是软件开发前期的关键性测试(2)面向对象编程的测试(OOP Test):对编程风格和程序代码实现进行测试,主要的测试内容在OO Unit Test和OO Integrate Test中体现(3)面向对象(OO Unit Test):对程序内部具体单一的功能模块的测试,主要对类成员函数的测试,是OO Integrate Test 的基础(4)面向对象集成测试(OO Intergrate Test):对系统内部的相互服务进行测试,如成员函数间的相互作用,类间的消息传递。

不仅要基于OO Unit Test,还要参考OOD、OOD Test的结果(5)面向对象确认测试(OO System Test)、面向对象系统测试(OO System Test):最后阶段的测试,以用户需求为测试标准,借鉴OOA 、OOA Test的结果二.面向对象软件的测试策略1.面向对象分析的测试(1)面向对象分析是把E-R图和语义网络模型,即信息造型中的概念,与面向对象程序设计语方中的重要概念结合在一起而形成的分析方法。

《软件测试》第X章 面向对象的软件测试

03 。
对象级测试的方法
单元测试
针对类或模块的独立单元进行测试,验证其 功能和行为是否符合预期。
边界测试
检查对象在边界条件下的行为和性能,例如 输入的最大值、最小值、非法值等。
集成测试
将多个对象或模块组合在一起进行测试,验 证它们之间的交互和通信是否正常。
异常测试
故意引发异常或错误情况,验证对象的异常 处理和错误恢复能力。
面向对象软件测试的总结
01
面向对象软件测试的概念
面向对象软件测试是指针对采用面向对象技术开发的软件进行的测试,
主要关注对象交互、封装性、继承性和多态性等方面的测试。
02 03
面向对象软件测试的特点
面向对象软件测试具有关注对象交互、强调类的独立性、继承层次的测 试和多态性的测试等特点,这些特点使得面向对象软件测试更加复杂和 重要。
《软件测试》第X章 面向对 象的软件测试
汇报人: 2023-12-24
目录
• 面向对象软件测试概述 • 类级测试 • 对象级测试 • 继承层次结构测试 • 总结与展望
01
面向对象软件测试概述
面向对象软件的特点
封装
多态
将数据和操作数据的函数封装在一起 ,形成对象。
同一消息可以触发不同的行为,实现 动态绑定。
对象级测试的实践
确定测试对象
根据需求和设计文档,确定需要测试 的对象及其功能和行为。
设计测试用例
根据对象的属性和方法,设计具有代 表性的测试用例,包括正常情况和异 常情况。
执行测试
使用适当的测试工具和技术,执行测 试用例并记录结果。
缺陷跟踪与修复
对发现的缺陷进行跟踪和管理,及时 修复并重新测试以确保问题得到解决 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

合理的分析, 合理的分析,有利于找出更有 价值的测试用例。 价值的测试用例。
分层与增量
分层与增量:测试用例选择时,需要注意的事项: 分层与增量:测试用例选择时,需要注意的事项: D的接口中添加一个或多个新的操作,并且有可能是D中的一个新方法实 现一个新操作。新操作引入了新的功能和新的代码,这些都需要测试。 在D中改变那些在C中声明的操作规范,需要为操作添加新的基于规范的测 试用例。附加的测试用例提供了新的输入,这些输入符合任何削弱了的前 置条件,并且对由任何加强了的后置条件导致的新的期望结果进行检查 。 在D中覆盖那些在C中实现了某个操作并且被D继承了的方法,可以复用于 该方法的所有继承来的基于规范的测试用例 。 在D中添加一个或多个新的实例变量来实现更多的状态和/或属性。添加新 的变量最有可能与新的操作和/或重载方法中代码有关,而且对测试的处理 也与它们有关 。 在D中改变类常量。类常量累计成每个测试用例的附加的后置条件。
面向对象层次结构测试重点
对认定的结构的测试 认定的结构指的是多种对象的组织方式,用来反映问题空间中的复杂实 例和复杂关系。 认定的分类结构测试要点: 对于结构中的一种对象,尤其是处于高层的对象,是否在问题空间 中含有不同于下一层对象的特殊可能性,即是否能派生出下一层对 象。 对于结构中的一种对象,尤其是处于同一低层的对象,是否能抽象 出在现实中有意义的更一般的上层对象。 对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有 意义的对象。 高层的对象的特性是否完全体现下层的共性,低层的对象是否有高 层特性基础上的特殊性。
面向对象的单元测试
构建测试的驱动程序
测试驱动程序是一个运行测试用例并收集运行结果的程序。测试驱动 程序的设计应该相对简单,因为我们很少有时间和资源来对驱动程序软 件进行基于执行的测试(否则会进入一个程序测试递归的、无穷的之 路),而是依赖代码检查来检测测试驱动程序。所以,测试驱动程序必 须是严谨的、结构清晰、简单,易于维护,并且对所测试的类说明变化 具有很强的适应能力。理想情况下,在创建新的测试驱动程序时,应该 能够复用已存在的驱动程序的代码。
面向对象层次结构测试重点
对构造的类层次结构的测试 为了能充分发挥面向对象继承共享特性,OOD(面向对象设计)的类层次 结构通常基于OOA中产生的分类结构的原则来组织,着重体现父类和 子类间的一般性和特殊性。在当前的问题空间,对类层次结构的主要要 求是能在解空间构造实现全部功能的结构框架。为此测试要注意如下几 个方面: 类层次结构是否涵盖了所有定义的类; 是否能体现OOA中所定义的实例关联、消息关联; 子类是否具有父类没有的新特性; 子类间的共同特性是否完全在父类中得以体现。
面向对象的单元测试
构建测试用例 首先要看怎样从类说明中确定测试用例,然后根据类实现引进的边界 值来扩充附加的测试用例。
根据前置条件和后置条件来构建测试用例的总体思想是:为所有可 能出现的组合情况确定测试用例需求。在这些可能出现组合情况下, 可以满足前置条件,也能够达到后置条件。接下来创建测试用例来表 达这些需求,根据这些需求还可以创建拥有特定输入值(包括常见值 和边界值)的测试用例,并确定它们的正确输出。最后,还可以增加 测试用例来阐述违反前置条件所发生的情况。
8.3面向对象的单元测试 8.3面向对象的单元测试
类测试 类测试的方法 通过代码检查或执行测试用例能有效地测试一个类的代码。
面向对象的单元测试
类测试的组成部分 作为每个类,决定是将其作为一个单元进行独立测试,还是以某 种方式将其作为系统某个较大部分的一个组件进行独立测试,需要 基于以下因素进行决策: 这个类在系统中的作用,尤其是与之相关联的风险程度。 这个类的复杂性(根据状态个数、操作个数以及关联其他类的程 度等进行衡量) 开发这个类测试驱动程序所需的工作量。 在进行类测试时,一般要考虑以下几个方面: 测试人员 测试内容 测试时间 测试过程 测试程度
面向对象的单元测试
类测试系列的充分性 充分性的三个常用标准是:基于状态的覆盖率、基于限制的覆盖率、 基于代码的覆盖率。 基于状态的覆盖率, 基于状态的覆盖率,以测试覆盖了多少个状态转换为依据 。 基于约束的覆盖率, 基于约束的覆盖率,与基于状态转换的充分性类似,还可以根据有 多少对前置条件和后置条件被覆盖来表示充分性。 基于代码的覆盖率。当所有的测试用例都执行结束时,确定实现一 基于代码的覆盖率 个类的每一行代码或代码通过的每一条路径至少执行了一次,这是 一种很好的思想。
8.4 面向对象的集成测试
分布式对象测试中需要注意的情况 局部故障: 局部故障 超时: 超时 结构的动态性: 结构的动态性 线程: 线程 同步: 同步
8.4 面向对象的集成测试
面向对象集成测试的常用方法 抽样测试 正交阵列测试
例如,假设有3个因素----即A、B、C,每个因素有3 个级别----即1、2、 和3,那么这些值就有27种可能的组合情况----A的3 种组合情况×C的3 种 组合情况。
8.4 面向对象的集成测试
分布式对象测试 如今很少有设计单个进程在单个处理机上执行的系统,为了获得灵活 性和伸展性,许多系统都被设计成多个充分独立的部件,每个部件可以 存在于一个独立的进程中,而整个系统的运行会根据需要启动多个进程。 如果这些进程不是分布在一台机器上,而是分布在多台机器上,借助于 计算机通讯或网络实现它们相互之间的协作,从而构成一个分布式的系 统,客户机/服务器模型是一种简单的分布式系统,在这种模型中,客户 机和服务器部件被设计成存在于独立的进程中,服务器提供数据计算、 处理、存储等管理工作,客户端接受用户的输入、请求、显示结果等工 作,两者分工不同。随着,计算机技术的发展,可以构造一个分布式的 服务器集群,通过并行技术实现复杂的或巨量的计算;也可以构造没有 服务器的、分布式的、由客户端构成的对等网络 (P2P) 系统。
8.1面向对象软件的特点 8.1面向对象软件的特点
我们生活在一个对象的世界里,每个对象有一定的属性 属性,把属 我们生活在一个对象的世界里 属性 性相同的对象进行归纳就形成类,如家具就可以看作类,其主要 类 的属性有价格、尺寸、重量、位置和颜色等,无论我们谈论桌子、 椅子还是沙发、衣橱,这些属性总是可用的,因为它们都是家具 而继承了为类定义的所有属性。实际上,计算机软件所创建的面 向对象思想同样来源于生活。 除了属性之外,每个对象可以被一系列不同的方 操纵,它可以被买卖、移动、修改(如漆上不同 式操纵 操纵 的颜色)。这些操作或方法将改变对象的一个或多 个属性。这样所有对类的合法操作可以和对象的 这样所有对类的合法操作可以和对象的 定义联系在一起,并且被类的所有实例继承。 定义联系在一起,并且被类的所有实例继承。
8.4 面向对象的集成测试
对象交互 汇集类测试 有些类在它们的说明中使用对象,但是实际上从不和这些对象中的任何一个 进行协作,也就是说,它们从来不请求这些对象的任何服务。相反,它们会 表现出以下的一个或多个行为: 存放这些对象的引用(或指针),程序中常表现为对象之间一对多的关系 创建这些对象的实例 删除这些对象的实例 协作类测试 该类的一个或多个操作中使用其它的对象并将其作为它们的实现中不可缺少 的一部分。当类接口中的一个操作的某个后置条件引用了一具对象的实例状 态,并且(或者)说明那个对象的某个属性被使用或修改了,那么这个类就 是一个协作类 。
面向对象(object-oriented)
面向对象(object-oriented) = 对象 + 分类 + 继承 + 通信 面向对象
面向对象(object-oriented)
可重用性。从一开始对象的产生就是为了重复利用, 可重用性。从一开始对象的产生就是为了重复利用, 完成的对象将在今后的程序开发中被部分或全部地 重复利用。 重复利用。 可靠性。由于面向对象的应用程序包含了通过测试 可靠性。 的标准部分,因此更加可靠。 的标准部分,因此更加可靠。由于大量代码来源于 成熟可靠的类库, 成熟可靠的类库,因而新开发程序的新增代码明显 减少,这是程序可靠性提高的一个重要原因。 减少,这是程序可靠性提高的一个重要原因。
连续性。具有面向对象特点的 ++ ++与 语言有很大的兼容性 语言有很大的兼容性, 连续性。具有面向对象特点的C++与C语言有很大的兼容性, C程序员可以比较容易地过渡到 ++语言开发工作。 程序员可以比较容易地过渡到C++语言开发工作。 程序员可以比较容易地过渡到 ++语言开发工作
面向对象(object-oriented)
面向对象层次结构测试重点
对认定的对象的测试 OOA(面向对象分析)中认定的对象是对问题空间中的结构、其他系 统、设备、被记忆的事件、系统涉及的人员等实际实例的抽象。对 它的测试可以从如下方面考虑: 认定的对象是否全面,其名称应该尽量准确、适用,是否问题空间 中所涉及到的实例都反映在认定的抽象对象中。 认定的对象是否具有多个属性。只有一个属性的对象通常应看作其 他对象的属性而不是抽象为独立的对象 对认定为同一对象的实例是否有共同的、区别于其他实例的共同属 性,是否提供或需要相同的服务,如果服务随着不同的实例而变化, 认定的对象就需要分解或利用继承性来分类表示。 如果系统没有必要始终保持对象代表的实例信息,提供或者得到关 于它的服务,认定的对象也无必要。
8.4 面向对象的集成测试
面向对象的集成测试主要是两个方面: 类的线性测试,交互测试。 类的独立性测试(跨平台)方面测试。
面向对象的程序是由若干对象组成的,这些对象互相协作以解决 某些问题。对象的协作方式决定了程序能做什么,从而决定了这个 程序执行的正确性。因此,一个程序中对象的正确协作----即交互---对于程序的正确性是非常关键的。
8.4 面向对象的集成测试
分布式对象的概念和特点 线程是一个操作系统进程内能够独立运行的内容,它拥有自 线程 己的计数器和本地数据。线程是能够被调度执行的最小单位。 面向对象语言通过隐藏接口的属性或在某些情况下使线程对 对象做出反应,以此提供一些简单的同步手段。 在测试过程中,我们不能因为在一个特定执行中没有发生错误就 肯定缺陷被消除了,而是引导我们必须使用下列技术之一: 在类的层次上进行更彻底的测试。 在类的层次上进行更彻底的测试。 在记录事件发生顺序的同时,执行大量的测试用例。 在记录事件发生顺序的同时,执行大量的测试用例。 指定标准的测试环境: 指定标准的测试环境软件 Nhomakorabea试方法和技术
相关文档
最新文档