在国内,软件测试的步骤就比较晚,其作为弱势的部分的地方一直难于改变。但另一方面软件行业的迅速发展,软件的版本升级的频度超出了人们的想像。作为软件测试也不得不跟紧这种飞速的进度。
当版本发布时,就必须要求在短时间内完成测试任务,测试人员进度靠人力的堆积变得越来越不可行,自动化测试的就显得越来越重要。国内自动化测试虽然比软件测试要晚得多,但是却从一开始声势就要大的得多,几科一时间所有的部门都在讨论自动化测试,自动化测试的未来似乎一片光明。但是几年过年过去,自动化测试的发展有点雷声大雨点小,自动化测试的现状显然没有想象的那么好。常见的原因有以下几个方面,
望而却步型:且不谈商业软件的购买成本,自动化测试就要投入人力做到自动化脚本和维护就投入大量的人力
虎头蛇尾型:刚开始全体人员热血沸腾,买工具,作培训,建架构做流程,全员一起上战场。投入一段时间发现自动化测试并能在短时间内产生效益,并且工具本身也有很多限制。
型同允肋型:公司部分投入花大力气,投入巨大的成本推行,但在推行之前又没有很好的分析项目测试的具体情况,结果做出来的脚本的维护成本比手工测试还要大。
基于当前市场的主要应用场景,这里主要谈一谈常用的WEB自动化,要想WEB自动化在项目中利起来,测试工具必须要具务的一项必杀之技是脚本录制,如果靠手工编写脚本,那么项目结局注定以失败告终,因为后期的脚本维护成本会你让痛不欲生。
脚本录制技术一般分析为以下内种几技术:
坐标定位:是这一种简单脚本技术,适合简单要的重复回放,不适用于项目的自动化功能,如:按钮精灵。
图形识别:就是一种以图像的相似度的方式定位元素。这种技术定位精度不准,很容易失效。
元素属性定位:定位精准,可以靠性好。这种元素定位的技术有也有很多,如果:id,name,xpaht等,但是当代码变更也容易失效。
针对这些情况笔者针对市场主流的自动化工具一一点评,以享读者
1.kylinTOP
是一款国产自动化测试工具,支持性能测试、自动化测试、业务监控功能。这里主要谈一谈他的自动化功能,它的自动化功能主要支持:接口测试、web、APP功能。
kylinTOP的支持脚本录制生成脚本,元素定位采用一种元素属性综合定位技术(AI技术),同时把脚本可视化,免除了测试人员编码痛苦,有效提高了自动化脚本建设的效率,降低维成本,是目前国内最有潜力的一款自动化测试工具,也是一款在项目中最有可能实现成功的自动化测试工具。
2.HP QuickTest Professional software (QTP)
是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。采用元素定位技术,测试人员需要手工维护脚本代代码。
3.QuickTest
QuickTest针对的是GUI应用程序,包括传统的Windows应用程序,以及现在越来越流行的Web应用。是代传统的GUI测试工具,采用元素定位,需要维护脚本代码。
4. WinRunner
WinRunner是Interactive公司的是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。
是一种传统的自动化测试工具,需要维护脚本代码。
脚本样例:
# insert a record # Flight Reservation set_window ("Flight Reservation", 1); obj_mouse_click ("Button", 13, 16, LEFT); obj_type ("MSMaskWndClass","101002"); list_select_item ("Fly From:", "London"); # Item Number 2; list_select_item ("Fly To:", "Paris"); # Item Number 3; obj_mouse_click ("FLIGHT", 56, 22, LEFT);
5.Rational Robot
是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。
传统的自动化测试工具,支持本录制,但是录制后的脚本需要人力修改脚本。脚本体现形式以代码体现,需要测试人员具备代码能力。
6.IBM Rational Test Manager
,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。
传统的自动化测试工具,支持本录制,但是录制后的脚本需要人力修改脚本。脚本体现形式以代码体现,需要测试人员具备代码能力。
7.AdventNet QEngineAdventNet Qengine
是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。
8.QARun
测试实现方式是通过鼠标移动、键盘点击操作被测应用,即而得到相应的测试脚本,对该脚本可以进行编辑和调试。
9.Test Partner
是一个自动化的功能测试工具,它专为测试基于微软、Java和Web技术的复杂应用而设计。传统的自动化测试工具,支持本录制,但是录制后的脚本需要人力修改脚本。脚本体现形式以代码体现,需要测试人员具备代码能力。
10.Telelogic TAUTAU
包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(UML);功能强大的测试语言TTCN-3和新的构造系统的方法:Model Driven Architecture(模型驱动构架)。