面向对象的软件测试策略研究(转).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的软件测试策略研究(转)

 面向对象的软件测试策略研究 发布时间: 2010-12-17 13:54 ?? 作者: 赵蔷 欧阳宏基 ??  HYPERLINK javascript:; \t _self 软件测试是保证 HYPERLINK javascript:; \t _self 软件质量的一个重要手段随着面向对象技术在软件工程中日益推广和使用.传统的结构化 HYPERLINK javascript:; \t _self 测试技术和法受到了极大的冲击面向软件测试技术是新兴的软件测试技术.是专门针对使用面向对象技术开发的软件而提出的一种测试技术.是面向对象软件开发中的不可缺少的一环.已成为保证面向对象软件质量、提高其可靠性的关键。本文主要研究了面向对象技术的特点对测试的影响.提出面向对象软件测试的策略。   1、测试面向对象软件的特殊性   和传统的开发技术相比.面向对象开发技术新增了多态、继承、封装等特点,极大地优化了数据使用的安全性.捉高了代码的重用率.是面向对象开发技术产生巨大吸引力的重要因素而另~方面也影响了软件测试的方法和内容.增加了软件测试的难度.带来了传统软件设计技术所不存在的错误从程序的组织结构方面来讲.传统软件测试技术与过程式程序中数据和操作相分离的特点相适应.是从输入/处理/输出的角度检验一1、函数或过程能否正确 HYPERLINK javascript:; \t _self 工作面向对象程序设计把程序看作是相互协作而又彼此独立的对象的集合在面向对象程序中,对象是属性(数据)和方法(操作)的封装体。每个对   象就像一个传统意义上的小程序.有自己的数据、操作、功能和目的。因此,传统的测试技术必须经过改造才能用于面向对象软件的测试.同时.还需要研究专门针对面向对象软件、适应面向对象软件特定的测试理论和技术   2、面向对象技术的特点及其对测试的影响   与传统的程序相比.面向对象程序设计是一种全新的软件开发技术,面向对象程序的封装性、继承性、动态绑定等特性使程序具有较大的灵活性.给软件测试提出了新的要求.使得面向对象软件的测试更加复杂   2.1 信息隐蔽对测试的影响   类的重要作用之一就是信息隐蔽.它对类中所封装的信息的存取进行控制.从而避免类中有关实现细节的信息被错误使用。而这样的细节性信息正是软件测试所不可忽略的。由于面向对象的软件系统在运行时刻由一组协调工作的对象组成.对象具有一定的状态,在工作过程中对象的状态可能被修改.产生新的状态。所以对于面向对象的程序测试.对象的状态是必须考虑的因素。面向对象软件测试的基本工作就是创建对象.向对象发送一系列信息后检查结果对象的状态.看其是否处于正确的状态。而对象的状态往往是隐蔽的.若类中未提供足够的存取函数来表明对象的实现方式和内部状态.则测试者必须增添这样的函数。因此,类的信息隐蔽机制给测试带来困难2.2封装性对测试的影响   封装性(Encapsulate)~类的重要特征之一.它把数据和操作数据的方法封装在一起.限制对象属性对外的可见性和外界对它的操作权限。封装性提高了信息隐蔽的能力。使模块间的耦合变弱,从而使程序更容易修改。有效地避免了类中有关实现细节的信息被错误地使用.而这样的细节性信息正是软件测试所不可忽略的。如前所述,对象的状态是对面向对象的程序测试必须考虑的因素.测试应涉及对象的初态、输人参数、输出参数、对象的终态。但是.对象的状态往往是隐蔽的.若类中未提供足够的存取函数来表明对象的实现方式和内部状态.则测试者必须增添这样的函数。这样增加了测试的工作量.在一定程度上破坏了类的信息隐蔽性和封装性因此.类的封装性给测试带来了很大困难。   2.3 继承性对测试的影响   继承是指父类的属性和操作可以通过实例化产生的子类和对象来实现继承性是面向对象程序的基本特性之一.是一种有效的程序复用方法然而.类的继承机制增加了软件测试的复杂性,同时也向测试 HYPERLINK javascript:; \t _self 用例设计者提出了新的挑战。即使是彻底复用的,对每个新的使用语境也需要重新测试此外.多重继承增加了需要测试语境的数量,从而使测试进一步复杂化。在面向对象的程序中,一个函数可能被封装在多个类中.子类不但继承了父类中的特征(数据和方法).还可以对继承的特征进行重定义Weyuker的非外延性公理认为若有两个功能相同而实现不同的程序,对其中一个是充分的测试数据集未必对另一个是充分的所以,继承并未简化测试问题.反而使测试更加复杂   2.4 多态性对测试的影响   多态性(Polymorphism)~-向对象方法的关键特性之一.同一消息可以根据发生消息的对象不同采取不同的处理方法.它使得系统在运行时能自动为给定的消息选择合适的实现代码.这给程序员提供了高度

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档