• 欢迎来到论文发表网(www.lunwenchina.cn),我们为您提供专业的论文发表咨询和论文发表辅导!
受“清朗”行动影响,原网站QQ被封,新老作者请联系通过新的QQ:189308598。或者电话微信:15295038855

你的位置:论文发表网 >> 论文库 >> 计算机论文 >> 详细内容 在线投稿

面向对象技术的软件测试方法探析

热度0票  浏览295次 时间:2014年11月01日 10:36

面向对象技术的软件测试方法探析
文/刘欣苗
为保证软件产品的质量,需要对软件过程进行控制,同时也
需要对软件产品本身进行检测,在目前形式化方法和程序正确性
证明还无望成为使用性方法的情
况下,软件测试在将来的相当长一段时间仍然是软件质量保证的
有效方法。面向对象软件的独有特性,如抽象、继承、封装、多
态等,使得传统的软件测试技术不能直接应用于面向对象的软件
测试。文章探讨了面向对象的测试方法,分析了面向对象的各种
特征对软件测试造成的影响。段。

【关键词】软件测试 面向对象测试 影响

1 引言

随着软件规模的不断扩大,软件设计的复杂程序不断提高,软件开发中出现错误或者
缺陷的机会越来越多,同时,由于人们对于软件质量的重视程度越来越高,故在软件投入运
行之前, 对软件需求分析、设计规格和编码的最终复查, 是软件质量保证的关键步骤。
在规划测试时, 不要设想程序中不会查出错误,所有的测试都应当追溯到用户需求,应该在测
试工作真正开始前就计划测试,穷举测试是不可能的,但是尽可能充分覆盖程序逻辑是可能
的,软件测试是一项具有创造性的和需要高智慧的挑战性任务。

2 软件测试的方法
面向对象技术是一种全新的软件开发技术,面向对象技术所独有的多态、继承、封装
等新特点, 使 OO 程序设计比传统语言程序设计产生错误的可能性增大, 使得传统软件
测试中的重点不再显得那么突出, 也使原来测试经验和实践证明的次要方面成为了主要问
题。尽管面向对象技术的基本思想保证了软件应该有更高的质量, 但实际情况却并非如此,
因为无论采用什么样的编程技术,编程人员的错误都是不可避免的, 而且由于面向对象技
术开发的软件代码重用率高, 更需要严格测试,以避免错误的繁衍。
与传统的软件测试不同,面向对象技术具有以下特点:

(1)它要综合考虑软件开发过程所有阶
(2)在软件开发的整个生存周期中,每个阶段之间是连续的
(3)开发过程分为面向对象分析、面向对象设计、面向对象编程、面向对象测试四个连续的部分。
面向对象软件测试的基本测试单元是类,面向对象技术的本质是定义了类的抽象,将变
量和与作用于它的操作封装到一起。然后用不同的类和方法组合成一个对象系统。相应的软件测试方法也可以分为两类。

2.1 基于需求的测试
与已知的黑盒测试一样,此测试旨在测试程序的功能是否满足相应的需求。它通常是利
用一组测试数据, 也叫测试用例, 来测试程序,并判断输出与需求的一致性,从而实现测试。

2.2 基于程序的测试
同白盒测试一样,基于程序的测试是上一种测试的有益补充,主要肜于检测代码的内
部结构。通过相应的测试准则,选取合适的测试用例来实现测试目的。

3 面向对象技术对测试的影响
面向对象技术的出现不仅改变了程序设计的风格, 而且还影响了软件开发的需求分析、
概要设计、详细设计及软件测试等步骤,其中面向对象方法对软件测试的影响直到近年来才
为人们所注意。不管是基于需求的测试还是基于程序的测试,都要受到面向对象程序设计语
言的自身的一些特征的影响。这些特征主要包括:封装、继承和多态。

3.1 封装对测试的影响
封装是指在词法单位之中或者之间决定名字可见性的访问控制机制。在在面向对象方
法中引入封装是有益的,它实现了信息隐藏,封装通过分离类的接口与实现,增强了类的抽
象性。尽管封装不会直接促成错误的发生,它却给测试带来了障碍。封装使对象的内部属性
无法获取,如果类中未能提供足够的存取函数来表明对象的实现方式和内部状态,访问对象
的这些属性的唯一方法只能通过调用对象的操作,这就是说测试将依赖于被测试软件本身。

3.2 继承对测试的影响
在面向对象的程序中,继承的使用让一个函数可能被封装在多个类中,子类中还可以
对继承的特征进行重定义。继承可用于一般与特殊的关系中,并且方便编码。问题是继承削
弱了封装性,产生了类似于非面向对象语言中全局数据的错误风险。两个功能相同而实现不
同的程序,对其中一个充分测试的测试用例未必对另一个是充分的,故对子类中重写的函数仍需全面测试。

3.3 多态对测试的影响
多态性是指一个引用可以与多个对象绑定的能力。多态通常是与继承相联系的,由基
类和它的子类组成。多态能减少代码的复杂性和规模,同时还可以实现动态绑定。多态性的
性质给测试带来障碍。首先多态性将给基于程序的测试带来未决定性,某些绑定能正确的工
作但不能保证所有的绑定都能正确运行,由于多态名字可表示不同类的对象,故当调用一
个多态名字的操作时,只有到程序运行时,才可能知道哪段代码要被运行。还有当操作的一
个或者多个参数为多态时,相似的问题依然存在。故测试必须确定能覆盖绑定的所有可能的情况。

4 总结
软件测试作为软件运行的最后关口,应得到高度重视。 然而由于传统意识和历史原因,
重开发轻测试的意识根深蒂固,已经成为制约软件成功运行的瓶颈。软件测试在明确和界定
清楚测试与开发的关系时,不能简单地把测试与开发看作是串行的过程。 从软件过程管理看,
测试应当从需求分析开始,它不仅要与开发并行,而且要从开始就以测试用例为需求立定客观标准。
软件测试是软件开发的一部分, 始终伴随着软件生命周期的各个阶段, 测试的好坏
直接关系到软件产品的质量, 因此在软件开发过程中要充分重视软件测试。要做好软件测
试一定要记住一句话测试的目的不是证明软件的正确性, 而是发现软件中存在的错误 ! 随着
我国软件业的发展和各公司测试管理过程的进一步完善,软件测试已经成为软件质量保证的
重要组成,并且也越来越受到重视,越来越多的软件测试管理技术也会应运而生。
作者单位衡水职业技术学院 河北省衡水市 053000



中国论文网(www.lunwenchina.cn),是一个专门从事期刊推广、论文发表、论文写作指导的机构。本站提供一体化论文发表解决方案:省级论文/国家级论文/核心论文/CN论文。

投稿邮箱:lunwenchina@126.com

在线咨询:189308598(QQ) 

联系电话:15295038855(徐编辑)  

 

TAG: 关键词 软件测试 软件开发 软件设计 文章
上一篇 下一篇
0

联系我们