新闻中心

EEPW首页 > 测试测量 > 设计应用 > 测试工具和测试自动化

测试工具和测试自动化

作者:时间:2013-02-22来源:网络收藏


第一代,以工具为中心的自动化

时间:90年代中期之前

这一代自动化使用的,以捕捉/回放(Capture/Replay)工具最为典型,即捕获用户的鼠标和键盘操作,并记录下来,下次测试时可以回放这些操作,重复上次的测试。这些工具一般也提供简单的脚本功能,测试人员还可以根据需要对记录的脚本进行修改,比如增加循环操作以及一些简单的判断条件等,以强化测试。不过因为脚本语言简单,脚本功能往往只是其中的点缀。如QARun,WinRunner,就是这种工具的典型代表。这代技术有很大的局限性:

自动化程度有限。每种工具都有自己独特的脚本语言,但又不是一个全功能的脚本语言,能自动化的操作有限,构不成一个完整的自动化解决方案,不同工具的脚本无法共享;

对SUT(System Under Test)的变化适应性较差。如果SUT的GUI有了变化,录制的脚本几乎不能再用,这在软件总是不断改进和变化的时代几乎是致命的缺陷。

第二代,以脚本为中心的自动化

时间:90年代末至21世纪初

这是自动化的个人英雄主义时代。一些测试团队在这个阶段已经认识到采用统一脚本语言的重要性,并找到了适合测试工作的、功能完备的脚本语言,在团队中大力推行。但因为经验有限,缺乏良好的顶层设计,主要依靠测试工程师的主观能动性,八仙过海、各显神通,每个人都是脚本工程师,测试脚本大量产生。

这代自动化虽然有了统一的脚本语言,测试工程师之间也可以进行少量的脚本共享。但总体而言,是各自为战,风格不同,质量参差不齐。和个人测试环境密切关联的个人自动化成果难以充分转化为有效的团队平台积累。不过,这个阶段培养了大量的技术熟练的工程师,为下个阶段打好了人员和技术基础。

第三代,以平台为中心的自动化

时间:21世纪初至今

在第二代自动化摸索几年后,有眼光的测试管理者和出色的测试工程师,都认识到这种野蛮生长产生的脚本在可维护性、可重用性、拓扑适应性方面都存在很大问题,不能真正形成持续有效的团队积累。于是,自动化测试的顶层设计被提上日程:构建一个出色的自动化测试平台;脚本基于逻辑拓扑进行开发,在执行时才映射到物理拓扑;把常用测试操作抽象为Action word并实现,作为通用类库供所有测试工程师使用;制定脚本的开发,验收,维护规范,保证脚本的一致性、通用性和可维护性。基于这个测试自动化平台开发的脚本,才真正可转化为有效的团队积累。

以H3C的测试自动化发展为例,在1999年之前,只是利用简单的捕捉和回放,基于这些工具编写简单的脚本,属于第一代自动化。1999-2002年期间,测试平台团队引入了适应通信设备测试的TCL语言,开发了通用测试平台,但统一的ATF(Auto Testing Framwork)尚未成熟,处于第二代自动化阶段。2003年,H3C测试团队发布了ATF,并启动Testbladev1/v2脚本体系的开发,这标志着H3C的测试自动化进入了第三代,并在实践中不断优化。基于VTP和ATF,H3C已经实现了80%以上的功能测试的自动化,并提供了多个性能测试、压力测试及持久性测试的自动化测试套件。

三、展望:第四代自动化测试技术

那么是否会有第四代自动化测试技术?回答是肯定的。下一代自动化技术必然是以网络为中心的测试自动化,也可以称之为以云为中心的测试自动化。所有的测试设备(真实的、虚拟的)、测试仪器以及测试主机,通过一个测试自动化管理系统进行统一管理,呈现在测试工程师面前的将是一个测试设备云。测试工程师可以远程登录到测试自动化管理系统,通过任务管理系统提交自己的自动化测试任务,只需要描述清楚测试任务所需要的设备类型、设备连接的链路类型,需要执行的测试套,系统即会按规则在测试云中进行搜索和计算,得出什么时间能提供满足本次测试任务所需要的测试执行环境,测试工程师可以预约这个时间之后的任意时间运行自动化任务,并准时收到自动化测试结果。

第四代自动化测试技术相对第三代,将在可管理性、易用性以及设备利用率方面有质的飞跃,但仍然必须以稳定可靠的测试平台以及完善的测试脚本体系做为测试执行的基础,这意味着第三代测试自动化不可跨越。否则,所谓的云测试就是无源之水。

四、结束语

测试自动化极大的提高了,使测试工程师可以从简单重复的机械操作中解放出来,把更多精力投入到更有创造性的测试设计,以及更复杂的测试执行中去。但我们也必须认识到测试自动化的局限性。首先,自动化只是对已有测试设计的机械重复,不会超出已有的测试认知。其次,复杂测试场景下,影响测试结果的因素非常广泛,依靠机器进行判别很难行得通,还是必须由人来完成。

这些局限因素决定了自动化测试不可能完全替代手工测试。不过,和自动化技术在复杂环境模拟和业务模型构造上的作用,永远无可替代,所以,即使是手工测试,一样也离不开测试工具和测试自动化技术。可以说,测试工具和测试自动化的进步推动着整个测试行业的发展。

热式质量流量计相关文章:热式质量流量计原理
流量计相关文章:流量计原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭