《软件测试自动化和软件测试工具41803.docx》由会员分享,可在线阅读,更多相关《软件测试自动化和软件测试工具41803.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件测试自动化化与软件测试试工具目录一、软件自动化化测试基础1、1 软件自自动化测试的的产生随着计算机日益益广泛的应用用,计算机软软件越来越庞庞大和复杂,软软件测试的工工作量也越来来越大。 随着人们对软件件测试工作的的重视,大量量的软件测试试自动化工具具不断涌现出出来,自动化化测试能够满足足软件公司想想在最短的进进度内充分测测试其软件的的需求,一些些软件公司在在这方面的投投入,会对整整个开发工作作的质量、成成本和周期带带来非常明显显的效果。1、2软件自动动化测试的概概念软件测试自动化化就是通过测测试工具或其其他手段,按按照测试工程程师的预定计计划对软件产产品进行自动动的测试,它它是软件测试试的
2、一个重要要组成部分,能能够完成许多多手工无法完完成或者难以以实现的一些些测试工作。正正确、合理地地实施自动化化测试,能够够快速、全面面地对软件进进行测试,从从而提高软件件质量、节省省经费、缩短短产品发布周周期。自动化测试能够够替代大量手手工测试工作作,避免重复复测试,同时时,它还能够完成大大量手工无法法完成的测试试工作,如并并发用户测试试、大数据量量测试、长时时间运行可靠靠性测试等。1、3当软件开开发过程中具具有下列情况况时首先需要要考虑引入自自动化测试: 非常重要的测试试 涉及范围很广的的测试 对主要功能的测测试 容易自动化的测测试 很快有回报的测测试 运行最频繁的测测试 二、自动化测试试的
3、作用和优优势2、1概述使用测试工具的的目的就是要要提高软件测测试的效率和和软件测试的的质量。 通常,自动动化测试的好好处有: 产生可靠的系统统; 改进测试工作质质量; 减少测试工作量量并加快测试试进度。2、1、1产生生可靠的系统统测试工作的主要要目标一是找出缺陷陷,从而减少少应用中的错错误;另一个个是确保系统统的性能满足足用户的期望望。为了有效效地支持这些些目标,在开开发生存周期期的需求定义义阶段,当开开发和细化需需求时则应着着手测试工作作。使用自动动化测试可改改进所有的测测试领域,包包括测试程序序开发、测试试执行,测试试结果分析、故故障状况和报报告生成。它它还支持所有有的测试阶段段,其中包括
4、括单元测试、集集成测试、系系统测试、验验收测试与回回归测试等。通过使用自动化化测试可获得得的效果可归归纳如下。(1)需求定义义的改进(2)性能测试试的改进(3)负载/压压力测试的改改进(4)高质量测测量与测试最最佳化(5)改进与开开发组人员之间的关关系(6)改进系统统开发生存周周期2、1、2改进进测试工作质质量通过使用自动化化测试工具,可可增加测试的的深度与广度度,改进测试试工作质量。其其具体好处可可归纳如下。(1)改进多平平台兼容性测测试(2)改进软件件兼容性测试试(3)改进普通通测试执行(4)使测试集集中于高级测测试问题(5)执行手工工测试无法完完成的测试(6)重现软件件缺陷的能力力(7)
5、测试无需需用户干预2、1、3减减少测试工作作量并加快测测试进度善于使用测试工工具来进行测测试,其节省省时间并加快快测试工作进进度是毋庸置置疑的,这也也是自动化测测试的主要优优点。 表7-1列出了了采用手工和和自动化测试试方式完成各各测试步骤所所需工作量的的基准对比结结果。该测试试涉及17550个测试程程序和7000个错误。表表7-1中的数数字反映出通通过测试自动动化,测试工工作总量减少少75%。2、1、4友情情提醒软件自动化测试试是软件测试试技术的一个个重要的组成成部分,引入入自动化测试试可以提高软软件质量,节节省经费,缩缩短产品发布布周期。 然而,测试工具具本身的优势势并不意味着着使用测试工
6、工具就能成功功,关键还是是在于使用工工具的人。很很多刚拥有测测试工具的人人,经常过分分夸大工具的的功效,并投投入太高的期期望。但是,工具只是是提供了解决问题的的一种手段而而已。成功的的测试自动化化需有以下两两个关键的因因素。 一个被很好好理解的并且且稳定的应用用行为 一个专注的的、有着丰富富技能的测试试组,并且被被分配了足够够的时间和资资源三、自动化测试试工具3、1软件测试试工具分类 根据测试方法的的不同,自动动化测试工具具可以分为白白盒测试工具具、黑盒测试试工具和测试试管理工具。这这些工具主要要是Merccury IInteraactivee(MI)、Seguue、IBM/RRationna
7、l、Compuuware和和Empirrix等公司司的产品,而而MI公司的产产品占了主流流。这些工具具和软件开发发过程中相关关活动的关系如图1所示。图1 测试工具具与开发过程程关系图3、1、1白盒盒测试工具白盒测试工具一一般是针对代代码进行测试试,测试中发发现的缺陷可可以定位到代代码级。根据据测试工具的的工作原理的的不同,白盒盒测试工具又又可以分为静静态测试工具具和动态测试试工具。(1)静态测试试工具静态测试就是在在不执行程序序的情况下分分析软件的特特性。因此,静静态测试工具具一般是对代代码进行语法法扫描,找出出不符合编码码规范的地方方,根据某种种质量模型评评价代码的质质量,生成系系统的调用关
8、关系图等。静静态测试工具具直接对代码码进行分析,不不需要运行代代码,也不需需要对代码编编译链接、生生成可执行文文件。静态测试工具的的代表有Teeleloggic公司的的Logisscope软软件、PR公司的PRQQA软件。(2)动态测试试工具动态测试直接执执行被测程序序以提供测试试活动。因此此,动态测试试工具需要实实际运行被测测系统,并设设置断点,向向代码生成的的可执行文件件中插入一些些监测代码,掌掌握断点这一一时刻程序运运行数据。动态测试工具的的代表有Coompuwaare公司的的DevPaartnerr软件、Rattionall公司的Purrify软件件。常见的白盒测试试工具,如表表2、表
9、3所示。表2 Parrasoftt白盒测试工工具集工具名支持语言环境简介JtestJava代码分析和动态态类、组件测测试JcontraactJava实时性能监控以以及分析优化化C+ TesstC,C+代码分析和动态态测试CodeWizzardC,C+代码静态分析Insure+C,C+实时性能监控以以及分析优化化.test.Net代码分析和动态态测试表3 Commpuwarre白盒测试试工具集工具名支持语言环境简介BoundsCCheckeerC+,DellphiAPI和OLEE错误检查、指指针和泄露错错误检查、内内存错误检查查TrueTimmeC+,Javva,Visuaal Bassic代码
10、运行效率检检查、组件性性能的分析FailSaffeVisual Basicc自动错误处理和和恢复系统JcheckMS Visuual J+图形化的线程和和事件分析工工具TureCovverageeC+,Javva,Visuaal Bassic函数调用次数、所所占比率统计计以及稳定性性跟踪SmartChheckVisual Basicc函数调用次数、所所占比率统计计以及稳定性性跟踪CodeRevviewVisual Basicc自动源代码分析析工具3、1、2黑盒盒测试工具黑盒测试工具适适用于系统功功能测试和性性能测试,包包括功能测试试工具、负载载测试工具、性性能测试工具具等。黑盒测测试工具的一一
11、般原理是利利用脚本的录录制(Reccord)/ 回放(Plaaybackk),模拟用用户的操作,然然后将被测系系统的输出记记录下来同预预先给定的标标准结果比较较。黑盒测试试工具可以大大大减轻黑盒盒测试的工作作量,在迭代代开发的过程程中,能够很很好地进行回回归测试。黑黑盒测试工具具的代表有RRationnal公司的的TeamTTest、Compuuware公公司的QACCenterr。常见的黑黑盒功能测试试工具,如表表4所示。表4 常见黑黑盒功能测试试工具工具名公司名官方站点WinRunnnerMercuryy InteeractiiveAstra QQuickttestMercuryy Int
12、eeractiiveLoadRunnnerMercuryy InteeractiiveRobotIBM/RattionallTeamTesstIBM/RattionallQARunCompuwaareQALoadCompuwaareSilkTesstSegue SSoftwaareSilkPerrformeerSegue SSoftwaaree-TestEmpirixxe-LoadEmpirixxWASMSWebLoaddRadviewwhttp:/OpenSTAAOpenSTAAhttp:/3、1、3测试试管理工具测试管理工具用用于对测试进进行管理。一一般而言,测测试管理工具具负责对测试试计
13、划、测试试用例、测试试实施进行管管理、对产品品缺陷跟踪管管理、产品特特性管理等。测试管理工具的的代表有Raationaal公司的TeaamManaager、Compuuware公公司的TraackReccord、Mercuury Innteracctive公公司的TesstDireector等等软件。除此之外,还有有专用于性能能测试的工具具包括有:Raddview公公司的WebbLoad;Microssoft公司司的WebSStresss等工具;针针对数据库测测试的TesstBytees;对应用性性能进行优化化的EcoSScope等等工具。3、2自动化测测试工具一览览3、2、1 Ratioon
14、al RRobotRationaal Robbot可以对对在各种独立立开发环境(IDE)中开发的应用程序,创建、修改并执行功能测试、分布式功能测试、回归测试以及整合测试,记录并回放能识别业务应用程序对象的测试脚本,可以快速、有效地跟踪、报告与质量保证测试相关的所有信息,并将这些信息绘制成图表。Robot的回归测试与Purify结合使用完成可靠性测试,与PureCoverage结合使用完成代码覆盖计算,与Rational Quantify结合使用完成应用程序性能测试。Rationaal Robbot是一个个面向对象的的软件测试工工具,主要针针对Web、ERP和C/S进行功功能自动化测测试。可以降
15、降低在功能测测试上的人力力和物力的投投入成本和风风险,测试包包括可见的和和不可见的对对象。Rationaal Robbot可以开开发运用三种种测试脚本:用于功能测测试的GUII脚本、用于于性能测试的的VU以及VB脚本。Rationaal Robbot具有以下功能和和作用: 执行完整的功能能测试。记录录和回放遍历历应用程序的的脚本以及测测试在查证点点处的对象状状态。 执行完整的性能能测试。通过过Rationnal Roobot与Ratioonal TTest MManageer的协作可可以记录和回回放脚本,这这些脚本帮助助断定多客户户系统在不同同负载情况下下是否能够按按照用户定义义的标准运行行。
16、 在SQA Baasic、VB、VU多种环境境下创建并编编辑脚本。RRationnal Roobot编辑辑器提供有色色代码命令,并并在集成脚本本开发阶段提提供键盘帮助助。 测试微软IDEE环境下VB、HTML、Java、Oraclle Forrms、PowerrBuildder、Delphhi、开发的的应用程序以以及用户界面面上看不见的的那些对象。 脚本回放阶段收收集应用程序序诊断信息。Rational Robot与Rational Purify Quantify PureCoverage集成,可以通过诊断工具回放脚本,并在日志中查看结果。 同Rationnal其他组组件或产品集集成使用Roo
17、bot3、2、2 WinRuunnerMercuryy Inteeractiive公司的的WinRuunner是是一种企业级级的用于检验验应用程序是是否如期运行行的功能性测测试工具。通通过自动捕获获,检测和模模拟用户交互互的操作,WWinRunnner能够够辨认缺陷并并且确保那些些跨越多个应应用程序和数数据库的业务务流程在初次次发布就能避避免出现故障障,并且保持持长期可靠运运行。WinRunnner的特点点在于:与传统的手手工测试相比比,它能快速速、批量地完完成功能点测测试;能针对对相同测试脚脚本,执行相相同的动作,从从而消除人工工测试所带来来的理解上的的误差;此外外,它还能重重复执行相同同动
18、作,测试试工作中最枯枯燥的部分可可交由机器完完成;它支持持程序风格的的测试脚本,一一个高素质的的测试工程师师能借助它完完成流程极为为复杂的测试试,通过使用用通配符、宏宏、条件语句句、循环语句句等,还能较较好地完成测测试脚本的重重用;它针对对于大多数编编程语言和Winddows技术,提提供了较好的的集成、支持持环境,这对对基于Winndows平平台的应用程程序实施功能能测试而言带带来了极大的的便利。其主要功能:(1)轻松创建建测试(2)插入检查查点(3)检验数据据(4)增强测试试 (5)运行测试试(6)分析结果果(7)维护测试试3、2、3 LoadRRunnerrMercuryy Inteera
19、ctiive的LoadRRunnerr是一种适用用于企业级系系统、各种体体系架构的自自动负载测试试工具,通过过模拟实际用用户的操作行行为和实行实实时性能监测测,帮助更快快地查找和发发现问题,预预测系统行为为并优化系统统性能。通过过使用LoaadRunnner,企业业能最大限度度地缩短测试试时间,优化化性能和加速速应用系统的的发布周期。此此外,LoaadRunnner能支持持广泛的协议议和技术,为为一些特殊环环境提供特殊殊的解决方案案。业界认为为LoadRRunnerr的功能与QAALoad相相比不相上下下。LoadRunnner主要要功能如下: 轻松创建虚拟用用户。LoaadRunnner可以
20、记记录下客户端端的操作,并并以脚本的方方式保存,然然后建立多个个虚拟用户,在在一台或几台台主机上模拟拟上百或上千千虚拟用户同同时操作的情情景,同时记记录下各种数数据,并根据据测试结果分分析系统瓶颈颈,输出各种种定制压力测测试报告。 使用Virtuual Usser Geenerattor,能简便便地创立起系系统负载。该该引擎能生成成虚拟用户,以以虚拟用户的的方式模拟真真实用户的业业务操作行为为。利用虚拟拟用户,在不不同的操作系系统的机器上上同时运行上上万个测试,从从而反映出系系统真正的负负载能力。 创建真实的负载载。LoaddRunneer能建立持持续且循环的的负载,限定定负载又能管管理和驱动
21、负负载测试方案案,而且可以以利用日程计计划服务来定定义用户在什什么时候访问问系统以产生生负载,使测测试过程高度度自动化。 定位性能问题。LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,可以观察到应用系统的运行性能,实时显示交易性能数据和其他系统组件的实时性能。 分析结果以精确确定位问题所所在。测试完完毕后,LooadRunnner收集集、汇总所有有的测试数据据,提供高级级的分析和报报告工具,以以便迅速查找找到问题并追追溯原由。 此外,LoaddRunneer完全支持持基于Javva平台应用用服务器Ennterprrise JJava BBeans的的负载测试,支支持无限应用
22、用协议,支持持Mediaa Streeam应用,可可以记录和重重放任何流行行的多媒体数数据流格式来来诊断系统的的性能问题,查查找原由、分分析数据的质质量。3、2、4 Parassoft CC+ TeestParasofft C+ Testt是Parassoft公司司开发的专门门针对C/CC+的源程程序代码进行行自动化单元元测试的工具具,可以自动动测试任何CC/C+函函数、类,自自动生成测试试用例、测试试驱动函数或或桩函数,在在自动化的环环境下完成单单元测试,其其单元级的测测试覆盖率可可以达到1000%。Parassoft CC+ Teest能够自自动测试代码码构造(白盒盒测试)、测测试代码的功
23、功能性(黑盒盒测试)和维维护代码的完完整性(回归归测试)。3、2、5 QACennterQACenteer是黑盒测测试工具,它它可以帮助测测试人员创建建一个快速、可可重用的测试试过程。该测测试工具能够够自动帮助管管理测试过程程,快速分析析和调试程序序,能够针对对回归测试、强强度测试、单单元测试、并并发测试、集集成测试、移移植测试容量量和负载测试试建立测试用用例,自动执执行测试并产产生相应的测测试文档。QACenteer测试工具具主要包括以以下几个模块块:(1) QAARun。QARunn主要用于客客户端/服务器系统统中对客户端端的功能测试试。在功能测测试中,主要要包括对系统统的GUI进行测测试
24、以及对客客户端事务逻逻辑进行测试试。QARuun的测试实实现方法是通通过鼠标移动动、键盘点击击活动操作被被测系统,得得到相应的脚脚本,并对脚脚本进行编辑辑和调试。在在记录过程中中针对被测系系统中所包含含的功能点进进行基线的建建立,以就是是说在插入检检查点的同时时建立期望输输出值。一般般情况下,检检查点在QAARun提示示目标系统执执行一系列事事件之后被执执行,检查点点可以确定实实际结果与期期望结果是否否相同。(2) QAALoad。QALoaad是强负载载下应用的性性能测试工具具。它主要检检测系统负载载能力,支持持范围广、测测试内容多。该该工具能够帮帮助测试人员员、开发人员员和系统管理理人员对
25、于分分布式系统的的被测程序进进行有效的负负载测试。负负载测试能够够模拟大量的的用户并发活活动,从而发发现大用户负负载下对C/S系统的影影响。(3) Ecco Toools。Eco TTools是是可用性管理理工具,在性性能测试后完完成系统的可可用性分析。有有很多因素影影响系统的可可用性,用户户桌面、网络络、服务器、数数据库环境以以及各种子组组件都能链接接在一起,任任何一个组件件都可能造成成整个系统对对最终用户的的不可使用问问题。Ecoo Toolls工具包括括的各种Aggents可可以监控服务务器资源,特特别是Winndows NT、UNIX系统统、Oraccle、Sybasse、SQL SS
26、erverr系统和其他他的应用软件件系统。(4) Ecco Scoope。Eco Sccope是性性能优化工具具。它能解决决在大型企业业复杂环境下下分析与测量量应用系统性性能的难题。通通过提供应用用的性能级别别及其支撑架架构的信息,帮帮助部门就如如何提高应用用系统的性能能提出多方面面的决策方案案。Eco Scopee应用综合软软件探测技术术无干扰地监监控网络,能能够自动跟踪踪LAN/WWAN上的应应用流量,采采集详细的性性能指标,并并将这些信息息关联到交互互界面中,自自动识别低性性能的应用系系统、受影响响的服务器与与用户性能低低下的程度。用用户界面也能能以一种智能能的方式访问问大量的Ecco
27、Scoope数据。所所以能较快地地找到性能问问题的根源。(5) QAADirecctor。QADirrectorr是测试的组组织设计和创创建以及管理理工具。它提提供应用系统统管理框架,使使开发者和QQA工作组将将所有测试阶阶段组合在一一起,从而最最有效地使用用现有测试资资料、测试方方法和应用测测试工具。QQADireector使使用户能够自自动地组织测测试资料,建建立测试过程程,以便对多多种情况和条条件进行测试试。按正确的的次序执行多多个测试脚本本,记录、跟跟踪、分析和和记录测试结结果,并与多多个并发用户户共享测试信信息。3、2、6 WebLooadWebLoadd是RadViiew公司推推出
28、的一个性性能测试和分分析工具,它它让Web应用程程序开发者自自动执行压力力测试;WebLoaad通过模拟拟真实用户的的操作,生成成压力负载来来测试Webb Appllicatiion的性能能。用户创建建的是基于JJavaSccript的的测试脚本,称称为议程Ageenda,用用来模拟客户户的行为,通通过执行该脚脚本来衡量WWeb应用程程序在真实环环境下的性能能。如有需要要可以在做负负载测试的同同时,使用服服务器监控工工具对服务器器端的内容进进行记录,那那样使负载测测试更加全面面。WebLoadd的性能测试试流程: 计划一个负载(压压力)会话LLoad SSessioon,用WebLLoad C
29、Consolle创建 Load Teemplattes,将一一系列压力事事件定义到一一个压力会话话Load Sessionn里。 创建测试议程AAgendaa。用WebLLoad VVisuall AAT创创建测试议程程 Agenda。 创建压力模板LLoad TTemplaates。可可用WebLLoad WWizardd创建压力模模 板,创建一个预预期性能参数数的压力测试试模板或手工工创建压力模模板。 输出测试报告并并分析测试结结果:实时查查看测试结果果;创建集成成报告;用 WebLoadd Repoorter分分析测试结果果。3、2、7 Web AAppliccationn Strees
30、s (WWAS) TTool微软的WAS允允许以不同的的方式创建测测试脚本:可可以通过使用用浏览器走一一遍站点来录录制脚本,可可以从服务器器的日志文件件导入URLL,或者从一一个网络内容容文件夹选择择一个文件。当当然,也可以以手工地输入入URL来创建一一个新的测试试脚本。WAS可以使用用任何数量的的客户端运行行测试脚本,全全部都有一个个中央主客户户端来控制。在在每一个测试试开始前,主主客户机透明明地执行以下下任务: 与其他所有的客客户机通信。 把测试数据分发发给所有的客客户端。 在所有客户端同同时初始化测测试。 从所有的客户端端收集测试结结果和报告。3、2、8 TestDDirecttorTe
31、stDirrectorr是一套测试试管理软件。可可以使用它来来规范科学的的测试管理流流程,建立起起针对项目的的测试方案和和计划,消除除组织机构间间、地域间的的障碍,让测测试人员、开开发人员或其其他的IT人员通过过一个中央数数据仓库,在在不同地方就就能交互测试试信息。TeestDirrectorr将测试过程程流水化从测试需求求管理,到测测试计划,测测试日程安排排,测试执行行到出错后的的错误跟踪仅在一个基基于浏览器的的应用中便可可完成,而不不需要每个客客户端都安装装一套客户端端程序。 需求管理。程序序的需求驱动动整个测试过过程。TesstDireector的的Web界面简简化了这些需需求管理过程程
32、,以此可以以验证应用软软件的每一个个特性或功能能是否正常。通通过提供一个个比较直观的的机制将需求求和测试用例例、测试结果果和报告的错错误联系起来来,从而确保保能达到最高高的测试覆盖盖率。 测试计划的制定定。其Tesst Plaan Mannager指导测测试人员如何何将应用需求求转换为具体体的测试计划划,组织起明明确的任务和和责任,并在在测试计划期期间为测试小小组提供关键键要点和Weeb界面来协协调团队间的的沟通。 人工与自动测试试的结合。多多数的测试项项目需要人工工与自动测试试结合,启用用一个自动化化切换机制,能能让测试人员员决定哪些重重复的人工测测试可转变为为自动脚本以以提高测试速速度。T
33、esstDireector还还能简化将人人工测试切换换到自动测试试脚本的转换换,并可立即即启动测试设设计过程。 安排和执行测试试。一旦测试试计划建立后后,TesttDirecctor的测测试实验室管管理为测试日日程制订提供供一个基于Web的框架架。其Smartt Scheedulerr能根据测试试计划中创立立的指标对运运行着的测试试执行监控,能能自动分辨是是系统还是应应用错误,然然后将测试切切换到网络的的其他机器。使使用Grapphic DDesignner图表设设计,可以很很快地将测试试分类以满足足不同的测试试目的,如功功能性测试、负负载测试、完完整性测试等等。 缺陷管理。TeestDirr
34、ectorr的出错管理理直接贯穿作作用于测试的的全过程,从从最初发现问问题,到修改改错误,再到到验证修改结结果。利用出出错管理,测测试人员只需需进入一个UURL,就可可汇报和更新新错误,过滤滤整理错误列列表并作趋势势分析。 图形化和报表输输出。TesstDireector常常规化的图表表和报告帮助助对数据信息息进行分析,还还以标准的HHTML或Word形式式提供生成和和发送正式测测试报告。测测试分析数据据还可简便地地输入到标准准化的报告工工具,如Exxcel、ReporrtSmitth、CrysttalRepports和和其他类型的的第三方工具具。四、附录注意: 软件测试工具不不能代替软件件测试员,它它们只能是帮帮助软件测试试员更好的工工作。 使用测试工具并并不一定总是是正确的,手手工测试也必必不可少。 如果在测试中运运行10%的测试试需要花费990%的时间间,那么将这这10%的测试试自动化是值值得的。