赞
踩
面向对象分析的测试
面向对象设计的测试
面向对象编程的测试
面向对象单元测试
面向对象集成测试
面向对象确认和系统测试
是类,类的成员函数(是针对程序的函数,过程或者以完成某些特定功能的程序块)
先测试基类,然后测试继承类
先测试单独的功能单一的类,再测试复杂的类
父类中已经测试过的成员函数,有两种情况需要在子类中重新测试:
(1)继承的成员函数在子类中做了改动;(2)成员函数调用了改动过的成员函数的部分。
从面向对象多态特性考虑,测试多态类的方法时应注意需要同时考虑该多态方法在基类以及继承类中的实现情况。
在原有的测试分析和基础上增加对测试用例中输入数据的类型的考虑;先测试基类,然后再分别依据输入数据设计不同的测试用例
继承关系对面向对象测试的影响主要体现在两个方面:若子类的某方法继承了其父类,方法进行了修改,则需要进行测试;
继承的方法没有修改,用父类的方法,但是该方法调用了子类修改过的其他方法时,也需要对该方法进行测试。
阅读下列说明,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
为了有效控制疫情,需要记录所有人最后一次出行的信息。其中:
(1)类Travel 记录了一次旅行的基本信息,包括出发地(Source)、 目的地(Des)、15日内是否有境外旅行史(OverSeas) 和15日内是否去过高风险疫区(HighDanArea)。
(2)类HighTrain 和AirPlane分别表示高铁旅行和飞机旅行,这两个类继承了类Travel的属性和方法。HighTrain 定义了自己的属性车厢号(CaseNo)和座位号(SeatNo)。AirPlane定义了自己的属性座位号( SeatNo)。
(3)函数checkIso调用Travel 的相关方法读取旅行者的出发地、目的地以及15日内是否有境外和高风险区域
现拟采用面向对象的方法进行测试。
【问题1】(9分)
(1)面向对象的测试分为哪几个阶段?
(2)类Person 和Travel之间是什么关系?
(3)该关系是否影响测试?
【问题2】(6分)
为了更方便函数checkIso的实现,程序员在Person类中增加了属性IsIso和方法checkDan,具体实现如下:
方法checkDan中判断该旅行者是否需要被隔离,并且把结果写入IsIso,在checkIso中直接读取旅行者的IsIso属性值就可以得出结论。
(1)这种实现方法破坏了面向对象的哪种机制?
(2)这种问题的测试需要在面向对象测试的哪个阶段实施?
【问题3】(5分)
请给出各个类的测试顺序。
【问题1标准答案】
面向对象分析的测试
面向对象设计的测试
面向对象编程的测试
面向对象单元测试
面向对象集成测试
面向对象确认和系统测试
关联关系
影响测试
由于Person类调用了Travel类,如果Travel类存在问题,而先测试Person类,同样也会导致Person类产生问题,所以测试Person类之前应该先测试Travel类
【问题2标准答案】
1)破坏了封装机制
2)在面向对象编程的测试中进行
在需要修改调用类的属性时应该采用SET方法,直接修改成员属性,破坏了封装机制。
应在面试对象编程阶段进行测试
【问题3标准答案】
Travel,HighTrain,AirPlane,Person,main
本题中:Travel与HighTrain、AirPlance是继承关系,所以先测试Travel类,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。