谈:面向对象的软件测试与传统测试的比较[2]

发表于:2010-04-28来源:作者:点击数: 标签:软件测试面向对象传统
谈:面向对象的软件测试与传统测试的比较[2] 软件测试 对认定的对象的测试 对认定的结构的测试 对认定的主题的测试 对定义的属性和实例关联的测试 对定义的服务和消息关联的测试 3、 面向对象设计的测试 通常的结构化的设计方法,用的"是面向作业的设计方法,

  谈:面向对象的软件测试与传统测试的比较[2]  软件测试

  对认定的对象的测试

  对认定的结构的测试

  对认定的主题的测试

  对定义的属性和实例关联的测试

  对定义的服务和消息关联的测试

  3、 面向对象设计的测试

  通常的结构化的设计方法,用的"是面向作业的设计方法,它把系统分解以后,提出一组作业,这些作业是以过程实现系统的基础构造,把问题域的分析转化为求解域的设计,分析的结果是设计阶段的输入"。而面向对象设计(OOD)采用"造型的观点",以OOA为基础归纳出类,并建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象。由此可见,OOD不是在OOA上的另一思维方式的大动干戈,而是OOA的进一步细化和更高层的抽象。所以,OOD与OOA 的界限通常是难以严格区分的。OOD确定类和类结构不仅是满足当前需求分析的要求,更重要的是通过重新组合或加以适当的补充,能方便实现功能的重用和扩增,以不断适应用户的要求。因此,对OOD的测试,应从如下三方面考虑:

  对认定的类的测试

  对构造的类层次结构的测试

  对类库的支持的测试

  4、 面向对象编程的测试

  典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向对象程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态使得面向对象程序对外呈现出强大的处理能力,但同时却使得程序内"同一"函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。

  面向对象程序是把功能的实现分布在类中。能正确实现功能的类,通过消息传递来协同实现设计要求的功能。因此,在面向对象编程(OOP)阶段,忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格,主要体现为以下两个方面。

  数据成员是否满足数据封装的要求

原文转自:http://www.ltesting.net