刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

下图是某企业信息系统的一个类图,图中属性和方法前的"+"、"#"和"- " 分别表示公有成员、保护成员和私有成员。其中:

(1)类Manager重新实现了类 Employee的方法 calSalary( ),类Manager中的方法querySalary( )继承了其父类Employee的方法querySalary( )。

(2)创建类 Employee的对象时,给其设置职位(position)、基本工资(basicSalary)等信息。方法calSalary( ),根据个人的基本工资、当月工资天数(workDays)和奖金(bonus)等按特定规则计算员工工资。

(3)类Department中的方法statSalary中首先调用了该类的方法load( ),获取本部门员工列表,然后调用了类 Employee中的方法calSalary( )。

现拟采用面向对象的方法进行测试。

【问题1】(5分)图4-1 所示的类图中,类manager 和类Employee之间是什么关系?该关系对测试的影响是什么?

【问题2】(6分) 

1.类Manager重新实现了类 Employee的方法calSalary( ),这是面向对象的什么机制?是否需要重新测试该方法?

2.类Manager中的方法querySalary( )继承了其父类 Employee 的方法querySalary( ),是否需要重新测试该方法?

【问题3】(6分)

1.请结合题干说明中的描述,给出测试类Employee 方法calSalary( )时的测试序列。

2.请给出类图中各个类的测试顺序。

【问题4】(3分)从面向对象多态特性考虑,测试方法statSalary( )时应注意什么?

使用微信搜索喵呜刷题,轻松应对考试!

答案:

【问题1】答案:

1.泛化关系;

2.继承的成员函数是否需要测试;对父类的测试是否能用到子类上。

【问题2】答案:

(1)、多态机制;需要重新测试,因为在子类中重新进行了定义,所以需要重新测试;

(2)、不需要重新测试,因为子类继承了父类的方法,只要父类的该方法通过测试了即可。

【问题3】参考答案:

1、测试序列:Employee-calWorkdays()-setBonus()-calSalary()-querySalary();

2、先测试Employee类,然后Manager类,最后测试Department类。
【问题4】参考答案:

在测试Department中的方法statSalary()时涉及到父类Employee、子类Manager中的方法calSalary( )方法,即需要分别对各类的calSalary()方法设计测试用例进行测试。

解析:

问题1解析:类图和继承关系在面向对象编程中非常重要,通过继承可以实现代码的复用和扩展。在测试中需要考虑继承关系对测试的影响,包括继承的成员函数是否需要测试以及父类的测试是否能应用到子类上。

问题2解析:该问题考察面向对象的多态机制和继承机制。多态允许使用父类的引用调用子类的方法,这是面向对象的一个重要特性。在测试中,如果子类重写了父类的方法,需要重新测试该方法以确保其正确性。而继承的方法则不需要重新测试,只要父类的方法通过测试即可。

问题3解析:在测试中需要考虑方法的执行顺序和类的依赖关系。对于calSalary()方法的测试序列,需要先计算工资天数和设置奖金,然后才能计算工资和查询工资。在测试顺序上,需要先测试基类Employee,然后测试Manager类(继承自Employee),最后测试Department类(依赖于Employee和Manager类)。

问题4解析:在面向对象编程中,多态性是一个重要特性。在测试中需要考虑多态对测试用例设计的影响。对于涉及到多态的方法(如statSalary()),需要分别对各类的相关方法进行测试,并考虑输入数据的类型对测试结果的影响。同时,先测试基类,然后再根据输入数据设计不同的测试用例进行测试。

创作类型:
原创

本文链接:阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 下图是某企业信息系统的一个

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share