第6章 面向对象的软件测试.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 面向对象的软件测试

第六章 面向对象软件的测试 [本章要点] 面向对象软件的测试与传统软件的区别; 类测试价值的评估方法; 类测试用例设计方法; 特殊类的测试方法; 划分面向对象软件测试的方法; 开源工具Junit的使用方法。 [本章目标] 了解面向对象的测试与传统软件测试的异同; 掌握类测试的基础知识; 重点理解针对抽象类以及接口类等特殊类的测试技巧,设计类测试用例和测试驱动程序的几种方法; 初步了解Junit,并掌握安装和卸载此工具的方法,以及如何使用它进行简单的测试。 6.1面向对象的测试与传统测试的比较 传统的测试计算机软件的策略是从“小型测试”开始,逐步走向“大型测试”,且单元测试集中在最小的可编译程序单位——子程序。 面向对象程序的结构不再是传统的功能模块结构,而是作为一个整体,并且对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。 面向对象的软件测试分为:面向对象分析的测试,面向对象设计的测试,面向对象编程的测试, 面向对象单元测试,面向对象集成测试,面向对象系统测试。 1、传统的面向过程分析与面向对象分析(OOA) 2、结构化的设计方法与面向对象设计(OOD) 3、典型的面向对象程序具有继承、封装和多态的新特性。 4、传统的单元测试的对象是软件设计的最小单位——模块。 5、传统的集成测试,主要有两种通过集成完成的功能模块进行测试的方式:①自顶向下集成 ②自底向上集成。 6、为了保证软件的功能完整性,除了单元测试和集成测试,还必须经过规范的系统测试。 6.1.1信息隐蔽对测试的影响 类的重要作用之一是信息隐蔽。它对类中所封装的信息的存取进行控制,从而避免类中有关实现细节的信息被错误地使用。该隐蔽机制给测试带来了困难。 6.1.2封装和继承对测试的影响 若一个类得到了充分的测试,当其被子类继承后,继承的方法在子类的环境中的行为特征需要重新测试。 6.1.3多态性对测试的影响 传统软件测试中经常使用静态分析技术对代码进行分析;面向对象软件中,由于动态绑定和多态性的存在所带来的不确定性,给测试覆盖率的满足增大了难度。 6.2 类测试基础 1、类测试概念:验证类的实现是否和该类的说明完全一致。 2、类测试的方法:通过代码检查或执行测试用例的方法来有效地进行类测试。(后者优于前者)。 3、类测试人员 类测试通常由开发人员来进行;(会带来好处和不足之处)。 4、类测试时间 类的测试伴随着开发过程中的各个阶段,当类的说明或实现发生变化时应该执行回归测试。 5、类测试过程 为类创建实例--创造适当的环境--运行测试用例(向一个实例发送一个或多个消息)--通过参数来检查测试运行的结果--清除执行测试用例所需的测试环境。 6.2.1类在UML中的描述 UML(Unified Modeling Language)语言是一种支持对象技术的建模语言,是在计算机系统中表示真实世界的语言,描述真实世界中的对象和它们之间的关系,支持应用的开发。 在UML中,用来表示类的符号是矩形,并划分为三个区域,分别是: ⑴名称区域:显示类的名称 ⑵属性区域:显示在类中定义的变量。 ⑶操作区域:显示在类中定义的方法。 如图6-1所示: 1、类本身的复杂程度 2、类在整个系统中的层次 3、开发该类测试驱动程序需要投入的成本 4、类本身的风险程度 6.2.3类测试用例设计 一般基于如下3个标准设计测试系列,即基于状态的覆盖率、基于限制的覆盖率和基于代码的覆盖率。 设计测试用例的方法有多种: (例子详见教材) 1、根据前置和后置条件确定测试用例 2、根据状态转换确定测试用例 3、根据访问控制修饰符(限定类、属性或方法被程序里的其他部分访问和调用的修饰符)来确定测试用例。 6.2.4类测试驱动程序设计 从开发的角度:测试驱动的基本思想是在对设计 之前先考虑好测试代码; 从测试的角度:为了执行测试,运行测试用例, 找出软件中隐藏的BUG。 因此,测试驱动程序的构建应该简单、透明、易维护,能够提供尽可能多的服务,同时兼顾自增量更新,更理想的情况就是能够复用已存在的测试驱动程序的代码。 编写类测试驱动程序的方法有很多种 ,以Java语言为例来说明测

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档