面向对象方法与面向对象测试

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013513053/article/details/101108945

面向对象方法

面向对象( Object-Oriented,OO)方法认为,客观世界是由各种对象组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象类,是该对象类的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用就构成了系统。
OO方法是当前的主流开发方法,拥有很多不同的分支体系,主要包括OMT( ObjectModel Technology,对象建模技术)方法、Coad/Yourdon方法、OOSE (Object-OrientedSofiware Engineering,面向对象的软件工程)方法和Booch方法等,而OMT、OOSE和Booch已经统一成为UML (United Model Language,统一建模语言)。
使用OO方法构造的系统具有更好的复用性,其关键在于建立一个全面、合理、统一的模型(用例模型与分析模型)。与结构化方法类似,OO方法也划分阶段,但其中的系统分析、系统设计和系统实现三个阶段之间已经没有“缝隙”。也就是说,这三个阶段的界限变得不明确,某项工作既可以在前一个阶段完成,也可以在后一个阶段完成;前一个阶段工作做得不够细,在后一个阶段可以补充。
OO方法使系统的描述及信息模型的表示与客观实体相对应,符合人们的思维习惯,有利于系统开发过程中用户与开发人员的交流和沟通,缩短开发周期。OO方法可以普遍适用于各类信息系统的开发,但是,OO方法也存在明显的不足。例如,必须依靠一定的OO技术支持,在大型项目的开发上具有一定的局限性,不能涉足系统分析以前的开发环节。
当前,一些大型信息系统的开发,通常是将结构化方法和OO方法结合起来。首先,使用结构化方法进行自顶向下的整体划分;然后,自底向上地采用OO方法进行开发。因此,结构化方法和OO方法仍是两种在系统开发领域中相互依存的、不可替代的方法。

面向对象测试

OO系统的测试目标与传统信息系统的测试目标是一致的,但OO系统的测试策略与传统的结构化系统的测试策略有很大的不同,这种不同主要体现在两个方面,分别是测试的焦点从模块移向了类,以及测试的视角扩大到了分析和设计模型。

与传统的结构化系统相比,OO系统具有三个明显特征,即封装性、继承性与多态性。正是由于这三个特征,给OO系统的测试带来了一系列的困难。封装性决定了OO系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列;继承性决定了OO系统的测试必须考虐到继承对测试充分性的影响,以及误用引起的错误:多态性决定了OO系统的测试必须考虑到动态绑定对测试充分性的影响、抽象类的测试,以及误用对测试的影响。

猜你喜欢

转载自blog.csdn.net/u013513053/article/details/101108945