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