- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象技术的软件测试方法探析
摘 要 为保证软件产品的质量,需要对软件过程进行控制,同时也需要对软件产品本身进行检测,在目前形式化方法和程序正确性证明还无望成为使用性方法的情况下,软件测试在将来的相当长一段时间仍然是软件质量保证的有效方法。面向对象软件的独有特性,如抽象、继承、封装、多态等,使得传统的软件测试技术不能直接应用于面向对象的软件测试。文章探讨了面向对象的测试方法,分析了面向对象的各种特征对软件测试造成的影响。
【关键词】软件测试 面向对象测试 影响
1 引言
随着软件规模的不断扩大,软件设计的复杂程序不断提高,软件开发中出现错误或者缺陷的机会越来越多,同时,由于人们对于软件质量的重视程度越来越高,故在软件投入运行之前, 对软件需求分析、设计规格和编码的最终复查, 是软件质量保证的关键步骤。在规划测试时,不要设想程序中不会查出错误,所有的测试都应当追溯到用户需求,应该在测试工作真正开始前就计划测试,穷举测试是不可能的,但是尽可能充分覆盖程序逻辑是可能的,软件测试是一项具有创造性的和需要高智慧的挑战性任务。
2 软件测试的方法
面向对象技术是一种全新的软件开发技术,面向对象技术所独有的多态、继承、封装等新特点, 使OO 程序设计比传统语言程序设计产生错误的可能性增大, 使得传统软件测试中的重点不再显得那么突出, 也使原来测试经验和实践证明的次要方面成为了主要问题。尽管面向对象技术的基本思想保证了软件应该有更高的质量, 但实际情况却并非如此, 因为无论采用什么样的编程技术,编程人员的错误都是不可避免的, 而且由于面向对象技术开发的软件代码重用率高, 更需要严格测试,以避免错误的繁衍。
与传统的软件测试不同,面向对象技术具有以下特点:
(1)它要综合考虑软件开发过程所有阶段。
(2)在软件开发的整个生存周期中,每个阶段之间是连续的
(3)开发过程分为面向对象分析、面向对象设计、面向对象编程、面向对象测试四个连续的部分。
面向对象软件测试的基本测试单元是类,面向对象技术的本质是定义了类的抽象,将变量和与作用于它的操作封装到一起。然后用不同的类和方法组合成一个对象系统。相应的软件测试方法也可以分为两类。
2.1 基于需求的测试
与已知的黑盒测试一样,此测试旨在测试程序的功能是否满足相应的需求。它通常是利用一组测试数据,也叫测试用例,来测试程序,并判断输出与需求的一致性,从而实现测试。
2.2 基于程序的测试
同白盒测试一样,基于程序的测试是上一种测试的有益补充,主要肜于检测代码的内部结构。通过相应的测试准则,选取合适的测试用例来实现测试目的。
3 面向对象技术对测试的影响
面向对象技术的出现不仅改变了程序设计的风格,而且还影响了软件开发的需求分析、概要设计、详细设计及软件测试等步骤,其中面向对象方法对软件测试的影响直到近年来才为人们所注意。不管是基于需求的测试还是基于程序的测试,都要受到面向对象程序设计语言的自身的一些特征的影响。这些特征主要包括:封装、继承和多态。
3.1 封装对测试的影响
封装是指在词法单位之中或者之间决定名字可见性的访问控制机制。在在面向对象方法中引入封装是有益的,它实现了信息隐藏,封装通过分离类的接口与实现,增强了类的抽象性。尽管封装不会直接促成错误的发生,它却给测试带来了障碍。封装使对象的内部属性无法获取,如果类中未能提供足够的存取函数来表明对象的实现方式和内部状态,访问对象的这些属性的唯一方法只能通过调用对象的操作,这就是说测试将依赖于被测试软件本身。
3.2 继承对测试的影响
在面向对象的程序中,继承的使用让一个函数可能被封装在多个类中,子类中还可以对继承的特征进行重定义。继承可用于一般与特殊的关系中,并且方便编码。问题是继承削弱了封装性,产生了类似于非面向对象语言中全局数据的错误风险。两个功能相同而实现不同的程序,对其中一个充分测试的测试用例未必对另一个是充分的,故对子类中重写的函数仍需全面测试。
3.3 多态对测试的影响
多态性是指一个引用可以与多个对象绑定的能力。多态通常是与继承相联系的,由基类和它的子类组成。多态能减少代码的复杂性和规模,同时还可以实现动态绑定。多态性的性质给测试带来障碍。首先多态性将给基于程序的测试带来未决定性,某些绑定能正确的工作但不能保证所有的绑定都能正确运行,由于多态名字可表示不同类的对象,故当调用一个多态名字的操作时,只有到程序运行时,才可能知道哪段代码要被运行。还有当操作的一个或者多个参数为多态时,相似的问题依然存在。故测试必须确定能覆盖绑定的所有可能的情况。
4 总结
软件测试作为软件运行的最后关口,应
您可能关注的文档
最近下载
- 基于Android技术的网上商城系统的设计与实现( word 版).docx VIP
- 糊树脂分厂工艺操作规程3.doc VIP
- 《编制专业质量检验计划》24.4-编制专业质量检验计划.ppt VIP
- 大作业:如何理解“作风建设永远在路上,永远没有休止符”?我们应如何加强作风建设?.pdf VIP
- 新版PFMEA第五版实例.xls VIP
- 《元史·八思巴传》原文,注释,译文,赏析.docx VIP
- 新教材人教版高中生物选择性必修2生物与环境全册各章节 学案讲义(知识点汇总及配套习题).pdf VIP
- 项贤明主编马工程教材《教育学原理》第九章教师与学生.ppt VIP
- 2025-2026学年高中体育与健康必修 全一册人教版(2019)教学设计合集.docx
- 集成电路制造技术——原理与工艺(第3版)课件 第3章 热氧化.pptx
原创力文档


文档评论(0)