什么是自动化测试

时间:2024.4.2

什么是自动化测试

1. 概述

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

2. 前提条件

实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试。通常需要同时满足以下条件:

1) 软件需求变动不频繁

测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。

项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。

2) 项目周期足够长

自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成,这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。

3) 自动化测试脚本可重复使用

如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了。

另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。

3. 适用场合

通常适合于软件测试自动化的场合:

(1)回归测试,重复单一的数据录入或是击键等测试操作造成了不必要的时间浪费和人力浪费;

(2)此外测试人员对程序的理解和对设计文档的验证通常也要借助于测试自动化

工具;

(3)采用自动化测试工具有利于测试报告文档的生成和版本的连贯性;

(4)自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖;

4. 过程

自动化测试与软件开发过程从本质上来讲是一样的,无非是利用自动化测试工具(相当于软件开发工具),经过对测试需求的分析(软件过程中的需求分析),设计出自动化测试用例(软件过程中的需求规格),从而搭建自动化测试的框架(软件过程中的概要设计),设计与编写自动化脚本(详细设计与编码),测试脚本的正确性,从而完成该套测试脚本(即主要功能为测试的应用软件)。

5. 脚本的编写与执行

该编写过程便是具体的测试用例的脚本转化。初学的自动化测试人员均会使用录制脚本到修改脚本的过程。但专业化的建议是以录制为参考,以编写脚本为主要行为,以避免录制脚本带来的冗余、公用元素的不可调用、脚本的调试复杂等问题。

当每一个测试用例所形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。而如果只是一个个执行测试用例,也仅能被称作是半自动化测试,这会极大的影响自动化测试的效率,甚至不能满足夜间自动执行的特殊要求。

6. 自动化测试局限性

测试自动化可以带来非常明显的收益,但也有以下限制:

●不能取代手工测试

●手工测试比自动测试发现的缺陷更多

●对测试质量的依赖性极大

●测试自动化不能提高有效性

●测试自动化可能会制约软件开发。

●工具本身并无想象力

自动化测试引入的原因是就把软件测试人员从枯燥乏味的机械性手工测试劳动中解放出来,以自动化测试工具取而代之,使测试人员的精力真正花在提高软件产品质量本身。尽管自动化测试可以降低人工测试的工作量,但并不能完全取代手工测试,一味追求测试自动化只会给企业带来运作成本的急剧上升。

7. 总结

目前,软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如单元测试、功能测试以及性能测试方面)。在这两个领域,与手工测试相比,测试自动化的优势是明显的。首先自动化测试可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其具有意义;此外,测试流程自动化管理可以使机构的测试活动开展更加过程化,这很符合CMMI过程改进的思想。

更多相关推荐:
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来源经济的全球化技术变革的日新月...

自动化测试基本流程

共享利他求真务实自动化测试基本流程1制定测试计划在展开自动化测试之前最好做个测试计划明确测试对象测试目的测试的项目内容测试的方法测试的进度要求并确保测试所需的人力硬件数据等资源都准备充分制定好测试计划后下发给用...

软件自动化测试工具介绍--所有

软件自动化测试工具介绍一功能测试工具1QTP测试工具全名HPQuickTestProfessionalsoftware最新的版本为HPQuickTestProfessional110QTP是quicktestP...

自动化测试可行性分析报告

XXXX客户自动化测试可行性报告XXXX客户网银资金管理系统引入自动化测试的可行性分析报告版本10111XXXX客户自动化测试可行性报告1概述11目的本文档对XXXX客户网银资金管理系统项目引入自动化测试工具的...

软件自动化测试工具介绍-详细

软件自动化测试工具介绍一功能测试工具1QTP测试工具全名HPQuickTestProfessionalsoftware最新的版本为HPQuickTestProfessional110QTP是quicktestP...

软件自动化测试工具介绍--全

软件自动化测试工具介绍全一功能测试工具1QTP测试工具全名HPQuickTestProfessionalsoftware最新的版本为HPQuickTestProfessional110QTP是quicktest...

自动化测试计划(41篇)