软件测试 复习-2.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时系统测试 在现实的工业控制中,经常需要采用一些实时控制的技术,比如大型钢厂的轧钢系统和大型变电站的实时报警系统。很多实时系统的时间依赖性和异步性给测试带来新的困难——时间!测试用例的设计者考虑的不仅是白盒和黑盒测试用例,而且包括事件处理(如中断处理)、数据的时间序列以及处理数据的任务(进程)的并发性。很多情况下,提供的测试数据有时使得实时系统在某状态下可以正常运行,而同样的数据在系统处于不同状态时有时又会导致错误。   另外,实时系统的软件和硬件之间的密切关系也会导致测试问题,软件测试必须考虑硬件故障对软件处理的影响,这种故障很难实时仿真。由于实时系统的特殊性和复杂性, 还没有一个完善的综合性的测试用例设计方法, 但是,大致可以分为以下四个步骤: 1.任务测试。 测试实时系统的第一步是独立的测试各个任务。对每一个任务设计白盒和黑盒测试用例,并在测试时执行每个任务。任务测试能够发现逻辑和功能错误,但是不能发现时间和行为错误。 2.行为测试。 利用CASE工具创建软件模型,就可能仿真实时系统,并按照外部事件的序列检查其行为,这些分析活动可作为创建实时系统时设计测试用例的基础。 3.任务间测试。 在隔离了任务内部和系统行为错误以后,测试就要转向时间相关的错误。用不同的数据率和处理负载来测试与其他任务通讯的异步任务,看任务间的同步是否会产生错误。另外,测试通过消息队列和数据存储进行通讯的任务,以发现这些数据存储区区域大小方面的错误。 4.系统测试。 集成软件和硬件,并进行大范围的系统测试,以发现软件/硬件接口间的错误。 面向对象软件的测试 面向对象的软件开发模型中将开发过程定义为面向对象分析、面向对象设计和面向对象编程三个阶段。 面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。而且,面向对象软件抛弃了传统的开发模式, 对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。因此,传统的测试模型对面向对象软件已经不再适用。针对面向对象软件的开发特点,应该有一种新的测试模型。 面向对象的软件测试和传统软件测试 1.面向对象的软件测试和传统软件测试的不同。 面向对象的软件特有的继承、封装和动态绑定等特性与传统的软件有较大的区别。   面向对象的程序结构已不再是传统的功能模块结构。   继承和动态绑定机制是面向对象实现的主要手段。   面向对象软件的依赖性问题,源于存在诸如继承、关联、类嵌套和动态绑定等关系。传统软件中存在的依赖关系有:   ■ 变量间的数据依赖   ■ 模块间的调用依赖   ■ 变量与其类型间的定义依赖   ■ 模块与其变量间的功能依赖   而面向对象软件除了存在上述依赖关系外,还存在下面的依赖关系:   ■ 类与类间的依赖   ■ 类与操作间的依赖   ■ 类与消息间的依赖   ■ 类与变量间的依赖   ■ 操作与变量间的依赖   ■ 操作与消息间的依赖   ■ 操作与操作间的依赖 2.面向对象软件测试的特点。 面向对象程序的测试主要针对编程方法和源代码进行测试。 1.面向对象分析的测试(OOA Test) 2.面向对象设计的测试(OOD Test) 3.面向对象编程的测试(OOP Test) 对象是否全面、对象是否具有多个属性 、对象的名称应该尽量准确,适用 、对象提供的服务是否正确、结构是否正确等 类的测试、类层次结构的测试、类库支持的测试 数据成员是否满足数据封装的要求、类是否实现了要求的功能 4.面向对象的单元测试(OO Unit Test) 5.面向对象的集成测试(OO Integrate Test) 6.面向对象的系统测试(OO System Test) 软件测试自动化与软件测试工具 自动化测试能够替代大量手工测试工作,避免重复测试,同时,它还能够完成大量手工无法完成的测试工作, 如并发用户测试、大数据量测试、 长时间运行可靠性测试等。   通常,当软件开发过程具有下列情况时首先需要考虑引入自动化测试:   A.非常重要的测试   B.涉及范围很广的测试   C.对主要功能的测试   D.容易自动化的测试   E.很快很有回报的测试   F.运行最频繁的测试   G.测试个案的生成,包括测试输入、测试输出、测试操作指令等   H.测试的执行与控制, 包括单机运行和网络多机分布式的运行,在节假日的运行,测试个案调用控制,测试对象、测试范围与测试版本的控制等   I.测试结果与标准输出进行对比   J.不吻合预期的测试结果的分析、 记录、分类和报告及总体测试状况的统计及报表的产生 软件测试管理 建立软件测试管理体

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:6100124015000001

1亿VIP精品文档

相关文档