问题
单项选择题
下列关于面向对象软件测试的说法中,正确的是______。
A.在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
B.在存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
C.假设类B是类A的子类,如果类A已进行了充分的测试,在测试类B时不必测试任何类B继承类A的成员方法
D.对于一棵继承树上的多个类,只有处于叶节点的类需要测试
答案
参考答案:B
解析: 在面向对象的软件中,由于成员方法对成员变量的依赖性,成员方法的许多功能需要在不同的实例状态下才能展示出来,因此对类的每个成员方法都进行充分的测试并不意味着完成了对该类的充分测试,选项A错误。在父类已进行充分测试的情况下,仍需测试子类所继承父类的成员方法,选项C错误。对于一棵继承树上的多个类,只测试处于叶节点的类是不充分的,选项D错误。在存在多态的情况下,不仅应对静态绑定进行测试,还应对所有可能的动态绑定进行测试,选项B正确。