面向对象的软件测试综述.ppt

上传人:本田雅阁 文档编号:3210552 上传时间:2019-07-31 格式:PPT 页数:28 大小:2.87MB
返回 下载 相关 举报
面向对象的软件测试综述.ppt_第1页
第1页 / 共28页
面向对象的软件测试综述.ppt_第2页
第2页 / 共28页
面向对象的软件测试综述.ppt_第3页
第3页 / 共28页
面向对象的软件测试综述.ppt_第4页
第4页 / 共28页
面向对象的软件测试综述.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《面向对象的软件测试综述.ppt》由会员分享,可在线阅读,更多相关《面向对象的软件测试综述.ppt(28页珍藏版)》请在三一文库上搜索。

1、面向对象的软件测试的综述,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,软件测试,在G.J.Myers的经典著作软件测试技巧中给出了测试的定义:“程序测试是为了发现错误而执行程序的过程。”软件测试是为了更快、更早地将软件产品或软件系统中所存在的各种问题找出来,并促使程序员尽快地解决这些问题,最终及时地向客户提供高质量的软件产品。,软件测试的方法,黑盒测试 黑盒测试又称为功能测试,是一种面向设计的测试。这种测试在完全不考虑测试对象内部结构的情况下,把被测程序当作一个黑盒,根据程序的功能和外部特性得到测试数据。进行黑盒测试所必须具备的文档有产品描述、用户文档

2、及安装指令。黑盒测试方法主要用于软件确认测试。 白盒测试 白盒测试是假定测试对象的内部是已知的,允许测试者检查测试对象的内部结构,并使用其结构信息来设计测试用例和测试对象是否满足规范的要求,测试者可以完全不考虑测试对象的功能。进行白盒测试所具备的文档有设计文档和程序文档。,传统软件测试的步骤,单元测试 单元测试是完成对最小软件设计单位程序模块,进行正确性检验的测试工作 集成测试 在每个模块完成单元测试以后,需要按照设计时画出的结构图,把它们连接起来,进行集成测试。 确认测试 确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一样。它通过一系列证明软件功能和需求一致的黑盒测试来完成。

3、系统测试 系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,面向对象软件测试的特点,面向对象程序结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。传统的测试模型对面向对象软件已经不再适用。,面向对象的特点对软件测试的影响,信息隐蔽和封装对测试的影响 类的重要作用之一是信息隐

4、蔽。它对类中所封装的信息的存取进行控制,从而避免类中有关实现细节的信息被错误地使用。该隐蔽机制给测试带来了困难。 继承对测试的影响 若一个类得到了充分的测试,当其被子类继承后,继承的方法在子类的环境中的行为特征需要重新测试。 多态性对测试的影响 传统软件测试中经常使用静态分析技术对代码进行分析;面向对象软件中,由于动态绑定和多态性的存在所带来的不确定性,给测试覆盖率的满足增大了难度。,面向对象的测试与传统测试的比较,测试单元的不同 传统软件的基本构成单元为功能模块,每个功能模块一般能独立地完成一个特定的功能。而在面向对象的软件中,基本单元是封装了数据和方法的类和对象。 系统构成不同 传统的软件

5、系统是由一个个功能模块通过过程调用关系组合而成的。而在面向对象的系统中,系统的功能体现在对象间的协作上,相同的功能可能驻留在不同的对象中,操作序列是由对象间的消息传递决定的。,面向对象软件测试的层次划分,类测试 类簇测试 系统测试,类测试,类包含一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在。同时,一个对象有它自己的状态和依赖于状态的行为,对象操作既与对象的状态有关,但也可能改变对象的状态。所以,类测试时不仅要将操作作为类的一部分,同时要把对象与其状态结合起来,进行对象状态行为的测试。类的测试伴随着开发过程中的各个阶段,当类的说明或实现发生变化时应该执行回归测试。,类簇测试,类簇

6、是一组相互合作的类。类簇测试主要考察一组协同操作的类之间的相互作用,测试重点在类之间的逻辑关系关联、继承、聚合、多态,检验类之间的相互配合。其测试用例可由多种方案结合生成。,系统测试,系统测试是对所有类和主程序构成的整个系统进行整体测试,以验证软件系统的正确性和性能指标等满足规格说明书和任务书所指定的要求。它与传统的系统测试一样,可套用传统的系统测试方法,区别仅在于测试用例的形式有所不同,测试用例可以从对象行为模型和作为对象分析的一部分的事件流图中导出。,面向对象软件的测试方法,基于状态的测试 基于方法序列的测试 基于UML的测试,基于状态的测试,基于状态的测试以类的有限状态机模型 ( F S

7、 M ) 和其状态转换图为依据, 这种模型可以由软件的代码或规约生成, 也可采用如UM L 的状态图 。 采用此方法进行测试时, 主要检查由初态是否能正确地到达图中的各个状态, 以及各个状态之间的迁移是否能正确实现 。这种方法可以充分测试类中的各个方法和可能的状态, 符合类测试的特点, 因此是当前类测试中用得较多 、 研究得也较多的方法之一。基于状态的测试可以很容易地推广到类簇测试, 只要我们能够为类簇建立这样的状态模型 。,基于方法序列的测试,面向对象程序中方法的调用是有一定次序的, 如果违反了这个次序就会产生错误 。方法序列规范Mtss(Method Sequence Specificat

8、ion) 就是这样一种规范, 它规定了类或类簇中方法的执行顺序, 如哪些方法必须按先后次序执行, 哪些方法可以并发执行等等 。 依据这样的规约, 我们可以为类或类簇产生一些消息序列, 检验这些类或类簇中的方法是否能够正确地交互 。 由于该方法没有能够考虑类的状态, 因此采用它进行的测试是不完全的 。 这种方法常常与别的测试方法结合使用 。,基于UML的测试,UML为面向对象软件提供了强大的建模工具, 同时它也可以作为测试的依据 。有几种UML模型已经被应用于面向对象软件中。 类图 类图描述了组成面向对象程序的各个类之间的关系, 包括联系 、 聚集 、 重数 、 子类型和递归包含等 。依据类图可

9、以确定各个类之间的层次关系, 从而决定对类进行测试的顺序 。 另外, 采用类图可以生成检验类之间关系是否正确实现的测试用例。 顺序图 顺序图描述对象之间动态的交互关系, 着重体现对象间消息传递的时间顺序, 因此它可以作为类簇测试的依据 。,基于UML的测试,状态图 通常被用在基于状态的测试中 。 用例图 用例图一般被用在系统测试中, 图中的每一个用例都可以转换为一个状态模型, 然后参照状态测试的方法进行测试 。,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,软件测试工具,Junit PureLoad Functional Tester Jmeter Te

10、stDirector Bugzilla,Junit,JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如果完成功能和完成什么样的功能。 *优点* : 1、提升程序代码的质量的同时,Junit测试使我们能够更快速的编写程序。 2、Junit使用简单 ,而且免费 3、Junit能够检验测试结果并立即提供反馈。 4、Junit测试可以组织成一个有层次的测试系列架构。 5、使用Junit开发测试成本低。 6、Junit测试提升软件的稳定性。,Rational Fu

11、nctional Tester,RFT是由IBM推出的针对Java、.Net和Web应用程序的自动化功能测试工具。拥有功能强大的编辑器并支持多种脚本语言,还集成了ScriptAssure 技术、模式匹配功能及数据驱动,以增强测试脚本的灵活性。 借助这一工具,测试人员可以轻松地录制或编写脚本来进行自动化测试,极大地 提高了测试效率。通过录制一个应用程序的测试您可以很快产生测试脚本,您还可以测试这个应用程序之中的任何对象,包括这个对象的属性和数据。,PureLoad,PureLoad正是一款基于Java开发的网络负压测试工具,它的Script代码完全使用XML,所以,这些代码的编写很简单,可以测试

12、各种C/S程序,如SMTP Server等。它的测试报表包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,所以,可以通过Java Beans API来增强软件功能。,JMeter,JMeter是Apache组织开发的基于Java的压力测试工具。 Meter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。,TestDirector,TestDirector是基于Web的测试管理工具,它能够让你系统地控制整个测试过程,并创建整个测试

13、工作流的框架和基础,使整个测试管理过程变得更为简单和有组织。它能够提供直观和有效的方式来计划和执行测试集、收集测试结果并分析数据。还专门提供了一个完善的缺陷跟踪系统。TestDirector能进行需求定义、测试计划、测试执行和缺陷跟踪,即整个测试过程的各个阶段。,Bugzilla,Buzilla 是一个 BUG 管理工具。作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的 Bug 跟踪体系,包括报告 Bug、查询 Bug 记录并产生报表、处理解决、管理员系统初始化和设置四部分。并具有如下特点: 1、基于Web 方式,安装简单、运行方便快捷、管理安全。 2、有利于缺陷的清楚传达。 3、系统灵活,强大的可配置能力。 4、自动发送 Email,通知相关人员。,各种测试工具的比较,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1