自动化测试

时间:2024.5.8

自动化测试

目录

目录 .............................................................................. 1

一、软件自动化测试基础 ............................................................. 2

1.1 软件自动化测试的产生 ........................................................ 2

1.2 软件自动化测试的概念 ........................................................ 2

1.3 软件开发过程 ................................................................ 2

二、自动化测试的作用和优势 ......................................................... 2

2.1 概述 ........................................................................ 2

2.1.1 产生可靠的系统 ........................................................... 2

2.1.2 改进测试工作质量 ......................................................... 3

2.1.3 减少测试工作量 ........................................................... 3

2.1.4 友情提醒 ................................................................. 3

三、自动化测试工具 ................................................................. 4

3.1 软件测试工具分类 ............................................................ 4

3.1.1 白盒测试工具 ............................................................. 4

3.1.2 黑盒测试工具 ............................................................ 5

3.1.3 测试管理工具 ............................................................ 5

3.2 自动化测试工具一览 ........................................................... 5

3.2.1 Rational Robot .......................................................... 5

3.2.2 WinRunner ............................................................... 6

3.2.3 LoadRunner .............................................................. 6

3.2.4 Parasoft C++ Test ....................................................... 7

3.2.5 QACenter ................................................................ 7

3.2.6 WebLoad ................................................................. 8

3.2.7 Web Application Stress (WAS) Tool ....................................... 8

3.2.8 TestDirector ............................................................ 9

四、附录 .......................................................................... 9

自动化测试

一、软件自动化测试基础

1.1 软件自动化测试的产生

随着计算机日益广泛的应用,计算机软件越来越庞大和复杂,软件测试的工作量也越来越大。 随着人们对软件测试工作的重视,大量的软件测试自动化工具不断涌现出来,自动化测试能够满足软件公司想在最短的进度内充分测试其软件的需求,一些软件公司在这方面的投入,会对整个开发工作的质量、成本和周期带来非常明显的效果。

1.2 软件自动化测试的概念

软件测试自动化就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量、节省经费、缩短产品发布周期。 自动化测试能够替代大量手工测试工作,避免重复测试,同时,它还能够完成大量手工无法完成的测试工作,如并发用户测试、大数据量测试、长时间运行可靠性测试等。

1.3 软件开发过程

具有下列情况时首先需要考虑引入自动化测试:

?

?

?

?

?

? 非常重要的测试 涉及范围很广的测试 对主要功能的测试 容易自动化的测试 很快有回报的测试 运行最频繁的测试

二、自动化测试的作用和优势

2.1 概述

使用测试工具的目的就是要提高软件测试的效率和软件测试的质量。 通常,自动化测试的好处有:

? 产生可靠的系统;

? 改进测试工作质量;

? 减少测试工作量并加快测试进度。

2.1.1 产生可靠的系统

测试工作的主要目标一是找出缺陷,从而减少应用中的错误;另一个是确保系统的性能满足用户的期望。为了有效地支持这些目标,在开发生存周期的需求定义阶段,当开发和细化需求时则应着手测试工作。使用自动化测试可改进所有的测试领域,包括测试程序开发、测试执行,测试结

自动化测试

果分析、故障状况和报告生成。它还支持所有的测试阶段,其中包括单元测试、集成测试、系统测试、验收测试与回归测试等。 通过使用自动化测试可获得的效果可归纳如下。

(1)

(2)

(3)

(4)

(5)

(6) 需求定义的改进 性能测试的改进 负载/压力测试的改进 高质量测量与测试最佳化 改进与开发组人员之间的关系 改进系统开发生存周期

2.1.2 改进测试工作质量

通过使用自动化测试工具,可增加测试的深度与广度,改进测试工作质量。其具体好处可归纳如下。

(1)

(2)

(3)

(4)

(5)

(6)

(7) 改进多平台兼容性测试 改进软件兼容性测试 改进普通测试执行 使测试集中于高级测试问题 执行手工测试无法完成的测试 重现软件缺陷的能力 测试无需用户干预

2.1.3 减少测试工作量

加快测试进度 善于使用测试工具来进行测试,其节省时间并加快测试工作进度是毋庸置疑的,这也是自动化测试的主要优点。 表7-1列出了采用手工和自动化测试方式完成各测试步骤所需工作量的基准对比结果。该测试涉及1750个测试程序和700个错误。表7-1中的数字反映出通过测试自动化,测试工作总量减少75%。

2.1.4 友情提醒

软件自动化测试是软件测试技术的一个重要的组成部分,引入自动化测试可以提高软件质量,节省经费,缩短产品发布周期。 然而,测试工具本身的优势并不意味着使用测试工具就能成功,关键还是在于使用工具的人。很多刚拥有测试工具的人,经常过分夸大工具的功效,并投入太高的期望。 但是,工具只是提供了解决问题的一种手段而已。成功的测试自动化需有以下两个关键的因素。 ① 一个被很好理解的并且稳定的应用行为 ② 一个专注的、有着丰富技能的测试组,并且被分配了足够的时间和资源 。

自动化测试

三、自动化测试工具

3.1 软件测试工具分类

根据测试方法的不同,自动化测试工具可以分为白盒测试工具、黑盒测试工具和测试管理工具。这些工具主要是Mercury Interactive(MI)、Segue、IBM/Rational、Compuware和Empirix等公司的产品,而MI公司的产品占了主流。

3.1.1 白盒测试工具

白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。根据测试工具的工作原理的不同,白盒测试工具又可以分为静态测试工具和动态测试工具。

(1)静态测试工具 静态测试就是在不执行程序的情况下分析软件的特性。因此,静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接、生成可执行文件。 静态测试工具的代表有Telelogic公司的Logiscope软件、PR公司的PRQA软件。

(2)动态测试工具 动态测试直接执行被测程序以提供测试活动。因此,动态测试工具需要实际运行被测系统,并设置断点,向代码生成的可执行文件中插入一些监测代码,掌握断点这一时刻程序运行数据。 动态测试工具的代表有Compuware公司的DevPartner软件、Rational公司的Purify软件。 常见的白盒测试工具,如表2、表3所示。

表2 Parasoft白盒测试工具集

自动化测试

表3 Compuware

自动化测试

白盒测试工具集

自动化测试

自动化测试

3.1.2 黑盒测试工具

黑盒测试工具适用于系统功能测试和性能测试,包括功能测试工具、负载测试工具、性能测试工具等。黑盒测试工具的一般原理是利用脚本的录制(Record)/ 回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有Rational公司的TeamTest、Compuware公司的QACenter。常见的黑盒功能测试工具,如表4所示。

表4 常见黑盒功能测试工具

自动化测试

3.1.3 测试管理工具

测试管理工具用于对测试进行管理。一般而言,测试管理工具负责对测试计划、测试用例、测试实施进行管理、对产品缺陷跟踪管理、产品特性管理等。 测试管理工具的代表有Rational公司的TeamManager、Compuware公司的TrackRecord、Mercury Interactive公司的TestDirector等软件。 除此之外,还有专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。

3.2 自动化测试工具一览

3.2.1 Rational Robot

Rational Robot可以对在各种独立开发环境(IDE)中开发的应用程序,创建、修改并执行功能测试、分布式功能测试、回归测试以及整合测试,记录并回放能识别业务应用程序对象的测试脚本,可以快速、有效地跟踪、报告与质量保证测试相关的所有信息,并将这些信息绘 制成图表。Robot的回归测试与Purify结合使用完成可靠性测试,与PureCoverage结合使用完成代码覆盖

自动化测试

计算,与Rational Quantify结合使用完成应用程序性能测试。 Rational Robot是一个面向对象的软件测试工具,主要针对Web、ERP和C/S进行功能自动化测试。可以降低在功能测试上的人力和物力的投入成本和风险,测试包括可见的和不可见的对象。 Rational Robot可以开发运用三种测试脚本:用于功能测试的GUI脚本、用于性能测试的VU以及VB脚本。

Rational Robot具有以下功能和作用:

1行完整的功能测试。记录和回放遍历应用程序的脚本以及测试在查证点处的对象状 态。 ○

② 执行完整的性能测试。通过Rational Robot与Rational Test Manager的协作可以记录和回 ○

放脚本,这些脚本帮助断定多客户系统在不同负载情况下是否能够按照用户定义的标准运行。 ③ 在SQA Basic、VB、VU多种环境下创建并编辑脚本。Rational Robot编辑器提供有色代 码命○

令,并在集成脚本开发阶段提供键盘帮助。

④ 测试微软IDE环境下VB、HTML、Java、Oracle Forms、PowerBuilder、Delphi、开发的 应用○

程序以及用户界面上看不见的那些对象。

⑤ 脚本回放阶段收集应用程序诊断信息。Rational Robot与Rational Purify Quantify ○

PureCoverage集成,可以通过诊断工具回放脚本,并在日志中查看结果。

⑥ 同Rational其他组件或产品集成使用Robot ○

3.2.2 WinRunner

Mercury Interactive公司的WinRunner是一种企业级的用于检验应用程序是否如期运行的功能性测试工具。通过自动捕获,检测和模拟用户交互的操作,WinRunner能够辨认缺陷并且确保那

些跨越多个应用程序和数据库的业务流程在初次发布就能避免出现故障,并且保持长期可靠运行。 WinRunner的特点在于:与传统的手工测试相比,它能快速、批量地完成功能点测试;能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差;此外,它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成;它支持程序风格的测试脚本,一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条件语句、循环语句等,还能较好地完成测试脚本的重用;它针对于大多数编程语言和Windows技术,提供了较好的集成、支持环境,这对基于Windows平台的应用程序实施功能测试而言带来了极大的便利。 其主要功能:

(1)轻松创建测试 (2)插入检查点 (3)检验数据 (4)增强测试 (5)运行测试 (6)分析结果 (7)维护测试

3.2.3 LoadRunner

Mercury Interactive的LoadRunner是一种适用于企业级系统、各种体系架构的自动负载测试工具,通过模拟实际用户的操作行为和实行实时性能监测,帮助更快地查找和发现问题,预测系统行为并优化系统性能。通过使用LoadRunner,企业能最大限度地缩短测试时间,优 化性能和加速应用系统的发布周期。此外,LoadRunner能支持广泛的协议和技术,为一些特殊环境提供特殊的解决方案。业界认为LoadRunner的功能与QALoad相比不相上下。

自动化测试

LoadRunner主要功能如下:

① 轻松创建虚拟用户。LoadRunner可以记录下客户端的操作,并以脚本的方式保存,然后 建立多个虚拟用户,在一台或几台主机上模拟上百或上千虚拟用户同时操作的情景,同时记录下各种数据,并根据测试结果分析系统瓶颈,输出各种定制压力测试报告。

② 使用Virtual User Generator,能简便地创立起系统负载。该引擎能生成虚拟用户,以虚 拟用户的方式模拟真实用户的业务操作行为。利用虚拟用户,在不同的操作系统的机器上同时运行上万个测试,从而反映出系统真正的负载能力。

③ 创建真实的负载。LoadRunner能建立持续且循环的负载,限定负载又能管理和驱动负载 测试方案,而且可以利用日程计划服务来定义用户在什么时候访问系统以产生负载,使测试过程高度自动化。

④ 定位性能问题。LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,可以 观察到应用系统的运行性能,实时显示交易性能数据和其他系统组件的实时性能。

⑤ 分析结果以精确定位问题所在。测试完毕后,LoadRunner收集、汇总所有的测试数据, 提供高级的分析和报告工具,以便迅速查找到问题并追溯原由。

⑥ 此外,LoadRunner完全支持基于Java平台应用服务器Enterprise Java Beans的负载测试, 支持无限应用协议WAP和I-mode,支持Media Stream应用,可以记录和重放任何流行的多媒体数据流格式来诊断系统的性能问题,查找原由、分析数据的质量。

3.2.4 Parasoft C++ Test

Parasoft C++ Test是Parasoft公司开发的专门针对C/C++的源程序代码进行自动化单元测试的工具,可以自动测试任何C/C++函数、类,自动生成测试用例、测试驱动函数或桩函数,在自动化的环境下完成单元测试,其单元级的测试覆盖率可以达到100%。Parasoft C++ Test能够自动

测试代码构造(白盒测试)、测试代码的功能性(黑盒测试)和维护代码的完整性(回归测试)。

3.2.5 QACenter

QACenter是黑盒测试工具,它可以帮助测试人员创建一个快速、可重用的测试过程。该测试工具能够自动帮助管理测试过程,快速分析和调试程序,能够针对回归测试、强度测试、单元测试、并发测试、集成测试、移植测试容量和负载测试建立测试用例,自动执行测试并产生相应的测试文档。

QACenter测试工具主要包括以下几个模块:

1) QARun。QARun主要用于客户端/服务器系统中对客户端的功能测试。在功能测试中,主要

包括对系统的GUI进行测试以及对客户端事务逻辑进行测试。QARun的测试实现方法是通

过鼠标移动、键盘点击活动操作被测系统,得到相应的脚本,并对脚本进行编辑和调试。

在记录过程中针对被测系统中所包含的功能点进行基线的建立,以就是说在插入检查点的

自动化测试

同时建立期望输出值。一般情况下,检查点在QARun提示目标系统执行一系列事件之后被执行,检查点可以确定实际结果与期望结果是否相同。

QALoad。QALoad是强负载下应用的性能测试工具。它主要检测系统负载能力,支持范围广、测试内容多。该工具能够帮助测试人员、开发人员和系统管理人员对于分布式系统的被测程序进行有效的负载测试。负载测试能够模拟大量的用户并发活动,从而发现大用户负载下对C/S系统的影响。

Eco Tools。Eco Tools是可用性管理工具,在性能测试后完成系统的可用性分析。有很多因素影响系统的可用性,用户桌面、网络、服务器、数据库环境以及各种子组件都能链接在一起,任何一个组件都可能造成整个系统对最终用户的不可使用问题。Eco Tools工具包 括的各种Agents可以监控服务器资源,特别是Windows NT、UNIX系统、Oracle、Sybase、SQL Server系统和其他的应用软件系统。

Eco Scope。Eco Scope是性能优化工具。它能解决在大型企业复杂环境下分析与测量应用系统性能的难题。通过提供应用的性能级别及其支撑架构的信息,帮助部门就如何提高应用系统的性能提出多方面的决策方案。Eco Scope应用综合软件探测技术无干扰地监控网络,能够自动跟踪LAN/WAN上的应用流量,采集详细的性能指标,并将这些信息关联到交互界面中,自动识别低性能的应用系统、受影响的服务器与用户性能低下的程度。用户界

面也能以一种智能的方式访问大量的Eco Scope数据。所以能较快地找到性能问题的根源。 QADirector。QADirector是测试的组织设计和创建以及管理工具。它提供应用系统管理框架,使开发者和QA工作组将所有测试阶段组合在一起,从而最有效地使用现有测试资料、测试方法和应用测试工具。QADirector使用户能够自动地组织测试资料,建立测试过程,以便对多种情况和条件进行测试。按正确的次序执行多个测试脚本,记录、跟踪、分析和记录测试结果,并与多个并发用户共享测试信息。

3.2.6 WebLoad

WebLoad是RadView公司推出的一个性能测试和分析工具,它让Web应用程序开发者自动执行压力测试;WebLoad通过模拟真实用户的操作,生成压力负载来测试Web Application的性能。用户创建的是基于JavaScript的测试脚本,称为议程Agenda,用来模拟客户的行为,通过执行该脚本来衡量Web应用程序在真实环境下的性能。如有需要可以在做负载测试的同时,使用服务器监控工具对服务器端的内容进行记录,那样使负载测试更加全面。 WebLoad的性能测试流程: ? 计划一个负载(压力)会话Load Session,用WebLoad Console创建Load Templates,将一

系列压力事件定义到一个压力会话Load Session里。

? 创建测试议程Agenda。用WebLoad Visual AAT创建测试议程 Agenda。

? 创建压力模板Load Templates。可用WebLoad Wizard创建压力模 板,创建一个预期性能参

数的压力测试模板或手工创建压力模板。

? 输出测试报告并分析测试结果:实时查看测试结果;创建集成报告;

? 用 WebLoad Reporter分析测试结果。

3.2.7 Web Application Stress (WAS) Tool

微软的WAS允许以不同的方式创建测试脚本:可以通过使用浏览器走一遍站点来录制脚本,可以从服务器的日志文件导入URL,或者从一个网络内容文件夹选择一个文件。当然,也可以手工地2) 3) 4) 5)

自动化测试

输入URL来创建一个新的测试脚本。 WAS可以使用任何数量的客户端运行测试脚本,全部都有一个中央主客户端来控制。在每一个测试开始前,主客户机透明地执行以下任务: ? 与其他所有的客户机通信。 ? 把测试数据分发给所有的客户端。 ? 在所有客户端同时初始化测试。 ? 从所有的客户端收集测试结果和报告。

3.2.8 TestDirector

TestDirector是一套测试管理软件。可以使用它来规范科学的测试管理流程,建立起针对项目的测试方案和计划,消除组织机构间、地域间的障碍,让测试人员、开发人员或其他的IT人员通过一个中央数据仓库,在不同地方就能交互测试信息。TestDirector将测试过程流水化──从测试需求管理,到测试计划,测试日程安排,测试执行到出错后的错误跟踪── 仅在一个基于浏览器的应用中便可完成,而不需要每个客户端都安装一套客户端程序。

① 需求管理。程序的需求驱动整个测试过程。TestDirector的Web界面简化了这些需求管 理过程,以此可以验证应用软件的每一个特性或功能是否正常。通过提供一个比较直观的机制将需求和测试用例、测试结果和报告的错误联系起来,从而确保能达到最高的测试覆盖率。

② 测试计划的制定。其Test Plan Manager指导测试人员如何将应用需求转换为具体的测试 计划,组织起明确的任务和责任,并在测试计划期间为测试小组提供关键要点和Web界面来协调团队间的沟通。

③ 人工与自动测试的结合。多数的测试项目需要人工与自动测试结合,启用一个自动化切 换机制,能让测试人员决定哪些重复的人工测试可转变为自动脚本以提高测试速度。TestDirector还能简化将人工测试切换到自动测试脚本的转换,并可立即启动测试设计过程。

④ 安排和执行测试。一旦测试计划建立后,TestDirector的测试实验室管理为测试日程制订 提供一个基于Web的框架。其Smart Scheduler能根据测试计划中创立的指标对运行着的测试执行监控,能自动分辨是系统还是应用错误,然后将测试切换到网络的其他机器。使用Graphic Designer图表设计,可以很快地将测试分类以满足不同的测试目的,如功能性测试、负载测试、完整性测试等。

⑤ 缺陷管理。TestDirector的出错管理直接贯穿作用于测试的全过程,从最初发现问题,到 修改错误,再到验证修改结果。利用出错管理,测试人员只需进入一个URL,就可汇报和更新错误,过滤整理错误列表并作趋势分析。

⑥ 图形化和报表输出。TestDirector常规化的图表和报告帮助对数据信息进行分析,还以标 准的HTML或Word形式提供生成和发送正式测试报告。测试分析数据还可简便地输入到标准化的报告工具,如Excel、ReportSmith、CrystalReports和其他类型的第三方工具。

四、附录

注意:

? 软件测试工具不能代替软件测试员,它们只能是帮助软件测试员更好的工作。

自动化测试

? 使用测试工具并不一定总是正确的,手工测试也必不可少。

? 如果在测试中运行10%的测试需要花费90%的时间,那么将这10%的测试自动化是值得 的。

更多相关推荐:
5etesting论坛自动化测试计划

5etesting论坛自动化测试计划拟制WallyYu审核风过无息批准20xx031520xx0320yyyymmdd日期日期日期修订记录21目标42概述43组织形式44测试对象75需求跟踪86测试通过失败标准...

自动化测试计划(英文版)

1IntroductionThisdocumentprovidesadetailedplanforthescopeapproachresourcesandscheduleofsystemtestingactivitiesforth...

自动化测试

摘要当今的企业需要掌控其关键业务应用的所有功能测试以确保所有业务流程工作符合预期通过实施自动化的功能测试企业可以极大提高测试速度和精度从挼间项目中得到更高的投资回报并且显著地降低风险本文简要描述了自动化功能测试...

自动化测试计划

自动化测试计划拟制审核批准日期日期日期修订记录1目标62概述621项目背景622范围63组织形式64测试对象75需求跟踪86测试通过失败标准97测试挂起标准及恢复条件98测试任务安排981任务1对功能性的测试9...

5etesting论坛项目自动化测试报告

5etesting论坛项目自动化测试报告版本10Page1of75etesting论坛项目自动化测试报告版本10修改记录Page2of75etesting论坛项目自动化测试报告版本10TABLEOFCONTEN...

x行自动化测试实施方案

上海x行综合前端自动化测试方案上海x综合前端自动化测试方案上海x计算机系统工程有限公司20xx年6月1上海x行综合前端自动化测试方案目录1概述311122测试目的3测试范围3测试实施方案621222324252...

基于ERP系统的自动化测试_选题报告及工作计划

工程硕士学位论文选题报告及论文工作计划课题名称学号姓名专业领域所在院系校内导师校外导师选题时间同济大学研究生院年月日一立论依据课题来源选题依据和背景情况课题研究目的工程应用价值1来源经济的全球化技术变革的日新月...

自动化测试经验分享

一测试的困惑以前我时常反思测试组的工作多吗我的回答是多测试小组的工作成果的好坏和工作任务的多少成正比吗最终的回答却并非成正比我们的测试工作成果往往并不理想甚至是差那么为什么事倍功半这问题很难找到清晰的答案参与了...

基于QTP的”光影魔术手4.3.1“自动化测试毕业论文(吴骏骅)_100104073

苏州工业园区服务外包职业学院毕业设计论文题目系别班级姓名学号指导教师基于QTP的光影魔术手413自动化测试信息技术软件109班吴骏骅100104073卢晨毕业设计论文独创性声明本人声明所呈交的毕业设计论文系在指...

软件功能自动化测试之我见

软件功能自动化测试之我见20xx0625作者唐昌文来源eworks前言软件测试对软件质量的保证起着致关重要的作用虽然国内软件企业越来越注重软件测试工作但仍然存在这样一个不争的现实除了部分大中型软件企业多的软件企...

自动化软件测试成熟度等级

转载自动化软件测试成熟度等级译自自动化软件测试入门管理和实现一书上一篇下一篇20xx1203094303个人分类自动化框架查看105评论0评分00个人觉得这本书的书名翻译的不太准确我认为书名译作自动化软件测试引...

自动化测试

自动化测试框架比较最近在研究自动化测试框架也和网上的很多朋友聊了很多各种自动化框架的实现我对其总结归纳比较下当然一家之言仅供参考1以QTP为核心的框架QTP是大家最常用的测试工具而现在很多公司用的自动化测试框架...

自动化测试计划(41篇)