下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试自动化与软件测试工具目录一、软件自动化测试基础1、1 软件自动化测试的产生随着计算机日益广泛的应用, 计算机软件越来越庞大和复杂, 软件测试的工作量也越来越大。 随着人们对软件测试工作的重视, 大量的软件测试自动化工具不断涌现出来, 自动化测试能 够满足软件公司想在最短的进度内充分测试其软件的需求,一些软件公司在这方面的投入, 会对整个开发工作的质量、成本和周期带来非常明显的效果。1、2 软件自动化测试的概念 软件测试自动化就是通过测试工具或其他手段, 按照测试工程师的预定计划对软件产品进行 自动的测试, 它是软件测试的一个重要组成部分, 能够完成许多手工无法完成或者难以实现 的一些测
2、试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而 提高软件质量、节省经费、缩短产品发布周期。自动化测试能够替代大量手工测试工作, 避免重复测试, 同时, 它还能够完成大量手工无法 完成的测试工作,如并发用户测试、大数据量测试、长时间运行可靠性测试等。1、3当软件开发过程中具有下列情况时首先需要考虑引入自动化测试:非常重要的测试涉及范围很广的测试 对主要功能的测试容易自动化的测试 很快有回报的测试运行最频繁的测试二、自动化测试的作用和优势2、1 概述使用测试工具的目的就是要提高软件测试的效率和软件测试的质量。 通常,自动化测试的 好处有:产生可靠的系统; 改进测试工作质量
3、;减少测试工作量并加快测试进度。2、1、1产生可靠的系统测试工作的主要目标一是找出缺陷,从而减少应用中的错误; 另一个是确保系统的性能满足用户的期望。为了有效地支持这些目标,在开发生存周期的需求定义阶段,当开发和细化需求时则应着手测试工作。使用自动化测试可改进所有的测试领域,包括测试程序开发、测试执行,测试结果分析、故障状况和报告生成。 它还支持所有的测试阶段,其中包括单元测试、集成测试、系统测试、验收测试与回归测试等。通过使用自动化测试可获得的效果可归纳如下。(1 )需求定义的改进(2 )性能测试的改进(3)负载/压力测试的改进(4)高质量测量与测试最佳化(5 )改进与开发组人员之间的关系(
4、6 )改进系统开发生存周期2、1、2改进测试工作质量通过使用自动化测试工具,可增加测试的深度与广度,改进测试工作质量。 其具体好处可归纳如下。(1 )改进多平台兼容性测试(2)改进软件兼容性测试(3)改进普通测试执行(4)使测试集中于高级测试问题(5 )执行手工测试无法完成的测试(6)重现软件缺陷的能力(7)测试无需用户干预2、1、3.减少测试工作量并加快测试进度善于使用测试工具来进行测试,其节省时间并加快测试工作进度是毋庸置疑的,这也是自动化测试的主要优点。表7-1列出了采用手工和自动化测试方式完成各测试步骤所需工作量的基准对比结果。该测试涉及1750个测试程序和700个错误。表7-1中的数
5、字反映出通过测试自动化,测试工作 总量减少75%。表7-1手工测试与自动化测试的情况比较测试步骤手工测试(小时)自动测试(小时)改进百分率(使用工具)测试计划制定324025%测试程序开发26211755%测试执仃4662395%测试结果分析1175850%错误状态/纠正监视1172380%扌报告生成961683%总持续时间109027775%2、1、4友情提醒软件自动化测试是软件测试技术的一个重要的组成部分,引入自动化测试可以提高软件质 量,节省经费,缩短产品发布周期。然而,测试工具本身的优势并不意味着使用测试工具就能成功,关键还是在于使用工具的人。很多刚拥有测试工具的人,经常过分夸大工具的
6、功效,并投入太高的期望。但是,工具只是提供了解决问题的一种手段而已。成功的测试自动化需有以下两个关键的因素。 一个被很好理解的并且稳定的应用行为 一个专注的、有着丰富技能的测试组,并且被分配了足够的时间和资源三、自动化测试工具3、1软件测试工具分类根据测试方法的不同,自动化测试工具可以分为白盒测试工具、黑盒测试工具和测试管理工具。这些工具主要是 Mercury In teractive ( MI )、Segue IBM/Ratio nal、Compuware 和 Empirix 等公司的产品,而 MI公司的产品占了主流。这些工具和软件开发过程中相关活动的关系如 图1所示。图1测试工具与开发过程
7、关系图3、1、1白盒测试工具白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。根据测试工具的工作原理的不同,白盒测试工具又可以分为静态测试工具和动态测试工具。(1) 静态测试工具静态测试就是在不执行程序的情况下分析软件的特性。因此,静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接、生成可执行文件。静态测试工具的代表有 Telelogic公司的Logiscope软件、PR公司的PRQA软件。(2) 动态测试工具动态测试直接执行被测程序以
8、提供测试活动。因此,动态测试工具需要实际运行被测系统, 并设置断点,向代码生成的可执行文件中插入一些监测代码,掌握断点这一时刻程序运行数据。动态测试工具的代表有 Compuware公司的DevPartner软件、Rational公司的Purify软件。常见的白盒测试工具,如表2、表3所示。表2 Parasoft白盒测试工具集工具名支持语言环境简介JtestJava代码分析和动态类、组件测试Jeon tractJava实时性能监控以及分析优化C+ TestC,C+代码分析和动态测试CodeWizardC,C+代码静态分析n sure+C,C+实时性能监控以及分析优化.test.Net代码分析和动
9、态测试表3 Compuware白盒测试工具集工具名支持语言环境简介BoundsCheekerC+, DelphiAPI和OLE错误检杳、指针和泄露错误检杳、内 存错误检查TrueTimeC+ , Java, VisualBasie代码运行效率检杳、组件性能的分析FailSafeVisual Basie自动错误处理和恢复系统JeheekMS Visual J+图形化的线程和事件分析工具TureCoverageC+ , Java, VisualBasie函数调用次数、所占比率统计以及稳定性跟踪SmartCheekVisual Basie函数调用次数、所占比率统计以及稳定性跟踪CodeReviewV
10、isual Basie自动源代码分析工具3、1、2黑盒测试工具黑盒测试工具适用于系统功能测试和性能测试,包括功能测试工具、负载测试工具、性能测试工具等。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有 Rational公司的TeamTest、Compuware公司的 QACenter。常见的黑盒功能测 试工具,如表4所示。表4常见黑盒功能测试工具工具名公司名官方站点WinRunnerMe
11、reury In teraetiveAstra QuiektestMereury In teraetiveLoadR unnerMereury In teraetiveRobotIBM/Ratio nal on al/TeamTestIBM/Ratio nal on al/QAR unCompuwareQALoadCompuwareSilkTestSegue SoftwareSilkPerformerSegue Softwaree-TestEmpirixe-LoadEmpirixWASMSWebLoadRadviewOpenSTAOpenSTA3、1、3测试管理工具测试管理工具用于对测试进行管
12、理。一般而言,测试管理工具负责对测试计划、测试用例、 测试实施进行管理、对产品缺陷跟踪管理、产品特性管理等。测试管理工具的代表有Rational公司的 TeamManager、Compuware 公司的 TrackRecord、Mercury In teractive 公司的 TestDirector 等软件。除此之外,还有专用于性能测试的工具包括有:Radview公司的 WebLoad ; Microsoft公司的WebStress等工具;针对数据库测试的 TestBytes ;对应用性能进行优化的 EcoScope等工 具。3、2自动化测试工具一览3、2、1 Rational RobotR
13、ational Robot可以对在各种独立开发环境(IDE)中开发的应用程序,创建、修改并执行功能测试、分布式功能测试、回归测试以及整合测试,记录并回放能识别业务应用程序对象的 测试脚本,可以快速、有效地跟踪、报告与质量保证测试相关的所有信息,并将这些信息绘制成图表。Robot的回归测试与Purify结合使用完成可靠性测试,与PureCoverage结合使用 完成代码覆盖计算,与 Rati on al Qua ntify结合使用完成应用程序性能测试。Rational Robot是一个面向对象的软件测试工具,主要针对Web、ERP和C/S进行功能自动化测试。可以降低在功能测试上的人力和物力的投入
14、成本和风险,测试包括可见的和不可见的对象。Rational Robot可以开发运用三种测试脚本:用于功能测试的GUI脚本、用于性能测试的VU以及VB脚本。Rational Robot具有以下功能和作用: 执行完整的功能测试。记录和回放遍历应用程序的脚本以及测试在查证点处的对象状态。 执行完整的性能测试。通过Rational Robot与Rational Test Manager的协作可以记录和回放脚本,这些脚本帮助断定多客户系统在不同负载情况下是否能够按照用户定义的标准 运行。 在SQA Basic、VB、VU多种环境下创建并编辑脚本。Rational Robot编辑器提供有色代码命令,并在集
15、成脚本开发阶段提供键盘帮助。 测试微软 IDE 环境下 VB、HTML、Java、Oracle Forms、PowerBuilder、Delphi、开发的 应用程序以及用户界面上看不见的那些对象。 脚本回放阶段收集应用程序诊断信息。Rational Robot与Rational Purify QuantifyPureCoverage集成,可以通过诊断工具回放脚本,并在日志中查看结果。 同Rational其他组件或产品集成使用Robot3、2、2 WinRunnerMercury In teractive公司的Win Ru nner是一种企业级的用于检验应用程序是否如期运行的功 能性测试工具。通
16、过自动捕获,检测和模拟用户交互的操作,WinRunner能够辨认缺陷并且确保那些跨越多个应用程序和数据库的业务流程在初次发布就能避免出现故障,并且保持长期可靠运行。WinRunner的特点在于:与传统的手工测试相比,它能快速、批量地完成功能点测试;能针 对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差;此外, 它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成;它支持程序风格的测试脚本,一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条 件语句、循环语句等, 还能较好地完成测试脚本的重用; 它针对于大多数编程语言和 Windows 技术,
17、提供了较好的集成、支持环境,这对基于 Windows 平台的应用程序实施功能测试而 言带来了极大的便利。其主要功能:(1) 轻松创建测试(2) 插入检查点(3) 检验数据(4) 增强测试(5) 运行测试(6) 分析结果(7) 维护测试3、2、 3 LoadRunnerMercury Interactive 的 LoadRunner 是一种适用于企业级系统、 各种体系架构的自动负载测试 工具, 通过模拟实际用户的操作行为和实行实时性能监测, 帮助更快地查找和发现问题, 预 测系统行为并优化系统性能。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。此
18、外, LoadRunner 能支持广泛的协议和技术,为一些 特殊环境提供特殊的解决方案。业界认为 LoadRunner 的功能与 QALoad 相比不相上下。 LoadRunner 主要功能如下: 轻松创建虚拟用户。 LoadRunner 可以记录下客户端的操作, 并以脚本的方式保存, 然后 建立多个虚拟用户,在一台或几台主机上模拟上百或上千虚拟用户同时操作的情景,同 时记录下各种数据,并根据测试结果分析系统瓶颈,输出各种定制压力测试报告。 使用 Virtual User Generator ,能简便地创立起系统负载。该引擎能生成虚拟用户,以虚 拟用户的方式模拟真实用户的业务操作行为。利用虚拟
19、用户,在不同的操作系统的机器 上同时运行上万个测试,从而反映出系统真正的负载能力。 创建真实的负载。 LoadRunner 能建立持续且循环的负载, 限定负载又能管理和驱动负载 测试方案,而且可以利用日程计划服务来定义用户在什么时候访问系统以产生负载,使 测试过程高度自动化。 定位性能问题。 LoadRunner 内含集成的实时监测器, 在负载测试过程的任何时候, 可以 观察到应用系统的运行性能,实时显示交易性能数据和其他系统组件的实时性能。 分析结果以精确定位问题所在。测试完毕后, LoadRunner 收集、汇总所有的测试数据, 提供高级的分析和报告工具,以便迅速查找到问题并追溯原由。 此
20、外,LoadR unner完全支持基于 Java平台应用服务器 En terprise Java Bea ns的负载测试, 支持无限应用协议 WAP和I-mode,支持Media Stream应用,可以记录和重放任何流行 的多媒体数据流格式来诊断系统的性能问题,查找原由、分析数据的质量。3、2、 4 Parasoft C+ TestParasoft C+ Test是Parasoft公司开发的专门针对 C/C+的源程序代码进行自动化单元测试 的工具,可以自动测试任何C/C+函数、类,自动生成测试用例、测试驱动函数或桩函数,在自动化的环境下完成单元测试,其单元级的测试覆盖率可以达到100%。Par
21、asoft C+ Test能够自动测试代码构造(白盒测试) 、测试代码的功能性(黑盒测试)和维护代码的完整性 (回归测试)。3、 2、 5 QACenterQACenter 是黑盒测试工具,它可以帮助测试人员创建一个快速、可重用的测试过程。该测 试工具能够自动帮助管理测试过程,快速分析和调试程序,能够针对回归测试、强度测试、 单元测试、 并发测试、集成测试、移植测试容量和负载测试建立测试用例,自动执行测试并 产生相应的测试文档。QACenter 测试工具主要包括以下几个模块:(1) QARun 。 QARun 主要用于客户端 /服务器系统中对客户端的功能测试。在功能测试中, 主要包括对系统的
22、GUI 进行测试以及对客户端事务逻辑进行测试。 QARun 的测试实现方法 是通过鼠标移动、 键盘点击活动操作被测系统, 得到相应的脚本, 并对脚本进行编辑和调试。 在记录过程中针对被测系统中所包含的功能点进行基线的建立, 以就是说在插入检查点的同 时建立期望输出值。一般情况下,检查点在 QARun 提示目标系统执行一系列事件之后被执 行,检查点可以确定实际结果与期望结果是否相同。 QALoad。QALoad是强负载下应用的性能测试工具。它主要检测系统负载能力,支持 范围广、 测试内容多。 该工具能够帮助测试人员、 开发人员和系统管理人员对于分布式系统 的被测程序进行有效的负载测试。 负载测试
23、能够模拟大量的用户并发活动, 从而发现大用户 负载下对 C/S 系统的影响。(3) Eco Tools。 Eco Tools 是可用性管理工具,在性能测试后完成系统的可用性分析。有很多因素影响系统的可用性,用户桌面、网络、服务器、数据库环境以及各种子组件都能链接 在一起,任何一个组件都可能造成整个系统对最终用户的不可使用问题。Eco Tools 工具包括的各种 Agents 可以监控服务器资源,特别是 Windows NT 、UNIX 系统、 Oracle、Sybase、 SQL Server 系统和其他的应用软件系统。(4) Eco Scope。 Eco Scope 是性能优化工具。 它能解
24、决在大型企业复杂环境下分析与测量应用系统性能的难题。 通过提供应用的性能级别及其支撑架构的信息, 帮助部门就如何提高应 用系统的性能提出多方面的决策方案。Eco Scope应用综合软件探测技术无干扰地监控网络,能够自动跟踪 LAN/W AN 上的应用流量,采集详细的性能指标,并将这些信息关联到交互 界面中, 自动识别低性能的应用系统、 受影响的服务器与用户性能低下的程度。 用户界面也 能以一种智能的方式访问大量的Eco Scope数据。所以能较快地找到性能问题的根源。(5) QADirector 。 QADirector 是测试的组织设计和创建以及管理工具。 它提供应用系统管理 框架,使开发者
25、和 QA 工作组将所有测试阶段组合在一起, 从而最有效地使用现有测试资料、 测试方法和应用测试工具。 QADirector 使用户能够自动地组织测试资料, 建立测试过程, 以 便对多种情况和条件进行测试。 按正确的次序执行多个测试脚本, 记录、跟踪、分析和记录 测试结果,并与多个并发用户共享测试信息。3、2、 6 WebLoadWebLoad是RadView公司推出的一个性能测试和分析工具,它让Web应用程序开发者自动执行压力测试; WebLoad 通过模拟真实用户的操作,生成压力负载来测试 Web Application 的性能。用户创建的是基于 JavaScript的测试脚本,称为议程Ag
26、enda,用来模拟客户的行为, 通过执行该脚本来衡量 Web 应用程序在真实环境下的性能。如有需要可以在做负载测试的 同时,使用服务器监控工具对服务器端的内容进行记录,那样使负载测试更加全面。WebLoad 的性能测试流程:? 计划一个负载(压力)会话 Load Session,用 WebLoad Console创建? Load Templates,将一系列压力事件定义到一个压力会话Load? Session 里。? 创建测试议程 Agenda。用 WebLoad Visual AAT创建测试议程? Agenda。? 创建压力模板 Load Templates。可用 WebLoad Wizar
27、d创建压力模? 板,创建一个预期性能参数的压力测试模板或手工创建压力模板。? 输出测试报告并分析测试结果:实时查看测试结果;创建集成报告;用? WebLoad Reporter 分析测试结果。3、2、 7 Web Application Stress (WAS) Tool微软的 WAS 允许以不同的方式创建测试脚本: 可以通过使用浏览器走一遍站点来录制脚本, 可以从服务器的日志文件导入 URL ,或者从一个网络内容文件夹选择一个文件。当然,也 可以手工地输入 URL 来创建一个新的测试脚本。WAS 可以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每 一个测试开始前,主客
28、户机透明地执行以下任务:? 与其他所有的客户机通信。? 把测试数据分发给所有的客户端。? 在所有客户端同时初始化测试。? 从所有的客户端收集测试结果和报告。3、2、 8 TestDirectorTestDirector 是一套测试管理软件。可以使用它来规范科学的测试管理流程,建立起针对项 目的测试方案和计划,消除组织机构间、地域间的障碍,让测试人员、开发人员或其他的IT 人员通过一个中央数据仓库,在不同地方就能交互测试信息。 TestDirector 将测试过程流 水化一一从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪一一仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户端程序。 需求管理。程序的需求驱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南水利水电职业技术学院单招职业倾向性考试必刷测试卷附答案
- 2026年连云港师范高等专科学校单招职业技能测试题库新版
- 2026年吉林省辽源市单招职业倾向性测试题库及答案1套
- 2026年阿拉善职业技术学院单招职业技能测试必刷测试卷新版
- 2026年江苏城乡建设职业学院单招职业倾向性测试必刷测试卷新版
- 2026年临夏现代职业学院单招职业技能考试题库附答案
- 2026年桂林生命与健康职业技术学院单招职业适应性测试题库及答案1套
- 2026年太原幼儿师范高等专科学校单招职业技能测试题库附答案
- 2026年山东艺术设计职业学院单招职业倾向性考试必刷测试卷新版
- 2026年江西应用工程职业学院单招职业倾向性测试题库附答案
- 工业视觉方案设计
- 浙江省园林绿化工程施工质量验收规范
- 2023年木材收购合同(精选4篇)
- 2023编译原理试卷B
- Q-CR 9521-2018 高速铁路信号工程细部设计和工艺质量标准
- GB/T 6892-2000工业用铝及铝合金热挤压型材
- GB/T 6462-2005金属和氧化物覆盖层厚度测量显微镜法
- GB/T 25995-2010精细陶瓷密度和显气孔率试验方法
- 电子科技大学实验室安全考试题库(全部题库)其他各大高校均可使用
- (完整)污水处理厂施工组织设计
- 医疗器械培训计划年
评论
0/150
提交评论