以下关于面向对象软件测试的说法中,正确的是______。A.对于一个类的测试,一个测试用例只能包含对该类的一个方法的一次调用B.基于判定表的测试不能用于面向对象程序的单元测试C.不变式边界测试可用于类层次的测试,其目的是测试功能组合D.对于抽象类,需要进行单元测试

题目

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

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

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

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

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


相似考题
更多“以下关于面向对象软件测试的说法中,正确的是______。A.对于一个类的测试,一个测试用例只能包含对 ”相关问题
  • 第1题:

    关于面向对象软件单元测试的说法,错误的是______。

    A) 面向对象软件中可独立被测试的单元通常是一个类族

    B) 面向对象软件中可独立被测试的单元也可能是一个独立的类

    C) 面向对象的单元测试分为方法层次、类层次和类树层次的测试

    D) 面向对象的单元测试与面向过程的单元测试目的相同

    A.

    B.

    C.

    D.


    正确答案:D
    解析:A、B、C选项中关于面向对象软件单元测试的陈述都是正确的,面向对象软件的测试主要包括两方面的内容,检查分析结果是否符合相应面向对象分析方法的要求;检查分析结果是否可以满足软件要求。与面向过程的测试有着不同的测试目的。

  • 第2题:

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

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

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

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

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


    正确答案:C
    解析:在面向对象中,进行系统测试时,通常不关心软件各个实体的实现细节和实体间的连接细节。因此,系统测试主要是黑盒测试,A说法不对。
      在面向对象测试中,成员方法对成员变量有或多或少的依赖,成员方法的许多功能需要在特定的实例状态下才能执行。因此,在测试面向对象软件时,不能够简单地对每个类的成员方法进行测试,在调用任何一个成员方法之前必须保证相应的实例处于该成员方法的预期工作状态。也就是说,为了测试一个成员方法,需要在调用该方法前调用一系列其他方法以使得相应的实例达到合适的状态。换句话说,由于每个测试用例不仅仅调用一个成员方法,而是对整个类进行测试的一个方法调用序列。因此,在设计类的测试用例时,仅仅考虑成员方法的输入参数是不够的,还要考虑如何设计调用序列。有些测试序列会在某些成员方法执行时因为不能满足该方法正常执行的前提条件而导致此方法处于不正常的工作状态,这些测试序列是不合理的测试序列,因此选项B说法不正确。
      因为类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A例的测试,C说法正确。
      等价类划分是一种方法层次的测试,而不是类树层次的测试技术,D错误。

  • 第3题:

    采用等价类测试进行测试用例设计,对于有效等价类,编写一个新的测试用例,一次只包含一个还未被覆盖的有效等价类。()


    第一步:等价类划分 第二步:为有效等价类设计测试用例 第三步:为每一个无效等价类设计至少一个测试用例

  • 第4题:

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

    A.面向对象软件的白盒测试不能不加改变地照搬传统软件的白盒测试准则

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

    C.面向对象软件测试不考虑对一个类中的单个方法的测试

    D.面向对象软件测试不必考虑对继承关系的测试


    正确答案:A
    解析:面向对象软件开发与传统的结构化软件开发在分析和设计的视角、系统开发的过程和工作制品的组织和表示等方面都有很大不同,因此在测试方面也有其自己的特点,所以面向对象软件的白盒测试不能简单的、不加改变的照搬传统软件的白盒测试准则,所以A正确。面向对象软件具有封装、继承和多态三个特点,这些特点都可能为面向对象软件测试带来困难,面向对象要考虑继承关系和对类中单个方法的测试这是显然的,由于多态的特点,对一个类的测试,一个测试用例包含对该类几个方法的多次调用都是可能的。

  • 第5题:

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

    A.在设计测试用例时,要考虑各个成员方法的输入参数,与设计调用的次序无关

    B.由于继承和多态的复合使用,抽象类成为面向对象软件开发的一个重要手段

    C.对面向对象的类进行测试时,只要寻找那些能够揭示故障的测试序列即可

    D.若类B继承类A,若已经对类A进行了严格的测试,那么就不必再对类B进行测试


    正确答案:B