自动化测试简介
自动化测试是使用软件来控制测试执行过程,比较实际结果和预期结果是否相一致,设置测试的前置条件和其他测试控制条件并输出测试报告。通常,自动化测试需要在适当的时间使已经形式化的手工测试过程自动化,所以自动测试用于回归测试。
自动化测试的目的与范围
从自动化测试小组的角度来讲,自动化测试的目的是开发一套能够支持自动化测试的工具。自动化小组不仅要负责并实现数据驱动自动化测试框架,而且还要设计和构建用于回归测试的自动化测试套件。从企业的角度来讲,自动化测试的目的是提高测试效率,减少手工测试的工作量,进而达到节省测试成本的目的。
自动化测试需要达到的程度
自动化测试需要达到什么程度?这个问题在自动化测试工具发展的最初级阶段就有人提出过,首先,我们必须了解自动化测试工具的测试过程和被测试系统的测试过程。测试工具与测试过程是不同的,工具是用于促进测试过程的,工具能被用于实现一个过程并执行测试过程的各种规范。在很多情况下,工具自带的内建程序可以被理解为过程,但它们往往是不完整的,不能正确地反映过程。最好的自动化测试工具是能够将工具与测试需求达成一致,并且提供高度可自定义的工作流程和跟踪报告能力。其次,必须了解测试过程所涉及的几个环节:测试计划、测试设计、测试构建、测试执行、测试结果的捕获和分析、测试结果的验证和给出测试报告。在整个测试过程中这些活动都是密不可分的,只有将这些测试环节与自动化测试过程结合起来,才能更好的确定自动化测试需要达到的程度。最后,所有领域的自动化测试都应该保证时间和成本适应你的组织。实现的自动化程度越高,测试过程就越好、越有效,但同样其带来的时间久越长、成本就越高。项目的进度与成本影响着自动化测试程度的高低。
自动化测试框架
自动化框架是假设、约束以及为自动化测试提供支持的工具的集合。自动化测试框架的最大优点是可以减少测试脚本实现和维护的成本。也就是说,如果测试用例更改了,则只需要修改测试用例文件,而不需要去更新脚本驱动程序和引擎驱动程序。自动化测试框架的优劣直接影响到自动化测试的成功与否。
假设是形成自动化测试策略的基础,下面几点是常用的假设条件。
1.集成工具套件必须是主要的测试管理、计划、开发和实现的工具。
2.工具套件必须用来指导和控制测试的执行并且用来捕获、分析、报告测试结果。
3.工具套件必须包括一个可选工具用于缺陷跟踪及解决。
4.工具套件必须包括一个可选的配置管理工具。
5.配置管理只能对手工测试和自动化测试产物进行配置管理。
6.所有上述工具必须与桌面工具结合。
7.测试工程师需要的桌面--脚本--开发配置必须被定义并且被实现。
8.必须遵循测试标准,并且将测试标准以文档形式记录下来。
约束条件影响着自动化测试是否成功,如果不注意以下约束条件,自动化测试工作将很难成功。
9.自动化工具集资源必须独立于任何手工测试集。
10.自动化测试小组中是否有足够多的工作人员。
11.对于自动化的工具的使用,软件开发小组的协调水平和管理水平不能太低。
12.在创建可测试应用中,需要与开发者协作和信息交流。
13.自动化测试的主要版本与自动化测试的发布进度安排有关
自动化测试的优点
1.快速:
2.可靠性
3.可重复性
4.可重用性
5.全面性
6.高效性
7.无疲劳
自动化测试普遍存在的问题
在引入自动化测试后,很多人发现自动化测试并没有达到人们想象中的作用,其主要原因有以下几点
1.期望过高
2.缺乏具有良好素质和经验的优秀测试工程师
3.脚本质量影响测试质量
4.没有对测试工程师进行充分的培训
5.盲目引进测试工具
6.没有良好的使用测试工具的环境
7.版本变更频繁,脚本的维护比较大
参考资料《自动化测试与框架》
本文转自 jasonteststudy 51CTO博客,原文链接:http://blog.51cto.com/jasonteststudy/1214910