下图是银行卡应用的部分类图,图中属性和操作前的“+”和“-”分别表示公有成员和私

资格题库2022-08-02  42

问题 下图是银行卡应用的部分类图,图中属性和操作前的“+”和“-”分别表示公有成员和私有成员。银行卡Account有两种类型,借记卡SavingAccount和信用卡CreditAccount 。(1)借记卡和信用卡都有卡号account Number和余额balance两个属性。借记卡的余额是正常余额,信用卡的余额是目前未还的金额,如果没有未还的金额,则为0;有开户set Up、取款withdraw、查询余额get Balance和销户close四个方法。借记卡取钱时,要求取钱金额不能超过余额;而信用卡取钱金额不能超过信用额度,因此需要在子类中实现该方法。(2)借记卡可以存钱deposit。(3)信用卡有信用额度creditLimit属性,可以查询信用额度getCreditLimit、修改信用额度updateCreditLimit和还款retumCredit。现拟采用面向对象的方法进行测试。问题:4.1   面向对象单元测试的主要对象是什么? 问题:4.2  在继承关系上,若某方法在测试父类时已经测试过,那么在什么情况下在子类中也需要测试? 问题:4.3  要测试方法deposit()时,还需要调用什么方法?给出测试序列。 问题:4.4   方法withdraw在基类Account中定义,但在两个子类中有不同的实现。这是面向对象的什么机制?这种情况在测试时如何进行? 问题:4.5  给出类SavingAccount的最小测试序列。

选项

答案

解析 4.1
是针对程序的函数、过程或完成某以特定功能的程序块。
4.2
1、继承类的成员函数在子类中做了改动
2、成员函数调用了改动过的成员函数的部分
4.3
getBalance()
先测试getBalance()再测试deposit( )
4.4
多态。
只需要在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例。
4.5
先测试Account类,然后测试SavingAccount类。
转载请注明原文地址:https://tihaiku.com/congyezige/2416319.html

最新回复(0)