单选题 下列关于面向对象测试问题的说法中,不正确的是______。
  • A.在面向对象软件测试时,设计每个类的测试用例时,不仅要考虑调用各个成员方法的输入参数,还需要考虑如何设计调用的序列
  • B.面向对象软件的白盒测试不加改变地照搬传统软件的白盒测试准则是不可以的
  • C.类B继承自类A,如果对类B进行了严格的测试,就意味着不需再对类A进行测试
  • D.在测试抽象类时,需要为捕象类构造一个子类,并实现所有抽象类没有实现的成员方法
【正确答案】 C
【答案解析】[解析] 由于面向对象具有封装的特点,在对面向对象软件进行测试时,不能简单地对每个类的成员方法进行测试,在调用任何成员方法之前还必须保证相应的实例处于该方法的预期工作状态,即设计类的测试用例时,不仅要考虑各成员方法的输入参数,还要考虑如何设计调用的序列。若类B继承自类A,如果对类B进行了严格的测试,有些情况也许就可以不对类A进行测试,但由于继承的存在,就会导致类A的规格说明可能与类B不一致,此时就必须按照类A的规格说明重新对类A进行测试。多态是指对一个类的引用可以与多个类实现绑定。在C++对多态的实现中,只有使用虚方法才能进行动态绑定,而使用普通方法都不进行动态绑定。抽象类是指只有一些成员方法而没有其实现的类,甚至有的抽象类中的所有成员方法都没有实现,在测试抽象类时,需要为抽象类构造一个子类,并实现所有抽象类没有实现的成员方法,这也说明构造抽象类的驱动程序显然比构造其他类的驱动程序复杂。