软件测试自动化.ppt_第1页
软件测试自动化.ppt_第2页
软件测试自动化.ppt_第3页
软件测试自动化.ppt_第4页
软件测试自动化.ppt_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Copyright 2000,Software Testing 软件测试自动化,Copyright 2000,软件测试自动化,为什么进行软件测试 自动化? 软件测试自动化的内容。 软件测试自动化的方法。 软件测试自动化的工具。,Copyright 2000,软件测试生命周期,缺陷跟踪,需求分析,程序编制,设计定义,测试执行,评估,维护,开发生命周期,测试生命周期,测试计划,建立,准备测试,测试设计,Copyright 2000,为什么进行软件测试自动化?,Copyright 2000,测试与测试自动化,测试 测试是一种技术。对于任何系统而言,都存在着大量可能的测试事例,但实际上只能运行其中很少

2、的一部分测试事例。实验和经验表明随机选择测试事例并不是测试的有效方法,好的测试方法应该是开发好的测试事例。,Copyright 2000,测试与测试自动化,软件测试的工作量很大(据统计,会用到40% 的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60% ),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。计算机就最适合于代替人类去完成这些任务。企业在这方面的投资,会对整个开发工作的质量、成本、和周期带来非常明显的效果。,Copyright 2000,测试自动化 自动化也是一门技术,但是与测

3、试技术存在很大区别。 自动化程度与测试的质量是独立的。 自动化的环境需求: 高效的基于操作系统的应用软件的自动测试必须源于好的测试软件和好的测试自动化者,实现人与技术的结合。,测试与测试自动化,Copyright 2000,软件测试自动化的优势: 对程序的新版本运行已有的测试(回归测试),配置测试。 可以执行一些手工测试困难或不可能做的测试,如对于并发测试。 更好的利用资源。提高测试准确性和测试人员的积极性。可以利用整夜或周末空闲时间的机器执行自动测试。 可以更快的将软件推向市场。 增加软件信任度。 总而言之,通过较少的开销可以获得更彻底的测试,以及提高产品的质量。,测试与测试自动化,Copy

4、right 2000,软件测试自动化,软件自动测试在实践中并非一件简单的事情。 很多公司由于自动化的前期效果不佳,放弃自动化,导至前功尽弃!(80/20) 由于时间关系,给测试人员太少时间,要求效果,导至中途放弃!,Copyright 2000,软件测试自动化的内容,Copyright 2000,软件测试自动化的内容,一些适于考虑进行自动化的测试操作为: 1.测试案例的生成(包括测试输入,标准输 出,测试操作指令等)。2.测试的执行写控制(包括单机与网络多机分布运行;夜间及假日运行。测试案例调用控 制;测试对象、范围、版本控制等)。3.测试结果与标准输出的对比。4.不吻合的测试结果的分析、记录

5、、分类、和通报。5.总测试状况的统计,报表的产生。,Copyright 2000,软件测试自动化的内容,测试自动化与软件配置管理是密不可分的。与测试有关的资源都应在配置管理中进行统一的计划考虑。另外,测试工具的采用也是一个提高质量的关键,有些专用的测试工具能帮助发现一些用任何测试案例都难以触及的错误。,Copyright 2000,软件自动测试的内容,Copyright 2000,标识测试条件,确定为什么测试,以及测试“什么”并最好定义这些测试需求和测试类型。 测试需求(test requirment)取决于被测试验证的项目或事例。 确定被当作测试对象的各项需求,例如用例,功能性需求和非功能性

6、需求。 测试有不同的类型,如功能测试,性能测试,安全测试等,配置测试,压力测试,业务周期测试。数据和数据库完整性的测试;用户界面测试,容量测试,故障转移和恢复测试,安装测试。 注意标识测试条件的活动最好与开发活动并行开展。,Copyright 2000,设计测试事例,确定“怎样”测试。 测试事例(test case)是按一定顺序执行的与测试目标(test object,测试理由或目的)相关的一系列测试。 测试事例设计将产生许多测试所包括的输入值、期望结果及其他任何运行测试的有关信息,如环境要求。 PilotPerformancetestResult1.doc 注意期望输出包括应输出或建立的内容

7、,应修改或更新的内容或删除的内容。期望输出值可以是一个很大的集合。,Copyright 2000,建立测试事例,测试事例包括准备测试脚本(Test Script)、测试输入、测试数据以及期望输出。 测试脚本是具有正规语法的数据和指令的集合,在测试执行自动工具使用中,通常以文件形式保存。测试脚本可以手工也可以不是手工执行(一个手工测试脚本就是一个测试过程(Test Procedure)测试输入和期望输出可包括在脚本中,也可以是脚本外的一个文件或数据库。 测试事例的先决条件;测试事例可能要求专门的硬件或软件。 期望输出可以组织成文件形式用于自动工具。,Copyright 2000,执行测试事例,在

8、被测软件运行时使用测试事例。 对于手工测试来讲,测试者按事先准备好的手工过程进行测试。测试者输入数据、观察输出、记录发现的问题。 对于自动测试,可能只需启动测试工具,并告诉工具执行哪些测试事例。 测试执行只能在软件开发完成后执行。,Copyright 2000,将测试结果与期望输出比较,自动测试结合了两种方法进行比较: 信息比较,如可以在执行测试时进行显示屏幕上的消息。 输出比较,如修改数据库记录,只能在测试执行结束后进行。,Copyright 2000,软件自动测试的内容,Copyright 2000,软件测试自动化的方法,Copyright 2000,软件测试自动化的方法,测试件结构 脚本

9、技术 比较 自动化前后的处理 建立可维护的测试,Copyright 2000,测试件结构,定义 测试件是用来描述测试所需的所有“作品”的术语,包括文档、脚本、数据和期望输出,还有测试产生的所有产物,包括实际输出、差异报告和总结报告。 测试件组 测试集 测试件库 测试结果,Copyright 2000,测试件组,测试件组就是测试产物(脚本,数据文件等)的逻辑集合。 四种类型的测试件组: 测试组 脚本组 数据组 实用程序组,Copyright 2000,测试集,测试集是一个自包含环境,可运行所有选中的测试事例。测试集很简单,是测试件组的集合。 测试集包含所需的测试件组。,Copyright 200

10、0,测试结果,测试结果 简单的说就是测试执行的产物和副产物,包括实际输出、差异报告和测试工具日志。,Copyright 2000,测试件库,测试件库是所有测试件组的原版本的仓库,长期存储了所有测试材料(测试数、脚本、文档等)必须复制这些材料来运行。 访问测试件库 配置管理 控制测试件更新,Copyright 2000,脚本技术,线性脚本 结构化脚本 共享脚本 数据驱动脚本 关键字驱动脚本,Copyright 2000,脚本技术,这些技术并不是相互排斥的。而是相辅相成的。每种技术在支持脚本完测试事例的时间和开销上都有长处和短处。 使用哪种技术并不是最主要的;脚本所支持的实现测试事例体系的整体考虑

11、才是主要的。,Copyright 2000,比较技术,自动比较 比较器 比较准则,Copyright 2000,自动比较,测试验证是检验软件是否产生了正确输出的过程,是通过在测试的实际输出与预期输出(例如,当软件正确执行时的输出)之间完成一次或多次比较来实现的。 自动比较只能做到将实际输出与预期输出进行比较。如果预期输出中有错误,自动比较则会隐藏这个错误,而不是在实际输出中突出这一错误。 比较是验证的方式,并且可以自动化大部分的比较工作。虽然只能自动比较实际输出与预期输出,预期输出并非一定是正确的,但是自动比较比人工完成相同的比较要迅速可靠得多。,Copyright 2000,比较器,是检测两

12、组数据异同的计算机程序。 对于自动测试而言,这两组数据指的是测试运行中产生的输出与预期输出。这些测试数据会显示在屏幕上,或者保存在文件或数据库中,数据可以是各种各样的格式,包括标准文本。在测试执行工具中嵌入比较器功能的地方,数据很有可能是屏幕图像。 可比较的内容: 可以比较的工具取决于比较工具的性能。一些商业比较器具备比较多种不同数据格式的功能。用最简单的比较器只能比较标准文本文件,但是高级复杂的比较器可以比较更加得复杂和专用的数据格式,包括图形格式和数据库内容。,Copyright 2000,比较准则,保持简单 编制比较的文档 尽量标准化 记住效率 避免比较位图,Copyright 2000

13、,自动化前后的处理,前处理 后处理,Copyright 2000,前处理,前处理就是要在整个测试执行前实现的步骤 ,也就是像设置或恢复任何在测试运行之前必须具备的先决条件的步骤 前处理的任务包括: 创建文件、数据库或数据 检验某些条件是否具备(如,有没有足够的磁盘空间) 重新组织文件和转换数据。,Copyright 2000,后处理,后处理是必须在测试完成过后执行的步骤。有很多这类的任务,而且它们都是成批出现。 后处理的任务包括: 删除:如删除文件、数据库,测试结果或副产物。 检验:如检验文件是否存在。 重组:比如把测试结果移动到测试件体系结构的结果结构中。 转换:如把输出结果转换成比较容易理

14、解的预览格式。,Copyright 2000,总结,前处理和后处理任务可以同一个单独的测试事例、全部测试或测试集中的所有测试相关。 前处理和后处理在自动测试中是很重要的,有利于自动测试的成功。,Copyright 2000,建立可维护的测试,因为软件需要维护,所以相应的测试为了能跟上软件的变化也需要维护。维护成本对自动化测试事例比对手工测试事例来说意义重要的多。,Copyright 2000,测试维护的属性,测试事例的数量不应该无限制地增长,每一个增加的测试事例都要对测试集有独特的贡献。 测试数据的数量必须加以控制.,Copyright 2000,陷井,工具容易令你出错 方法越简单就越容易造成

15、维护的高成本 一时的心血来潮 投入所得的回报(80/20),Copyright 2000,软件测试自动化的局限性,不能取代手工测试 手工测试比自动测试发现的错误多 对测试质量的依赖性极大 测试自动化可能会制约软件的开发 工具本身并不具有想象力 然而,测试自动化可以大大促进软件测试的质量和产品化。,Copyright 2000,软件测试工具,Copyright 2000,软件测试工具,测试工具的发展历程 测试工具介绍,Copyright 2000,测试工具的发展历程,自动测试一旦被有效使用,就能带来相当大的好处,主要体现在能够很容易地重用现有的测试工具或“测试软件”。与一般的软件开发过程一样,测

16、试软件的开发过程也是一代一代相传的,越来越丰富、完善。,Copyright 2000,测试工具的发展历程,第一代 仅有捕捉回放,自动测试“不在考虑之中”。比较结果只提供基于屏面的数据。 第二代 捕捉重放加上脚本,能力有了提高,但需要较强的专业知识和经验。,Copyright 2000,第三代 数据驱动:脚本与窗口中央化的测试数据分离储存。(Robot,QACenter) 第四代 智能框架结构和数据驱动:智能框架结构引擎与窗口中央化测试数据分离储存。(MCcade,SQA,QATest),测试工具的发展历程,Copyright 2000,自动测试工具,常见软件测试工具清单 软件测试工具介绍 测试

17、工具分类 测试工具演示,Copyright 2000,常见软件测试工具清单,1) Rational Suite TestStudio 2) Logiscope LoadRunner WinRunner 5) CodeTest 6) Cantata+ 7) PolySpace,Copyright 2000,常见软件测试工具清单(续),8) Numega DevPartner Studio Enterprise Edition 9) LDRA Testbed 10) McCabe IQ2 11) PRQA,Copyright 2000,软件测试工具介绍,1、Rational Suite TestS

18、tudio 公 司:美国Rational公司 (2002年已被IBM收购)。 支持平台: Windows(全部产品) Unix(Rational Purify,Rational Quantify,Rational PureCoverage, Rational ClearCase ) 支持语言: C、C+、VB、Java、PB、Delphi等多种语言 功能简介: 包括一整套自动化测试和缺陷跟踪的工具集,提供了一整套测试解决方案。其中包括整套的单元测试工具:Rational Purify,Rational Quantify,Rational PureCoverage,及其他一系列功能、性能、可靠性

19、自动测试工具。如:Rational TestManager ,Rational Visual test, Rational Robot 等。,Copyright 2000,软件测试工具介绍(续),2、 Logiscope 公 司:瑞典Telelogic公司 支持平台:VxWorks、pSOS、VRTX、Windows 95/98/NT、Unix 支持语言:C、C+、Java、Ada 功能简介:Logiscope是面向源代码的嵌入式软件测试工具,可在软件开发、代码评审、单元测试、集成测试、系统测试、以及软件维护阶段对代码分别进行静态度量、编程风格检测、和测试覆盖率分析。,Copyright 20

20、00,软件测试工具介绍(续),3、 LoadRunner 公 司:以色列Mercury Interactive公司 支持平台:Windows、Unix 支持语言:各种通用开发语言 功能简介:LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。LoadRunner支持广范的协议和技术 ,能够对整个企业架构进行测试。LoadRunner 适用于各种体系架构的自动负载测试,它能预测系统行为并优化系统性能。,Copyright 2000,软件测试工具介绍(续),4、WinRunner 公 司:以色列Mercury Inter

21、active公司 支持平台:Windows、Unix 支持语言:各种通用开发语言 功能简介:WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,有效地帮助测试人员对复杂地企业级应用地不同发布版进行测试提高测试人员地工作效率和质量,确保企业级应用无故障发布及长期稳定运行。,Copyright 2000,软件测试工具介绍(续),5、 CodeTest 公司:美国AMC公司 支持平台:pSOS、Win2000/NT、Solaris、Linux 支持语言:C、C+ 功能简介: CodeTest是一套嵌入式软件测试和分析

22、工具。CodeTest可同时进行软件性能、代码覆盖率、动态内存分配的分析。,Copyright 2000,软件测试工具介绍(续),6、 Cantata+ 公司:英国IPL(Information Processing Limited)公司 支持平台:Windows、Tru64 Unix、Dos、OS/2、Linux、SunOS 支持语言:C+、C 功能简介: Cantata+是基于C+语言的特点而量身设计的测试分析工具,为C+语言程序的验证和测试提供了一系列的解决方案。它贯穿于整个软件开发过程,包括代码评审、单元测试、集成测试、系统测试、及软件维护等阶段。主要功能:1)动态测试:在C+测试中遇

23、到的许多问题是由于要把被测试的类和系统中的其他部分分离开从而使之彻底得到测试而产生的, Cantata+让用户可以对被测软件和其它软件的接口充分控制。2)覆盖率分析:可以评价动态测试的彻底性 。3)静态分析:提供积累并报告超过300多种代码静态分析度量 。,Copyright 2000,软件测试工具介绍(续),7、 PolySpace 公司:法国Polyspace Technology公司 支持平台:Unix、Linux、Windows 支持语言:C、Ada 功能简介:自动检测嵌入式软件运行错误的测试工具,可以直接进行运行错误和非确定性构件检测,能精确指出引起运行错误的代码。如:企图读未初始的

24、变量,对空指针和越界指针的引用,对超界数组的访问, 非法的算数运算 (例,除零错误,负数开方)等错误。,Copyright 2000,软件测试工具介绍(续),8、 Numega Devpartner Studio enterprise edition 公司:美国Compuware公司(收购Numega) 支持平台:Windows 支持语言:VC、VB、Java、Html、ASP 功能简介:用于代码开发阶段,检查源代码的可靠性和稳定性的白盒测试工具包。主要实现自动错误检测、性能分析、代码覆盖分析、规则检测等功能,分别用于捕获、定位错误,抽取代码执行频度,以及抽取代码覆盖率等数据。,Copyrig

25、ht 2000,软件测试工具介绍(续),9、 LDRA Testbed 公司:英国LDRA公司 支持平台:Unix(Solaris、HPUX、AIX、IRIX、SunOS、Digital等) 、Windows、VxWorks、pSOS、RTOS、VMS 支持语言:Ada、C、C+、Cobol、x86汇编、TI汇编等 功能简介:LDRA Testbed分析软件中全局变量、局域变量及过程参数的使用状况,并以图形显示、HTML或ASCII文本报告方式表示,清晰地识别出变量使用引起的软件错误,既可使用于单元级,亦可使用于集成级、系统级软件测试。,Copyright 2000,软件测试工具介绍(续),1

26、0、 McCabe IQ2 公司:美国McCabe Test case; Test script; Test result; Bug report;(我们会定期把Bug Storage 中的所有Bug导出,在VSS中做备份),实例分析,Copyright 2000,Test Plan 定义了功能需求。 定义了测试类型。 定义了测试环境。 定义了测试周期的时间、人员安排、使用的工具、参考的文档。,实例分析,Copyright 2000,Test case 功能需求 非功能需求(性能,配置等等) 对于功能需求,我们根据前面的UI的 use case, 作了包括如下几点的一个Test case 事例

27、的EXCEL文档。 Case NO.、Test step、Expected Result、Actual Result、Result(S/U) 其中的Test step要求比较详细,每一步都要写到。 其中Expected Result,我们要尽量把所有的预期结果都考虑到。如下例: Test step Installation By following the installation instructions install Docprep Online(win2000),实例分析,Copyright 2000,Expected Result: 1. Installation Completed

28、. 2. User can find Docprep Online application in the Programs of the client. 3. User can login the system by double-click Docprep Online. Actual Result & Result: 我们会在测试完成后把这些实际结果填出来给所有相关性的人员。,实例分析,Copyright 2000,还有一些 test case 是我们在设计完之后准备的,我们的一些测试人员也参设计的评审,在这里可以让测试人员熟悉一些底层功能的关系。因为有些功能是没有通过UI表现的如access control 功能是对SA的一种控制。 等到我们把所有的 Test case 定制完之后,我们就开始了针对这些 Test case 做一些脚本,便于我们在回归测试时使用。在整个测试过程之中,我们选择的是手工和自动相结合的方式。 针对UI的测试我们针对所有的 Test

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论