第14章 面向对象测试基础
软件测试中的面向对象和接口测试

软件测试中的面向对象和接口测试在软件测试中,面向对象和接口测试是两个非常重要的测试方法。
本文将详细介绍这两个测试方法的概念、原理和实践技巧,以及它们在软件测试中的应用。
一、面向对象测试面向对象测试是一种基于对象的软件测试方法。
它的主要目标是测试对象的行为和状态是否满足预期。
在面向对象测试中,我们需要关注对象的属性、方法和关系,以及它们之间的交互和依赖关系。
1. 面向对象测试的基本原理面向对象测试的基本原理包括封装性、继承性和多态性。
封装性要求测试人员只关注对象的外部行为,而不需要了解对象的内部实现细节;继承性要求测试人员测试子类对象时,同时也测试了父类对象的行为;多态性要求测试人员测试对象的各种可能的行为。
2. 面向对象测试的实践技巧在面向对象测试中,我们可以运用以下实践技巧来有效地进行测试:- 边界条件测试:测试对象属性和方法的边界情况,以确保它们在边界条件下的正确性。
- 继承关系测试:测试对象的继承关系是否正确,包括子类是否正确继承父类的行为和属性。
- 交互测试:测试对象之间的交互是否符合预期,包括消息传递、方法调用等。
- 异常处理测试:测试对象在异常情况下的行为和状态是否正确,以确保异常情况下的可靠性和稳定性。
二、接口测试接口测试是一种测试软件组件之间接口的方法。
它的主要目标是测试接口的正确性、稳定性和可靠性。
在接口测试中,我们需要关注接口的输入、输出和接口之间的协议和规范。
1. 接口测试的基本原理接口测试的基本原理包括输入输出测试、协议测试和兼容性测试。
输入输出测试要求测试人员测试接口的输入和输出是否符合预期;协议测试要求测试人员检查接口之间的通信协议和规范是否正确;兼容性测试要求测试人员测试接口在不同环境和配置下的兼容性。
2. 接口测试的实践技巧在接口测试中,我们可以运用以下实践技巧来有效地进行测试:- 输入输出测试:测试接口的输入是否正确,并检查输出是否符合预期。
- 通信协议测试:测试接口之间的通信协议和规范是否符合标准要求。
第14章 系统开发与运行的基础知识

第14章系统开发与运行的基础知识软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是______。
A.构件化方法 B.结构化方法C.面向对象方法 D.快速原型法结构化开发方法中,数据流图是______阶段产生的成果。
A.需求分析 B.总体设计 C.详细设计 D.程序编码______是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。
A.结构化开发方法 B.Jackson系统开发方法C.Booch方法 D.UML(统一建模语言)软件开发模型用于指导软件的开发。
演化模型是在快速开发一个 (4) 的基础上,逐步演化成最终的软件。
螺旋模型综合了 (5) 的优点,并增加了 (6) 。
喷泉模型描述的是面向 (7) 的开发过程,反映了该开发过程的 (8) 特征。
(4)A.模块 B.运行平台 C.原型 D.主程序(5)A.瀑布模型和演化模型 B.瀑布模型和喷泉模型C.演化模型和喷泉模型 D.原型模型和喷泉模型(6)A.质量评价 B.进度控制C.版本控制 D.风险分析(7)A.数据流 B.数据结构 C.对象 D.构件(8)A.迭代和有间隙 B.迭代和无间隙C.无迭代和有间隙 D.无迭代和无间隙关于原型化开发方法的叙述中,不正确的是______。
A.原型化方法适应于需求不明确的软件开发B.在开发过程中,可以废弃不用早期构造的软件原型C.原型化方法可以直接开发出最终产品D.原型化方法利于确认各项系统服务的可用性下面关于网络工程需求分析的论述中,正确的是______。
A.任何网络都不可能是一个能够满足各项功能需求的万能网B.必须采用最先进的网络设备,获得最高的网络性能C.网络需求分析独立于应用系统的需求分析D.网络需求分析时可以先不考虑系统的扩展性面向对象的测试可分四个层次,按照由低到高的顺序,这四个层次是______。
A.类层——模板层——系统层——算法层B.算法层——类层——模板层——系统层C.算法层——模板层——类层——系统层D.类层——系统层——模板层——算法层在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。
面向对象软件的测试

C la s s _ A + o p e ra tio n 1 () + o p e ra tio n 2 ()
C la s s _ B + o p e ra tio n 3 ()
C la s s _ C + o p e ra tio n 2 () + o p e ra tio n 3 ()
图 Class_A类有两个实例 6 方法operation1()和op - eration2(),Class_B 6 类继承了Class_A类并 类 且实现了新的实例方法 之 operation3(),Class_ 间 C类继承了Class_B类, 的 覆盖了Class_B类的实 继 例方法operation3()和 承 实例方法operation2(). 关 系
对类进行测试时需要构建可执行的类实例,而 接口不存在任何构造方法无法被实现。
由于接口一定会在某个类中实现,因此就使 用一个实现接口的类来做测试。遵循以下原则:
如果接口没有被任何类实现就无需进行测试。 如果已被别的类实现,那么就针对实现该接口
的类进行测试。
(如下图6-8)
Interface_A
+ a_m ethod() + b_m ethod()
技巧,设计类测试用例和测试驱动程序的几种方 法; • 初步了解Junit。
6.1面向对象的测试与传统测试的比较
传统的测试计算机软件的策略是从“小型测 试”开始,逐步走向“大型测试”,且单元测试集 中在最小的可编译程序单位——子程序。
面向对象程序的结构不再是传统的功能模块 结构,而是作为一个整体,并且对每个开发阶段 都有不同以往的要求和结果,已经不可能用功能细 化的观点来检测面向对象分析和设计的结果。
面向对象软件测试要点与技巧

面向对象软件测试要点与技巧面向对象的软件开发方法已经成为现代软件开发的主流,在这种开发方法中,软件系统被分解为对象,而对象之间通过消息传递进行交互。
面向对象软件测试是为了验证系统的正确性和可靠性而进行的一项重要工作。
本文将介绍面向对象软件测试的要点和技巧,帮助开发人员更好地进行软件测试。
一、了解软件测试的基本概念在进行面向对象软件测试之前,首先需要了解软件测试的基本概念。
软件测试是指通过运行和评估软件,以验证软件是否满足预定义的需求和预期的性能。
软件测试可以帮助发现和纠正软件中的错误,并确保软件的质量和可靠性。
二、理解面向对象软件测试的特点1. 封装性:面向对象软件测试需要关注对象之间的交互和信息传递,而不仅仅是测试单个函数或方法。
2. 继承性:在进行面向对象软件测试时,需要考虑继承关系对测试的影响,确保子类的测试能够覆盖到父类的功能。
3. 多态性:多态性使得同一个方法在不同的对象上有不同的实现,因此在进行面向对象软件测试时,需要考虑不同对象的测试用例设计。
三、设计有效的面向对象软件测试用例1. 根据需求和用例进行测试用例设计:根据软件需求和用例设计相应的测试用例,确保测试能够覆盖到系统的各个功能。
2. 考虑特殊情况:在进行面向对象软件测试时,需要考虑到各种特殊情况,例如边界条件、异常处理等。
3. 设计可重复性的测试用例:设计可重复性的测试用例可以提高测试效率,同时能够对软件系统进行多次验证。
四、选择合适的面向对象软件测试技术和工具1. 单元测试:通过对单个类或方法进行测试,验证其功能的正确性。
2. 集成测试:将多个对象组合起来进行测试,验证对象之间的交互是否正常。
3. 系统测试:对整个软件系统进行测试,验证系统的功能和性能是否满足需求。
4. 自动化测试工具:选择合适的自动化测试工具可以提高测试效率和准确性。
五、进行面向对象软件测试的常见问题及解决方法1. 测试用例设计不全面:解决方法是仔细分析需求和用例,设计更全面的测试用例。
《软件测试》第章面向对象的软件测试

推动软件测试技 术的创新
随着技术的不断发展,软件 测试面临着越来越多的挑战 ,需要积极推动技术创新, 研发新的软件测试技术和工 具,以满足不断变化的软件 测试需求。
加强软件测试培 训和教育
通过提供专业的培训和教育 ,可以提高软件测试从业人 员的技能水平,提升整个行 业的技术水平。
建立软件测试标 准和规范
区块链技术在软件测试中的应用
区块链技术可以实现测试数据的公开、透明和不可篡改,提高测试的可信度 和有效性。
06
总结与展望
面向对象的软件测试的收获与不足
01
03
面向对象的软件测 试…
通过运用面向对象的技术和方法 ,软件测试能够更加全面、细致 地检测软件的功能和性能,及时 发现并修复缺陷,从而提高软件 的质量。
02
面向对象的软件测 试…
面向对象的方法鼓励将软件设计成 由相对独立、可重用的对象组成的 系统,这种设计方法使得软件在发 生改变时,只需修改个别对象,而 不会对整个软件产生影响,降低了 软件维护的难度。
面向对象的软件测 试…
面向对象技术提倡建立可重用的 对象类库,使得软件可以在不同 的应用场景中重复使用,提高了 软件的可重用性。
04
面向对象的软件测 试…
通过运用面向对象的技术和方法, 软件开发可以在一定程度上避免传 统开发方法带来的风险,如需求变 更难以适应、系统复杂性难以控制 等。
加强软件测试行业的合作与创新
加强软件测试行 业的合作
面对日益增长的软件需求和 复杂的技术挑战,软件测试 行业需要加强合作,共享资 源,通过团队协作,共同解 决面临的难题。
04
面向对象的软件测试工具
常用的面向对象的软件测试工具
• IBM Rational TestRail • TestRail • JUnit • Selenium • 缺陷发现工具:TestRail、JIRA、MantisBT等 • 功能测试工具:Selenium、Cucumber、QTP等 • 压力测试工具:Apache JMeter、Gatling等
面向对象基础测试题和答案

共40 道选择题,每题 2.5 分。
多选题有错则全错,全对才满分.面向对象部分测试题1. 下面描述函数重写错误的是 CA. 要有子类继承或实现B. 子类方法的权限必须大于等于父类的权限C. 父类中被private 权限修饰的方法可以被子类重写D. 子类重写接口中的抽象方法,子类的方法权限必须是public 的2. 关于封装下面介绍错误的是( D )。
A. 封装将变化隔离B. 封装提高重用性。
C. 封装安全性D. 只有被private 修饰才叫做封装3. 试图编译运行下面的代码会发生什么情况 Dpublic class MyClass{static int i;public static void main(String[] args){System.out.println(i);}}A. 错误,变量i 没有被初始化B. 输出nullC. 输出1D. 输出04. 在Java 中,下面对于构造函数的描述正确的是(D)。
A. 类必须显式定义构造函数B. 构造函数的返回类型是voidC. 构造函数和类有相同的名称,并且不能带任何参数D. 一个类可以定义多个构造函数5. 下面Java 代码的运行结果是( C )。
class Penguin {private String name=null; // 名字private int health=0; // 健康值private String sex=null; // 性别public void Penguin() { //是一般方法,不是构造方法health = 10;sex = " 雄";System.out.println(" 执行构造方法。
");}public void print() {System.out.println(" 企鹅的名字是" + name +" ,健康值是" + health + " ,性别是" + sex+ " 。
面向对象分析与设计基础知识全掌握

面向对象分析与设计基础知识全掌握在软件开发领域,面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种广泛应用的方法论。
它以对象为核心,通过抽象、封装、继承和多态等特性,实现对软件系统的理解和构建。
本文将全面介绍面向对象分析与设计的基础知识,帮助读者全面掌握这一方法。
一、面向对象思想的基本概念面向对象思想是现代软件开发的基石,理解其中的基本概念对于深入学习面向对象分析与设计至关重要。
1.1 类和对象在面向对象的世界里,类是对象的抽象和模板,定义了对象的属性和行为。
类可以看作是一种数据类型的定义,它具有封装、继承和多态的特性。
而对象是类的实例,是具体的、可以被使用的实体。
1.2 封装封装(Encapsulation)指将数据和对数据的操作封装在一个类中,通过访问权限控制,隐藏对象的内部细节,仅向外部提供必要的接口。
封装提高了代码的安全性和复用性,减少了代码的耦合度。
1.3 继承继承(Inheritance)是面向对象编程中的重要概念,它允许我们创建新的类,从已存在的类中继承属性和方法。
继承可以提高代码的可扩展性和复用性,实现了代码的层次化组织。
1.4 多态多态(Polymorphism)是面向对象编程中的另一个重要概念,它允许不同类的对象对同一消息作出响应,实现了不同对象之间的互换使用。
多态提高了代码的灵活性和可维护性。
二、面向对象分析与设计的过程面向对象分析与设计是一种系统化的方法,它通过一系列步骤来分析和设计软件系统。
下面是面向对象分析与设计的基本过程。
2.1 需求获取需求获取是面向对象分析与设计的第一步,通过与用户沟通、分析文档等方式,准确地理解用户的需求和期望。
在这一阶段,我们需要收集用户需求并进行整理和分析。
2.2 需求分析需求分析是根据获取到的需求,进一步分析需求的优先级、相互关系和约束条件等。
通过需求分析,我们可以消除需求的模糊性和冲突,为后续的设计工作提供准确的依据。
软件工程和开发技术第14章 面向对象测试基础共31页

第14章 面向 a=1; char *h=“Hd”;}
class Vb{ public:int b=2; char *v="Vb";}
2.基于使用的测试(Use_based Testing) 基于使用的测试首先测试几乎不使用服务器类的那些类(称为 独立类);接着测试使用独立类的最下层的类(称为依赖类);然后, 对根据依赖类的使用关系,从下到上一个层次一个层次地持续进 行测试,直至把整个软件系统测试完为止。 除了上述两种测试方法,还有一种集群测试法,是面向对象 软件集成测试的一个步骤。为了检查一群相互协作的类,用精心 设计的测试用例,力图发现协作错误,即集群测试。通过研究对 象模型可以确定协作类。 为减少测试工作的工作量,在进行集成测试时,可参考类关 系图或实体关系图,确定不需要被重复测试的部分,从而优化测 试用例,使测试能够达到一定的标准。
第14章 面向对象测试基础
测试用例分为基于黑盒的测试用例和基于白盒的测试用 例。前者也叫做基于系统外部需求的测试用例,主要根据需 求分析阶段的用例规格描述和其他需求进行设计,只观察系 统的外观表现是否满足预期要求;后者又称为基于系统内部 结构的测试用例,主要依据分析设计阶段的逻辑和物理模型, 如类图和顺序图以及代码设计测试用例,旨在测试软件功能 执行过程中对象的交互过程,包括消息、响应以及各个程序 路径等。
第14章 面向对象测试基础
14.2 面向对象的集成测试
1.基于线程的测试(Thread_based Testing) 基于线程的测试把响应系统的一个输入或一个事件所需 要的一组类集成起来进行测试。应当分别集成并测试每个线 程,同时为了避免产生副作用再进行回归测试。该测试需要 基于系统的动态模型。
第14章 面向对象测试基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件集成测试的一个步骤。为了检查一群相互协作的类,用精心
设计的测试用例,力图发现协作错误,即集群测试。通过研究对 象模型可以确定协作类。
为减少测试工作的工作量,在进行集成测试时,可参考类关
系图或实体关系图,确定不需要被重复测试的部分,从而优化测 试用例,使测试能够达到一定的标准。
第14章 面向对象测试基础
程更加复杂化。因此,继承也给测试用例的设计带来负面影 响。当父类与子类的环境不同时,父类的测试用例对子类没 有什么使用价值,必须为子类设计新的测试用例。 在设计面向对象的测试用例时应注意以下三点: (1) 继承的成员函数需要测试。对于在父类中已经测试 过的成员函数,根据具体情况仍需在子类中重新测试。一般 在下述两种情况下要对成员函数重新进行测试: ① 继承的成员函数在子类中有所改动。 ② 成员函数调用了改动过的成员函数。
所设计的测试方案。对软件的每个特定功能或运行操作路径 的测试构成了一个个测试用例。不同类别的软件,测试用例 的策略、方法和侧重点都是不同的。例如,企业信息管理类 软件,其需求不确定或者变化较为频繁,通常的策略是把测 试数据和测试脚本从测试用例中划分出来,以供重用。 目前,面向对象软件的测试用例的设计方法还处于研究、 发展阶段。1993年,Berard提出了指导面向对象的软件测试 用例设计的方法,要点如下:
括精心设计的一组测试输入、执行条件以及预期结果,以便
测试某个程序功能或者路径是否满足特定需求。 测试用例包括对特定的软件产品进行测试的任务描述,
体现测试方案、方法、技术和策略,其内容包括测试目标、
测试环境、输入数据、测试步骤、预期结果、测试脚本等, 并形成文档。
第14章 面向对象测试基础 测试用例是针对软件产品的功能、业务规则和业务处理
第14章 面向对象测试基础 2.从行为模型导出测试用例
动态行为模型由几个状态转换图组成的。根据类的状态 图,可以设计出测试该类以及类间动态行为的测试用例。同 时,为了保证该类的所有行为都能被测试,还可以利用状态 图设计更多测试用例。
第14章 面向对象测试基础
14.4.5 测试用例设计举例
1.基于用例(Use Case)的测试用例设计 用于功能性测试的测试用例来源于测试目标的用例。应该为
第14章 面向对象测试基础
第14章 面向对象测试基础
14.1 面向对象的单元测试 14.2 面向对象的集成测试
14.3 面向对象的确认测试与系统测试
14.4 设计测试用例 14.5小结
第14章 面向对象测试基础
14.1 面向对象的单元测试
在面向对象的软件开发中,“封装”导致了类和对象的
定义特点,这意味着类和类的实例(对象)包装了属性(数据) 和处理这些数据的操作(也称为方法或服务)。软件的核心是
第14章 面向对象测试基础 (1) 每一个测试用例都要有一个唯一的标识,并与被测
试的一个或几个类相关联起来。 (2) 每个测试用例都要陈述测试目的。 (3) 对每个测试用例要有相应的测试步骤,包括被测对 象的特定状态、所使用的消息和操作、可能产生的错误及测 试需要的外部环境。 (4) 与传统软件测试(测试用例的设计由软件的输入—处 理—输出或单个模块的算法细节驱动)不同,面向对象测试 关注于设计适当的操作序列以检查类的状态。
第14章 面向对象测试基础 14.4.3 类测试用例设计
1.基于故障的测试用例设计 基于故障的测试(Fault_based Testing)与传统的错误推测 法类似,通过对面向对象分析或面向对象设计模型的分析, 首先推测软件中可能有的错误,然后设计出最可能发现这些 错误的测试用例。例如,软件工程师经常在问题的边界处犯 错误,因此,在测试(计算平方根)操作(该操作在输入为负数 时返回出错信息)时,应该着重检查边界情况:一个接近零 的负数和零本身。其中,“零本身”用于检查程序员是否犯 了如下错误:
第14章 面向对象测试基础 14.4.2 面向对象概念对测试用例设计的影响
封装性和继承性是类的重要特性,这为面向对象的软件 开发带来很多好处,同时它又为面向对象的软件测试带来负 面影响。 类的属性和操作是被封装的,而测试需要了解对象的详 细状态。同时,当改变数据成员的结构时,要测试是否影响 了类的对外接口,是否导致相应的外界必须改动。例如,强 制的类型转换会破坏数据的封装性。请看下面的这段程序:
第14章 面向对象测试基础 (1) 把语句if(x>=0)calculate=sqr(x);误写成 if(x>
0)calculate=sqr(x);。 (2) 程序中将if(strncmp(str1,str2,strlen(str1)))误写成 if(strncmp(str1,str2,strlen(str2))),那么如果在测试用例中使 用的数据str1和str2长度相同,就无法检测出错误。 为了推测出软件中可能有的错误,测试人员应该认真研 究分析模型和设计模型,还得依靠测试人员的经验和直觉。 如果推测得比较准确,则使用基于故障的测试方法能够用较 少的工作量发现大量错误, 否则不然。
试。
第14章 面向对象测试基础
14.2 面向对象的集成测试
1.基于线程的测试(Thread_based Testing) 基于线程的测试把响应系统的一个输入或一个事件所需 要的一组类集成起来进行测试。应当分别集成并测试每个线
程,同时为了避免产生副作用再进行回归测试。该测试需要
基于系统的动态模型。
第14章 面向对象测试基础
哪些功能,然后去寻找完成这些功能,需要哪些类参与,从功能 出发,对所确定的这些类及其子类分别设计类测试用例。用例实
现涉及到的类在动态模型,尤其是顺序图或通信图中可以得到充
分的展现,因此基于用例的测试用例设计应该好好地研究、分析 和设计模型中的动态模型。
第14章 面向对象测试基础 14.4.4 类间测试用例设计
第14章 面向对象测试基础
(2) 子类的测试用例可以参照父类。例如,有两个不同的成员函数
的定义如下: father::B()中定义为
if (value<0) message("less");
else if (value==0) message("equal"); else message("more"); son::B()中定义为 if (value<0) message("less"); else if (value==0) message("It is equal"); else {message("more");
第14章 面向对象测试基础
2.基于用例的测试用例设计
基于故障的测试用例有一个很突出的缺点,当功能描述是错 误的或子系统间的交互存在错误时,基于故障的测试用例就无法
发现错误。
基于用例的测试用例更关心的是用户想做什么,而不是软件 想做什么。通过用例获取用户要完成的功能,并以此为依据设计
所涉及的各个类的测试用例。更具体地说,先搞清楚用户想实现
选流3),还可能起源于另一个备选流(备选流2),或者终止用例而 不再重新加入某个流(备选流2和备选流4)。
第14章 面向对象测试基础
图14.1 用例的执行路径(基本路径和备选路径)
第14章 面向对象测试基础
表 14.1
场景 1 场景 2 场景 3 场景 4 场景 5 场景 6 场景 7 场景 8 基本流 基本流 基本流 基本流 基本流 基本流 基本流 基本流 备选流 1 备选流 1 备选流 3 备选流 3 备选流 3 备选流 4 备选流 3
if (value==99) message ("Luck");}
在原有的测试上,对son::B()的测试只需做如下改动:将value = 0的 测试结果期望改动,并增加value==99这一条件的测试。
第14章 面向对象测试基础 (3) 设计测试用例时,不但要设计确认类功能满足的输
入,而且还应有意识地设计一些被禁止的例子,确认类是否 有不合法的行为产生。
第14章 面向对象测试基础 测试用例分为基于黑盒的测试用例和基于白盒的测试用
例。前者也叫做基于系统外部需求的测试用例,主要根据需 求分析阶段的用例规格描述和其他需求进行设计,只观察系 统的外观表现是否满足预期要求;后者又称为基于系统内部 结构的测试用例,主要依据分析设Байду номын сангаас阶段的逻辑和物理模型, 如类图和顺序图以及代码设计测试用例,旨在测试软件功能 执行过程中对象的交互过程,包括消息、响应以及各个程序 路径等。
14.3 面向对象的确认测试与系统测试
通过对软件的单元测试和集成测试,仅能确认软件开发 的功能是正确的,不能确认在实际运行时,它是否满足用户 要求,是否大量存在与实际使用条件下的各种应用相矛盾的 错误。为此在完成上述测试活动后,还必须经过规范的确认
测试和系统测试。
面向对象软件的确认测试或系统测试与传统的确认测试 一样,通过设计测试用例,主要检查用户界面和用户可识别
每个用例场景编制测试用例。用例场景要通过描述流经用例的路
径来确定。这个流经过程要从用例开始到结束,遍历其中所有基 本流和备选流。
例如,图14.1中经过用例的每条不同路径反映了基本流和备
选流,用箭头来表示。基本流用黑直线来表示,是经过用例的最 简单的路径。每个备选流自基本流开始,之后,备选流会在某个
特定条件下执行。备选流可能会重新加入基本流中(备选流1和备
2.基于使用的测试(Use_based Testing)
基于使用的测试首先测试几乎不使用服务器类的那些类(称为 独立类);接着测试使用独立类的最下层的类(称为依赖类);然后,
对根据依赖类的使用关系,从下到上一个层次一个层次地持续进
行测试,直至把整个软件系统测试完为止。 除了上述两种测试方法,还有一种集群测试法,是面向对象
是把所有操作都看成类的一部分,全面地测试类和对象所封 装的属性和操纵这些属性的操作整体。具体地说,在面向对 象的单元测试中不仅要发现类的所有操作中存在的问题,还 要考查一个类与其他的类协同工作时可能出现的错误。现以 实例说明:在一个类层次中,操作A在超类中定义并被一组 子类继承,每个子类都可使用操作A,但是A要调用子类中 定义的操作并处理子类的私有属性。由于在不同的子类中使 用操作A的环境有所不同,因此有必要在每个子类的语境中 测试操作A。这就是说,当测试面向对象软件时,传统的单 元测试方法是不完备的,我们不能再独立地对操作A进行测