




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的软件测试的综述,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,软件测试,在G.J.Myers的经典著作软件测试技巧中给出了测试的定义:“程序测试是为了发现错误而执行程序的过程。”软件测试是为了更快、更早地将软件产品或软件系统中所存在的各种问题找出来,并促使程序员尽快地解决这些问题,最终及时地向客户提供高质量的软件产品。,软件测试的方法,黑盒测试 黑盒测试又称为功能测试,是一种面向设计的测试。这种测试在完全不考虑测试对象内部结构的情况下,把被测程序当作一个黑盒,根据程序的功能和外部特性得到测试数据。进行黑盒测试所必须具备的文档有产品描述、用户文档及安装指令。黑盒测试方法主要用于软件确认测试。 白盒测试 白盒测试是假定测试对象的内部是已知的,允许测试者检查测试对象的内部结构,并使用其结构信息来设计测试用例和测试对象是否满足规范的要求,测试者可以完全不考虑测试对象的功能。进行白盒测试所具备的文档有设计文档和程序文档。,单元测试 单元测试是完成对最小软件设计单位程序模块,进行正确性检验的测试工作 集成测试 在每个模块完成单元测试以后,需要按照设计时画出的结构图,把它们连接起来,进行集成测试。 确认测试 确认测试的任务就是进一步检查软件的功能和性能是否与用户要求的一样。它通过一系列证明软件功能和需求一致的黑盒测试来完成。 系统测试 系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,面向对象软件测试的特点,面向对象程序结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。传统的测试模型对面向对象软件已经不再适用。,面向对象的特点对软件测试的影响,信息隐蔽和封装对测试的影响 类的重要作用之一是信息隐蔽。它对类中所封装的信息的存取进行控制,从而避免类中有关实现细节的信息被错误地使用。该隐蔽机制给测试带来了困难。 继承对测试的影响 若一个类得到了充分的测试,当其被子类继承后,继承的方法在子类的环境中的行为特征需要重新测试。 多态性对测试的影响 传统软件测试中经常使用静态分析技术对代码进行分析;面向对象软件中,由于动态绑定和多态性的存在所带来的不确定性,给测试覆盖率的满足增大了难度。,面向对象的测试与传统测试的比较,测试单元的不同 传统软件的基本构成单元为功能模块,每个功能模块一般能独立地完成一个特定的功能。而在面向对象的软件中,基本单元是封装了数据和方法的类和对象。 系统构成不同 传统的软件系统是由一个个功能模块通过过程调用关系组合而成的。而在面向对象的系统中,系统的功能体现在对象间的协作上,相同的功能可能驻留在不同的对象中,操作序列是由对象间的消息传递决定的。,面向对象软件测试的层次划分,类测试 类簇测试 系统测试,类测试,类包含一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在。同时,一个对象有它自己的状态和依赖于状态的行为,对象操作既与对象的状态有关,但也可能改变对象的状态。所以,类测试时不仅要将操作作为类的一部分,同时要把对象与其状态结合起来,进行对象状态行为的测试。类的测试伴随着开发过程中的各个阶段,当类的说明或实现发生变化时应该执行回归测试。,类簇测试,类簇是一组相互合作的类。类簇测试主要考察一组协同操作的类之间的相互作用,测试重点在类之间的逻辑关系关联、继承、聚合、多态,检验类之间的相互配合。其测试用例可由多种方案结合生成。,系统测试,系统测试是对所有类和主程序构成的整个系统进行整体测试,以验证软件系统的正确性和性能指标等满足规格说明书和任务书所指定的要求。它与传统的系统测试一样,可套用传统的系统测试方法,区别仅在于测试用例的形式有所不同,测试用例可以从对象行为模型和作为对象分析的一部分的事件流图中导出。,面向对象软件的测试方法,基于状态的测试 基于方法序列的测试 基于UML的测试,基于状态的测试,基于状态的测试以类的有限状态机模型 ( F S M ) 和其状态转换图为依据, 这种模型可以由软件的代码或规约生成, 也可采用如UM L 的状态图 。 采用此方法进行测试时, 主要检查由初态是否能正确地到达图中的各个状态, 以及各个状态之间的迁移是否能正确实现 。这种方法可以充分测试类中的各个方法和可能的状态, 符合类测试的特点, 因此是当前类测试中用得较多 、 研究得也较多的方法之一。基于状态的测试可以很容易地推广到类簇测试, 只要我们能够为类簇建立这样的状态模型 。,基于方法序列的测试,面向对象程序中方法的调用是有一定次序的, 如果违反了这个次序就会产生错误 。方法序列规范Mtss(Method Sequence Specification) 就是这样一种规范, 它规定了类或类簇中方法的执行顺序, 如哪些方法必须按先后次序执行, 哪些方法可以并发执行等等 。 依据这样的规约, 我们可以为类或类簇产生一些消息序列, 检验这些类或类簇中的方法是否能够正确地交互 。 由于该方法没有能够考虑类的状态, 因此采用它进行的测试是不完全的 。 这种方法常常与别的测试方法结合使用 。,基于UML的测试,UML为面向对象软件提供了强大的建模工具, 同时它也可以作为测试的依据 。有几种UML模型已经被应用于面向对象软件中。 类图 类图描述了组成面向对象程序的各个类之间的关系, 包括联系 、 聚集 、 重数 、 子类型和递归包含等 。依据类图可以确定各个类之间的层次关系, 从而决定对类进行测试的顺序 。 另外, 采用类图可以生成检验类之间关系是否正确实现的测试用例。 顺序图 顺序图描述对象之间动态的交互关系, 着重体现对象间消息传递的时间顺序, 因此它可以作为类簇测试的依据 。,基于UML的测试,状态图 通常被用在基于状态的测试中 。 用例图 用例图一般被用在系统测试中, 图中的每一个用例都可以转换为一个状态模型, 然后参照状态测试的方法进行测试 。,面向对象的软件测试综述,软件测试技术,1,面向对象的的软件测试,2,软件测试工具,3,软件测试工具,Junit PureLoad Functional Tester Jmeter TestDirector Bugzilla,Junit,JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如果完成功能和完成什么样的功能。 *优点* : 1、提升程序代码的质量的同时,Junit测试使我们能够更快速的编写程序。 2、Junit使用简单 ,而且免费 3、Junit能够检验测试结果并立即提供反馈。 4、Junit测试可以组织成一个有层次的测试系列架构。 5、使用Junit开发测试成本低。 6、Junit测试提升软件的稳定性。,Rational Functional Tester,RFT是由IBM推出的针对Java、.Net和Web应用程序的自动化功能测试工具。拥有功能强大的编辑器并支持多种脚本语言,还集成了ScriptAssure 技术、模式匹配功能及数据驱动,以增强测试脚本的灵活性。 借助这一工具,测试人员可以轻松地录制或编写脚本来进行自动化测试,极大地 提高了测试效率。通过录制一个应用程序的测试您可以很快产生测试脚本,您还可以测试这个应用程序之中的任何对象,包括这个对象的属性和数据。,PureLoad,PureLoad正是一款基于Java开发的网络负压测试工具,它的Script代码完全使用XML,所以,这些代码的编写很简单,可以测试各种C/S程序,如SMTP Server等。它的测试报表包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,所以,可以通过Java Beans API来增强软件功能。,JMeter,JMeter是Apache组织开发的基于Java的压力测试工具。 Meter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。,TestDirector,TestDirector是基于Web的测试管理工具,它能够让你系统地控制整个测试过程,并创建整个测试工作流的框架和基础,使整个测试管理过程变得更为简单和有组织。它能够提供直观和有效的方式来计划和执行测试集、收集测试结果并分析数据。还专门提供了一个完善的缺陷跟踪系统。TestDirector能进行需求定义、测试计划、测试执行和缺陷跟踪,即整个测试过程的各个阶段。,Bugzilla,Buzilla 是一个 BUG 管理工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营养力度与食品选择的关联试题及答案
- 食物与疾病关系的科学研究试题及答案
- 激光技术与市场趋势考题试题及答案
- 激光安全标准解读试题及答案
- 理顺护士资格证考核体系的试题及答案
- 护理真实考试题及答案
- 药剂信息管理试题及答案
- 系统架构设计师考试标准化指南试题及答案
- 自考本科高数试题及答案
- 车站出行安全试题及答案
- 热点主题作文写作指导:数字工具(审题指导与例文)
- 大学生法学试题题库及答案
- 2025-2030中国数据要素市场发展前景及趋势预测分析研究报告
- 2024年福建省漳州市医院招聘工作人员考试真题
- 肿瘤专科模考试题及答案
- 2025年2月时事政治100题及参考答案
- 2025年湖南铁道职业技术学院单招职业技能测试题库带答案
- 《中国建筑的特征》课件
- 《眼科》主治医师考试测试题(含答案)
- 乌海市储能项目评估报告
- 公路养护考勤管理制度
评论
0/150
提交评论