版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Suzsoft Co., Ltd.测试自动化 由安博测试空间技术中心httpbtestingsky/提供自动化测试根底自动化测试的意义自动化测试的定义和引入自动化测试的原理和方法自动化测试工具的作用及优势自动化测试存在的一些问题和限制建立正确的自动化测试目的自动化测试的意义通常,软件测试的任务量很大据统计,测试会占用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%。而测试中的许多操作是反复性的、非智力性的和非发明性的,并要求做准确细致的任务,计算机就最适宜于替代人工去完成这样的义务。软件自动化测试是相对手工测试而存在的,主要是经过所开发的软件测试工具、脚本等来实
2、现,具有良好的可操作性、可反复性和高效率等特点。要了解为什么要进展自动化测试,可以从两个方面思索:一是手工测试的局限性;二是软件自动化测试所带来的益处。手工测试的局限性经过手工测试无法做到覆盖一切代码途径。简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、反复性,任务量往往较大。许多与时序、死锁、资源冲突、多线程等有关的错误,经过手工测试很难捕捉到。进展系统负载、性能测试时,需求模拟大量数据或大量并发用户等各种运用场所时,很难经过于工测试来进展。进展系统可靠性测试时,需求模拟系统运转10年、几十年,以验证系统能否稳定运转,这也是手工测试无法模拟的。假设有大量几千的测试用例,需求
3、在短时间内1天完成,手工测试几乎不能够做到。自动化测试带来的益处缩短软件开发测试周期,可以让产品更快投放市场。测试效率高,充分利用硬件资源。节省人力资源,降低测试本钱。加强测试的稳定性和可靠性。提高软件测试的准确度和准确度,添加软件信任度。软件测试工具使测试任务相对比较容易,且能产生更高质量的测试结果。手工不能做的事情,自动化测试能做,如负载、性能测试。 软件测试实行自动化进程,绝不是由于腻烦了反复的测试任务,而是由于测试任务的需求,更准确地说是回归测试和系统测试的需求。自动化测试的定义和引入自动化测试的定义:运用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施、测试脚本
4、的开发与执行。在进展自动化测试前,首先要建立一个对软件测试自动化的认识观。软件测试工具能提高测试效率、覆盖率和可靠性等,自动化测试虽然具有很多优点,但它只是测试任务的一部分,是对手工测试的一种补充。自动化测试和手工测试的范围自动化测试绝不能替代手工测试,它们各有各自的特点,其测试对象和测试范围都不一样:在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法。自动化测试的定义和引入单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适宜采用自动化测试。那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适宜自动化测试。工具本身并没有
5、想象力和灵敏性,根据报道,自动化测试只能发现15的缺陷,而手工测试可以发现85的缺陷。自动化测试工具在进展功能测试时,其准确的含义是回归测试工具,这时工具不能发现更多的新问题,但可以保证对曾经测试过部分的准确性和客观性。 多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试义务。自动化测试的定义和引入通常,当软件开发过程具有以下情况时,就需求思索引入自动化测试: 1测试用例的生成,包括测试输入、测试输出、测试操作指令等;2测试的执行与控制,包括单机运转和网络多机分布式的运转,在节假日的运转,测试个案调用控制,测试对象、测试范围与测试版本的控制等;3测试结果与规范输出进展对比;4
6、不吻合预期的测试结果的分析、记录、分类和报告 5总体测试情况的统计及报表的产生。自动化测试的定义和引入自动化测试运用找准自动化测试的切入点把测试开发纳入整个软件开发系统自动化测试依赖测试流程和测试用例软件测试自动化的投入较大进展资源的合理调度自动化测试的原理和方法软件测试自动化实现的根底是可以经过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进展检查。软件测试自动化实现的原理和方法主要有:直接对代码进展静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术和测试管理技术。1代码分析 代码分析类似于高级言语编译系统,普通针对不同的高级言语去构
7、造分析工具,在工具中定义类、对象、函数、变量等定义规那么、语法规那么;在分析时对代码进展语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。自动化测试的原理和方法2捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放那么是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象窗口、按钮、滚动条等的位置,以及相对应的操作、形状变化或是属性变化。一切的记录转换为一种脚本言语所描画的过程,以模拟用户的操作。 回放时,将脚本言语所描画的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给
8、定的规范结果比较。捕获和回放可以大大减轻黑盒测试的任务量,在迭代开发的过程中,可以很好地进展回归测试。自动化测试的原理和方法关于自动化测试中的“录制回放技术 目前的自动化负载测试处理方案几乎都是采用 “录制-回放的技术。 所谓的“录制-回放技术,就是先由手工完成一遍需求测试的流程,同时由计算机记录下这个流程期间客户端和效力器端之间的通讯信息,这些信息通常是一些协议和数据,并构成特定的脚本程序 (Script) 。然后在系统的一致管理下同时生成多个虚拟用户,并运转该脚本,监控硬件和软件平台的性能,提供分析报告或相关资料。这样,经过几台机器就可以模拟出成百上千的用户对运用系统进展负载才干的测试。自
9、动化测试的原理和方法3脚本技术 脚本是一组测试工具执行的指令集合,也是计算机程序的一种方式。脚本可以经过录制测试的操作产生,然后再做修正,这样可以减少脚本编程的任务量。当然,也可以直接用脚本言语编写脚本。脚本中包含的是测试数据和指令,普通包括如下信息:同步何时进展下一个输入。比较信息比较什么,比较规范。埔获何种屏幕数据及存储在何处。从哪个数据源或从何处读取数据。控制信息等。自动化测试的原理和方法脚本技术可以分为以下几类:线性脚本是录制手工执行的测试用例得到的脚本。构造化脚本类似于构造化程序设计,具有各种逻辑构造顺序、分支、循环,而且具有函数调用功能。共享脚本是指某个脚本可被多个测试用例运用,即
10、脚本言语允许一个脚本调用另一个脚本。数据驱动脚本将测试输入存储在独立的数据文件中。关键字驱动脚本是数据驱动脚本的逻辑扩展自动化测试的原理和方法4自动比较静态比较和动态比较简单比较和复杂比较敏感性测试比较和强壮性测试比较比较过滤器自动化测试工具的作用及优势软件测试自动化通常借助测试工具进展。测试工具可以进展部分的测试设计、实现、执行和比较的任务。部分的测试工具可以实现测试用例的自动生成,但通常的任务方式为人工设计测试用例,运用工具进展用例的执行和比较。假设采用自动比较技术,还可以自动完成测试用例执行结果的判别,从而防止人工比对存在的疏漏问题。 自动化测试工具的作用:1确定系统最优的硬件配置。2检
11、查系统的可靠性。3检查系统硬件和软件的晋级情况。4评价新产品。自动化测试工具的作用及优势自动化测试工具的优势主要表达在以下几个方面:1记录业务流程并生成脚本程序的才干。2对各种网络设备客户机或效力器、其它网络设备的模拟才干。3用有限的资源生成高质量虚拟用户的才干。4对于整个软件和硬件系统中各个部分的监控才干。5对于测试结果的表现和分析才干。自动化测试存在的一些问题不正确的观念或不现实的期望缺乏具有良好素质和有阅历的测试人才测试工具本身的问题影响测试的质量没有进展有效、充分的培训不思索公司的实践情况、盲目引入测试工具没有构成一个良好的测试工具运用环境其他技术问题和组织问题测试自动化限制测试自动化
12、可以带来非常明显的收益,但也有以下限制:不能取代手工测试 手工测试比自动测试发现的缺陷更多对测试质量的依赖性极大测试自动化不能提高有效性测试自动化能够会制约软件开发。工具本身并无想象力 另外,人工测试比测试工具更优越的另一个方面是可以处置不测事件。虽然工具也能处置部分异常事件,但是对真正的突发事件和不能由软件处理的问题就无能为力。建立正确的自动化测试目的 目前,软件自动化测试还不能处理一切的测试问题,因此,需求建立正确的自动化测试目的。测试方案产生:主要靠测试工程师与软件消费质量保证 专家的协作,自动化工具只能起到一定的辅助作用。一种测试工具不完全适用于一切测试自动测试不一定减轻任务量测试进度
13、能够不一定缩短测试工具不一定易于运用自动化测试的普遍运用存在局限测试覆盖率不会到达百分之百软件自动化测试工具简述自动化测试工具的特征自动化测试工具的分类选择自动化测试工具常用测试工具概要自动化测试工具的特征支持脚本化言语(Scripting Language)对程序界面中对象的识别才干支持函数的可重用支持外部函数库笼统层将程序界面中的对象实体映射成逻辑对象分布式测试(Distributed Test)的支持支持数据驱动测试(Data-Driven Test)错误处置调试器(Debugger)源代码管理支持脚本的命令行(Command Line)方式自动化测试工具的分类测试工具可以从两个不同的方
14、面去分类。根据测试方法不同,自动化测试工具可以分为: 白盒测试工具、黑盒测试工具根据测试的对象和目的,自动化测试工具可以分为: 单元测试工具、功能测试工具、负载测试工具、性能测试工具、Web测试工具、数据库测试工具、回归测试工具、嵌入式测试工具、页面链接测试工具、测试设计与开发工具、测试执行和评价工具、测试管理工具等白盒测试工具白盒测试工具普通是针对被测源程序进展的测试,测试所发现的缺点可以定位到代码级。根据测试工具任务原理的不同,白盒测试的自动化工具可分为静态测试工具和动态测试工具。静态测试工具是在不执行程序的情况下,分析软件的特性。静态分析主要集中在需求文档、设计文档以及程序构造方面。按照
15、完成的职能不同,静态测试工具包括以下几种类型: (1)代码审查 2静态构造分析 3代码质量度量 (2.1)一致性检查 (2.2)错误检查 (2.3)接口分析 (2.4)输入输出规格阐明分析检查 (2.5)数据流分析 (2.6)类型分析 (2.7)单元分析 常用的动态工具有: Telelogic公司的Logiscope软件 PR公司的PRQA软件白盒测试工具动态测试工具是直接执行被测程序以提供测试活动。它需求实践运转被测系统,并设置断点,向代码生成的可执行文件中插入一些监测代码,掌握断点这一时辰程序运转数据对象属性、变量的值等,具有功能确认、接口测试、覆盖率分析、性能分析等性能。动态测试工具可以
16、分为以下几种类型: (1)功能确认与接口测试 (2)覆盖测试 (3)性能测试 (4)内存分析常用的动态工具有: Compuware公司的DevPartner IBM公司的 Rational Purify黑盒测试工具黑盒测试工具是在明确软件产品应具有的功能的条件下,完全不思索被测程序的内部构造和内部特性,经过测试来检验软件功能能否按照软件需求规格的阐明正常任务。按照完成的职能不同,黑盒测试工具可以分为:功能测试工具用于检测程序能否到达预期的功能要求并正常运转。性能测试工具用于确定软件和系统的性能。常用的黑盒测试工具有: Compuware公司的QACenter IBM公司的Rational Te
17、amTest 测试管理工具测试管理工具用于对测试过程进展管理,协助完成制定测试方案,跟踪测试运转结果。通常,测试管理工具对测试方案、测试用例、测试实施进展管理,还包括缺陷跟踪管理等。常用的测试管理工具有: IBM公司的Rational Test Manager测试管理工具包括以下内容:测试用例管理缺陷跟踪管理问题跟踪管理配置管理选择自动化测试工具测试人员在选择和运用自动化测试工具时,可以从以下角度来思索:按照用途选择匹配的测试工具在适当的生命周期选择测试工具按照测试人员的实践技艺选择匹配的测试工具选择一个可提供的测试工具常用测试工具目前,软件测试方面的工具很多,主要有MercuryIntera
18、ctiveMI、Rational、 Compuware、Segue和Empirix等公司的产品,而MI公司和Rational公司的产品占了主流。Mercury公司测试工具Mercury美科利,mercury质量中心:提供一个全面的、基于Web的集成系统,可在广泛的运用环境下自动执行软件质量管理和测试。其主要产品如下:Winrunner:是一种企业级的用于检验运用程序能否如期运转的功能性测试工具。经过自动捕获,检测,和反复用户交互的操作,WinRunner 可以识别缺陷并且确保那些跨越多个运用程序和数据库的业务流程在初次发布就能防止出现缺点,并且坚持长期可靠运转。Loadrunner:是一种预测
19、系统行为和性能的负载测试工具。经过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 可以对整个企业架构进展测试。经过运用LoadRunner ,企业能最大限制地缩短测试时间,优化性能和加速运用系统的发布周期。Mercury公司测试工具TestDirector:是基于Web的测试管理处理方案,它可以在公司内部进展全球范围的测试协调。TestDirector可以在一独立的运用系统中提供需求管理功能,并且可以把测试需求管理于测试方案、测试日程控制、测试执行和错误跟踪等功能交融为一体,因此极大地加速了测试的进程。 TestDirector提供完好且无限制的测试管理
20、框架,实现对运用测试全部阶段的管理与控制。QuickTest Professional::是一个功能测试自动化工具,主要运用在回归测试中。QuickTest针对的是GUI运用程序,包括传统的Windows运用程序,以及如今越来越流行的Web运用。它可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。其中包括:创建测试、插入检查点、检验数据、加强测试、运转测试、分析结果和维护测试等方面。Rational公司测试工具Rational公司测试工具Rationalwww-900.ibm/cn/software/rational/公司产品如下: Rational Functional
21、Tester:对 Java、Web 和基于 VS.NET WinForm 的运用程序进展高级自动化功能测试。Rational Functional Tester Extension for Terminal-based Applications:扩展了Rational Functional Tester,以支持基于终端的运用程序的测试。Rational Manual Tester:运用新测试设计技术来改良人工测试设计和执行任务。Rational Performance Tester:检查可变多用户负载下可接受的运用程序呼应时间和可伸缩性。Rational Purify for Linux an
22、d UNIX:为 Linux 和 UNIX提供了内存走漏和内存损坏检测。Rational Purify for Windows:为 Windows 提供了内存走漏和内存损坏检测。Rational公司测试工具Rational PurifyPlus 企业版:为 Windows、Linux 和 UNIX 提供了运转时分析。Rational PurifyPlus for Linux and UNIX:为 基于 Linux 和 Unix 的 Java 和 C/C+ 开发提供了分析工具集。Rational PurifyPlus for Windows:为基于 Windows的Java、C/C+、Visua
23、l Basic 和 托管 .NET 开发提供了运转时分析。Rational Robot:客户机/效力器运用程序的通用测试自动化工具。可以对运用各种集成开发环境 (IDE) 和言语建立的软件运用程序,创建、修正并执行自动化的功能测试、分布式功能测试、回归测试和集成测试。Rational TestManager:提供开放、可扩展的测试管理。Rational Test RealTime:支持嵌入式和实时的跨平台软件的组件测试和运转时分析。 Compuware公司测试工具Compuwarewwwpuware公司的QACenter家族集成了一些强大的自开工具,这些工具符合大型机运用的测试要求,使开发组获
24、得一致而可靠的运用性能。QACenter协助一切的测试人员创建一个快速,可重用的测试过程。这些测试工具自动协助管理测试过程,快速分析和调试程序,包括针对回归,强度,单元,并发,集成,移植,容量和负载建立测试用例,自动执行测试和产生文档结果。QACenter主要包括以下几个模块:QARun:运用的功能测试工具。QALoad:强负载下运用的性能测试工具。QADirector:测试的组织设计和创建以及管理工具。TrackRecord:集成的缺陷跟踪管理工具。EcoTools:高层次的性能监测工具。 Segue公司测试工具segue 公司的SilkTestsegue:是业界领先的、用于对企业级运用进展
25、功能测试的产品,可用于测试Web、Java或是传统的C/S构造。SilkTest提供了许多功能,运用户可以高效率地进展软件自动化测试。这些功能包括:测试的方案和管理;直接的数据库访问及校验;灵敏、强大的4Test脚本言语,内置的恢复系统(Recovery System);以及具有运用同一套脚本进展跨平台、跨阅读器和技术进展测试的才干。Radview公司测试工具Radview公司的TestView系列Web性能测试工具和WebLoad Analyzer性能分析工具,旨在测试Web运用和Web效力的功能、性能、程序破绽、兼容性、稳定性和抗攻击性,并且可以在测试的同时分析问题缘由和定位缺点点。 整套
26、Web性能测试和分析工具包含两个相对独立的子系统:Web性能测试子系统、Web性能分析子系统。其中Web性能测试子系统包含3个模块:TestView Manager、WebFT以及WebLoad。Web性能分析子系统只需WebLoad Analyzer。其他公司测试工具AdventNet公司的 QEngineadventnet:是一个运用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java运用功能测试、Java API测试、SOAP测试、回归测试和Java运用性能测试。支持对于运用HTML、JSP、ASP、.NET、PHP、JavaScript/VBScript
27、、XML、SOAP、WSDL、e-commerce、传统客户端/效力器等开发的运用程序进展测试。此工具以Java开发,因此便于移植和提供多平台支持。其他公司测试工具美国IXIA公司的运用层性能测试软件IxChariot是一个独特的测试工具,也是在运用层性能测试领域得到业界认可的测试系统。对于企业网而言,IxChariot可运用于设备选型、网络建立及验收、日常维护等3个阶段,提供设备网络性能评价、缺点定位和SLA基准等效力。IxChariot由两部分组成:控制端Console和远端Endpoint,两者都可安装在普通PC或者效力器上,控制端安装在Windows操作系统上,远端支持各种主流的操作系
28、统。控制端为该产品的中心部分,控制界面也可采用命令行方式、测试设计界面、脚本选择及编制、结果显示、报告生成以及API接口提供等都由控制端提供。远端根据实践测试的需求,安装在分布的网络中,担任从控制端接纳指令、完成测试并将测试数据上报到控制端。一些开源测试工具 功能测试工具Linux Test Project/ :Linux Test Project是一个测试Linux内核和内核相关特性的工具集合。该工具的目的是经过把测试自动化引入到Linux内核测试,提高Linux的内核质量。 运用环境: LinuxMaxQ/:MaxQ是一个免费的功能测试工具。它包括一个HTTP代理工具,可以录制测试脚本,并
29、提供回放测试过程的命令行工具。测试结果的统计图表类似于商用测试工具,比如Astra QuickTest和Empirix e-Test,这些商用工具都很昂贵。MaxQ希望可以提供一些关键的功能,比如HTTP测试录制回放功能,并支持脚本。运用环境: Java 1.2以上版本WebInject/:WebInject是一个针对Web运用程序和效力的免费测试工具。 它可以经过HTTP接口测试恣意一个单独的系统组件。可以作为测试框架管理功能自动化测试和回归自动化测试的测试套。运用环境: Windows, OS Independent, Linux一些开源测试工具单元测试工具 JUNITCppUnit:JU
30、nit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JUnit单元测试框架的设计时,设定了三个总体目的,第一个是简化测试的编写,这种简化包括测试框架的学习和实践测试单元的编写;第二个是使测试单元坚持耐久性;第三个那么是可以利用既有的测试来编写相关的测试。运用环境: Windows, OS Independent, Linux一些开源测试工具性能测试工具Apache JMeter /jmeter/ :Apache JMeter是100的Java桌面运用程序,它被设计用来加载被测试软件功能特性、度量被测试软件的性能。设计Jmeter的初衷是测试Web运用,后来又扩展了其它的功能。Jmeter可以完成针对静态资源和动态资源讹误女监, Servlets, Perl脚本, Java对象, 数据查询s, FTP效力等的性能测试。 Jmeter可以模拟大量的效力器负载、网络负载、软件对象负载,经过不同的加载类型全面测试软件的性能。Jmeter提供图形化的性能分析。 运用环境: Solaris, Linux, Windows (98, N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购房合同补充协议的签订流程
- 购车合同范本样本模板地质
- 购销合同欠款追回案例
- 购销电器合同范本
- 资格预审文件编写规范与要求
- 趣味小学数学作业设计
- 车辆服务合同的补充条款分析
- 还款能力担保函
- 还款保证书英文样本
- 违反交通规则保证书写法示例
- 网约车服务管理手册
- 2024年港澳台华侨生入学考试物理试卷(含答案详解)
- 2024年创意产业联盟协议
- 国开2024年秋《大数据技术概论》形考作业1-4答案
- 旅游景区旅游安全风险评估报告
- 2024年银行考试-建设银行纪检监察条线考试近5年真题集锦(频考类试题)带答案
- 2023风电机组齿轮箱润滑油换油
- 大疆80分钟在线测评题
- 银行网点装修补充协议
- 【人教版】《劳动教育》五上 劳动项目三《制作扇子》 课件
- 护理人员危急值处理制度
评论
0/150
提交评论