面向对象软件测试及测试用例设计.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文档。上传文档
查看更多
面向对象软件测试及测试用例设计

面向对象软件测试及测试用例设计 一、引言 软件测试是伴随着软件的产生而产生的。软件危机的频繁出现促使了软件测试的地 位得到了大幅提升。软件测试已经不仅仅是局限于软件开发过程中的一个阶段,它已经 开始贯穿于整个软件开发过程,成为软件产品质量控制与质量管理的重要手段之一。 软件测试技术作为软件工程学科的一个分支,是保证软件质量和可靠性的关键,因此 它也是软件开发过程中的一个重要环节。它的核心思想是:对于输入域的特定输入, 观察软件的执行结果,验证该结果与期望结果是否一致,然后根据结果作相应的纠错和 调整。在测试过程中,测试用例的选择决定测试的有效性,这也就直接影响到成本,是 软件测试的关键和难点。目前,软件测试技术的发展还不是很成熟,测试人员在选择测 试用例时通常根据直觉和经验进行,给测试带来很大的盲目性,最终导致的后果是使软 件后期维护的费用在成本中居高不下。科学生成测试用例对提高软件质量不仅重要而且 必要。 随着面向对象软件开发技术的广泛应用和软件测试自动化的要求,特别是基于的软 件开发技术的逐渐普及,基于模型的软件测试逐渐得到了软件开发人员和软件测试人员 的认可和接受。它是一种新兴的测试用例生成技术。有优于以前的测试技术的方面。其 中模型以其定义良好、功能强大、普遍适用的优点,为基于模型的测试提供了非常好的 契机。 二、面向对象特征对软件测试的影响 面向对象技术是一个全新的开发模式,具有以下特点: (1)它要综合考虑软件开发过程所有阶段。 (2)在软件开发的整个生存周期中,每个阶段之间是连续的。 (3)开发过程分为面向对象分析(00A)、面向对象设计(OOD)、面向对象编程(OOP)、 面向对象测试(OOT)四个连续的部分。Coad和Yourdon给面}向对象的概念下了 一个定义: 面向对象=对象+类+继承+通信 如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对 象的。一个而向对象的程序的每一个组成部分都是对象,计算是通过对象和对象之间的 通信来执行的。 面向对象技术的本质是定义了类的抽象,将变量和与作用于它的操作封装到一块。然后 用不同的类和方法组合成一个对象系统。面向对象软件将传统软件中的一个过程或一个 方法内的复杂性转移到对象之间的交互中。面向对象语言一些本质特征形成了 如下的一些新的故障、错误风险。 1、基本功能模块 在面向对象系统中,系统的基本构造单元是封装了数据和方法的类和对象,而不再 是一个个能完成特定功能的功能模型。每个对象有自己的生存期,有自己的状态。消息 是对象之间相互请示或协作的途径,是外界使用对象方法及获取对象状态的唯一方式。 对象的功能是在消息的触发下,由对象所属类中定义的方法与相关对象的合作共同完 成,并且对象在不同状态下对消息的响应可能完全同。 工作过程中,对象的状态可能被改变,产生新的状态,即发生状态的转移。对象中 的数据和方法是一个有机的整体,在软件测试过程中,不能仅仅检查输入数据产生的输 出结果是否与预期结果相吻合,还要考虑对象的状态变化。因此,除了要对对象的状态 与方法间的相互影响进行测试,还要进行状态测试。 2、系统的功能实现 在面向对象系统中,系统的功能体现在对象间的协作上,而不再是简单的过程调用 关系。面向对象程序的执行实际上是执行一个由消息连接起来的方法序列,方法的实现 与所属对象本身的状态有关,各方法之间可能有相互作用。为实现某一特定的功能,可 能要激活调用属于不同对象类的多个成员函数,形成成员函数的启用链。因此,基于功 能分解的自顶向下或自底向上的集成测试策略不适用于面向对象软件系统的测试。 3、封装对测试的影响 封装是指在词法单位之中或之间决定名字可见性的访问控制机制。它支持信息的隐 蔽和模块化,有助于防止全局变量访问的问题。尽管封装不会直接促成错误的发生,它 却给测试带来了障碍。封装使对象的内部状态隐蔽,如果类中未提供足够的存取函数来 表明对象的实现方式和内部状态,则类的信息隐蔽机制将给测试带来困难。 4、继承对测试的影响 继承也是面向对象语言中的一个本质特征。继承可用于一般与特殊关系,并目方便 编码。但继承削弱了封装性,产生了类似于非面向对象语言中全局数据的错误风险。由 于继承的作用,一个函数可能被封装在具有继承关系的多个类中,子类中还可以对继承 的特征进行覆盖或重定义。 5、多态对测试的影响 多态性是指一个引用可以与多个对象绑定的能力。多态能减少代码的复杂性和规 模,同时还可以实现动态绑定。但依赖于不规则的类层次的动态绑定可能产生编程人员 没有想到的结果。某些绑定能正确的工作但并不能保证所有的绑定都能正确地运行。以 后绑定的对象可能很容易将消息发送给错误的类,执行错误的功能,还可能导致一些与 消息序列和状态相关的错误。 三、面向对象软件测试的

文档评论(0)

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

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

1亿VIP精品文档

相关文档