计算机四级

以下关于面向对象软件测试的说法中,正确的是______。A.面向对象软件只能采用白盒测试,不能采用黑盒测试B.测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例C.若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用D.等价类划分是一种类树层次的测试技术

题目

以下关于面向对象软件测试的说法中,正确的是______。

A.面向对象软件只能采用白盒测试,不能采用黑盒测试

B.测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例

C.若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用

D.等价类划分是一种类树层次的测试技术

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下关于面向对象软件测试的说法中,错误的是______。

A.不变式边界测试是一种类级别的单元测试技术

B.对于一棵继承树上的多个类,只有处于叶结点的类需要测试

C.测试动态绑定时类树测试的一个目标

D.在面向对象单元测试中,等价类划分测试可以用于方法级别的测试


正确答案:B
解析:A、C、D选项的叙述都是正确的。面向对象中有集成和多态现象,所以对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还要考虑父类对子类的影响,所以B选项的叙述是错误的。

第2题:

以下关于面向对象软件测试的说法中,错误的是

A) 面向对象软件的大突击集成测试只进行一轮,无需增量集成

B) 测试一个类的不同实例间的协作属于面向对象软件单元测试考虑的范畴

C) 测试动态绑定属于面向对象软件单元测试考虑的范畴

D) 等价类划分是一种类树层次的测试技术

A.

B.

C.

D.


正确答案:C

第3题:

下列关于面向对象软件测试的说法中,正确的是______。

A.在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试

B.在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试

C.假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法

D.对于一棵继承树上的多个类,只有处于叶结点的类需要测试


正确答案:B
解析:封装、继承和多态是面向对象软件区别于传统的结构化软件的三个主要特点,然而这些特点都可能对测试带来困难。在面向对象中,封装一方面是指一组相关的变量和方法被封装到一个类中,则类的成员方法对成员变量有依赖性,故成员方法通常不能实现独立的功能,需要在不同的实例状态下才能展示出来,甚至有的成员方法要在特定的实例状态下才能执行,因此在测试面向对象软件时,不能简单的对每个类的成员方法进行测试,在调用任何成员方法之前还必须保证相应的实例处于该方法的预期工作状态,即设计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列,所以选项A不正确。多态就是指对类的引用可以与多个类的实现绑定,绑定有静态和动态之分,所以为达到较高的测试充分性,应对所有可能的绑定都进行测试,选项B正确。选项C和选项D考查继承、继承与多态的复合对测试的影响,假设类B是类A的子类,如果类A已进行了充分的测试,若按传统的测试充分性准则,在测试类B时可以把关注点放在类B自身定义的成员变量和成员方法上,但在实际测试类B时,这样的测试往往会不够充分,还是要对类B继承类A的成员方法进行测试的,而且对于一棵继承树上的多个类,仅对处于叶结点的类进行测试也是不充分的。

第4题:

以下关于面向对象软件集成测试的说法中,错误的是

A.协作集成是指将可以协作完成特定系统功能的类集成在一起进行集成测试

B.针对一个类的多个成员方法间协作的测试不属于面向对象软件集成测试关注的范畴

C.针对一个类的多个实例间协作的测试不属于面向对象软件集成测试关注的范畴

D.针对一个类树上多个类的行为的测试属于面向对象软件集成测试关注的范畴


正确答案:C
解析:协作集成是在集成测试时针对系统完成的功能,它将可以相互协作完成特定系统功能的类集成在一起进行测试。针对一个类多个实例间的测试属于面向对象集成测试的范畴。

第5题:

以下关于面向对象软件测试的说法中,正确的是

A.对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

B.对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法

C.对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法

D.对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例


正确答案:C
解析:由于集成和多态的使用,对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。

第6题:

以下关于面向对象软件测试的说法中,正确的是______。

A.对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用

B.基于判定表的测试不能用于面向对象程序的单元测试

C.不变式边界测试可用于类层次的测试,其目的是测试功能组合

D.对于抽象类,需要进行单元测试


正确答案:D
解析:在面向对象中,很难对单个成员方法进行充分的测试,这是因为多个成员方法会通过成员变量产生相互依赖关系。合理的测试是将这些相互依赖的成员方法放在一起进行测试,故A说法错误。
  基于判定表的测试,又称为组合功能测试,既可以用于传统软件测试,也可以用于面向对象软件测试,B说法错误。
  不变式边界测试是一种基本的和高效的类层次的测试技术。类层次测试的一个主要困难是成员变量的某些状态可能不会出现,这就是所谓的类不变式。不变式边界测试首先准确定义类的不变式,其次寻找成员方法的调用序列以违反类不变式,这些调用序列即可作为测试用例。不变式边界测试的目的不是测试功能组合,C的说法错误。
  对于抽象类,需要进行单元测试。但是构造抽象类的驱动程序显然比构造其他类的驱动程序复杂,因为在测试抽象类时,需要为抽象类构造一个子类,并实现所有抽象类没有实现的成员方法。D正确。

第7题:

( 14 )下列关于面向对象软件测试的说法中,正确的是

A )在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试

B )在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试

C )假设类 B 是类 A 的子类,如果类 A 已进行了充分的测试,在测试类 B 时不必测试任何类 B 继承类 A 的成员方法

D )对于一棵继承树上的多个类,只有处于叶节点的类需要测试


正确答案:B

第8题:

以类为单元进行单元测试时,以下说法中正确的是______。

A.一个测试用例可以调用该类的多个方法,但每个方法只能调用一次

B.一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

C.由该类方法组成的任何一个序列都是一个合理的测试用例

D.针对一个类的多个实例间协作的测试仍然属于面向对象单元测试的范畴


正确答案:A
解析:A选项的叙述是正确的。继承是面向对象的一个重要的机制,它允许子类直接获取父类的属性和方法,从而实现对父类的复用,所以B选项的叙述是错误的。由于面向对象具有封装的特点,在对面向对象软件进行测试时,不能简单地对每个类的成员方法进行测试,在调用任何成员方法之前还必须保证相应的实例处于该方法的预期工作状态,即没计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列。所以C选项叙述错误。由于面向对象程序中可独立被测试的单元通常是一个类族或最小是一个独立的类,面向对象程序的单元测试主要考虑类和类族的测试,D选项中针对一个类的多个实例间的协作测试应输入面向对象集成测试考虑的范畴。综上所述,本题选择A。

第9题:

以下关于面向对象软件测试的说法中,正确的是

A.不需要对抽象类进行单元测试

B.等价类划分测试是一种类层次的测试技术

C.不变式边界测试是一种类层次的测试技术

D.测试动态绑定是类树测试的唯一目标


正确答案:C

第10题:

以下关于面向对象软件测试的说法中,正确的是

A) 单个成员方法的测试不属于面向对象单元测试考虑的范畴

B) 等价类划分测试只适用于传统软件的测试,不适用于面向对象软件的测试

C) 基于判定表的测试适用于面向对象软件的测试

D) 抽象类无法进行单元测试

A.

B.

C.

D.


正确答案:D

更多相关问题