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

admin2008-12-26  23

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

选项 A、在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
B、在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
C、假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法
D、对于一棵继承树上的多个类,只有处于叶结点的类需要测试

答案B

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

相关试题推荐
最新回复(0)