阅读下列说明,回答问题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分)
请给出各个类的测试顺序。