2 软件测试对象,11.2-1面向对象程序特点对软件测试的影响和面向对象测试模型.pdf...

面向对象程序设计引入了类、对象、继承、封装和多态等特性,这些特性虽然提高了软件的可维护性和复用性,但也给测试带来了新的挑战。类和对象成为最小测试单元,增加了测试复杂性;继承可能导致需要重新测试父类方法;封装使内部实现难以直接验证,增加了测试难度。因此,面向对象测试需要考虑如何有效地测试类和对象,确保在继承和封装下的正确性。
摘要由CSDN通过智能技术生成

软件工程

面向对象测试

面向对象测试

1.面向对象程序的特点对软件测试的影响

•面向对象程序设计 面向对象程序的特点 ,

语言的出现不仅改变 带来了新的问题。

了程序设计的风格 , p继承

而且还影响了软件开 p 封装

发的全过程。 p 多态

p测试层次划分

面向对象测试

(1 )类和对象

•类和对象将方法和属性封装在一块。类和对象的方法由

接口说明和内部实现两个部分组成 ,接口说明只一个 ,

而内部实现往往不止一个。

•显然 ,在面向对象系统中 .系统的最小可测试单元不再

是函数或过程 .而是类和对象。类和对象封装了很多方

法和属性 ,在很大程度上增加了系统聚合度 ,降低耦合

度 ,提高了系统整体的可维护性 ;但却牺牲了单元测试

容易性 ,增加了复杂性。

面向对象测试

(2 )继承

•继承是面向对象软件系统的主要特征 ,在一定程度上实

现了软件代码的重用 ,使得多个类能够共享相同的属性

和方法。

•面向对象程序设计语言提供这种机制给了程序员一定的

灵活性。但给软件测试带来一定的影响 ,即父类中的方

法在子类环境下是否需要重新测试 ?

面向对象测试

•A

(2 )继承 •m

•X()

•Y()

•B vA中有两个方法 :X(),Y() ;X()和Y()都访问

了成员变量m

•m

vB是A的子类 ,B重载了Y()方法 ,并直接继

承了X()

•Y()

v则在测试B的过程中 ,不仅要测试Y() ,也

要测试X()

面向对象测试

(3 )封装

•封装是将类和对象的接口和实现分离 ,屏蔽类和对象的内部

实现细节。封装大多数的情况下是通过信息隐蔽实现的。

•通过封装和信息隐蔽 ,类和对象的使用者就无法随便读取

和修改类和对象的内部信息 ,在很大程度上防止错误的发生 ,

提高程序的可维护性。

•然而在另一方面却给测试带来了因难。因为封装和信息隐蔽 ,

无法直接考察对象调用的内部实现 ,从而无法确认操作的正

确性。

面向对象测试

(3 )封装

v对象list中有add、delete等方法。如果我们通过方法

add增加一个表项 ,那么我们如何知道该表项确实加入到

表中呢?如果表是有序的 ,那么我们又如何知道该表项所

插入的位置正确呢?

面向对象测试

(4 )多态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值