国内IT行业经过10多年的发展,软件测试从无到有,早年甚至没有测试工程师这样的职位,经过国内一些先驱们的不断努力,企业质量意识逐步提升,测试作为质量保证的重要手段逐渐被重视起来。
但是,客观而言,测试始终跟在开发的屁股后边走,存在资源不足、投入不够、时间紧迫、测试不充分等问题。后来,人们发现,自动化测试看起来貌似是解决问题的好办法。
自动化测试能替代人工测试的操作,原本需要5分钟完成的测试,自动化测试能在几十秒内完成,于是大家好像发现了金子一样开始热情地追逐起来,人们甚至情不自禁地猜想:如果用自动化测试替代人工测试,岂不是解决了资源不足、时间进度等诸多问题了吗?
早期,第一波自动化测试热潮是被国外的工具厂商热炒起来的,早年的自动化测试工具厂商主要是Mercury、IBM、Borland。
全称Mercury Interactive,国内行业人士一般叫美科利,研发中心在以色列的一家测试工具厂商,后来由HP以45亿美金收购,最出名的工具是QTP(目前已改名叫UFT),以及LoadRunner、TestDirector(后来改名QualityCenter、再后来改叫ALM)。
IBM早年的自动化测试工具叫Rational Robot,属于Rational系列工具之一,后来改名Rational Funtional Tester。
Borland早年的自动化测试工具叫SilkTest,后来被英国一家叫Micro Focus的公司收购,这家公司还收购了Compuware的TestPartner。
早期,国内IT企业在这些公司的轮番销售轰炸下,买了不少自动化测试工具。这些自动化测试工具号称通过“录制回放”技术,可以替代人工测试,为企业节省大量测试投入、提高测试效率。
但是,现实的情况是,很多企业花费价格不菲的金钱购买了一系列的自动化测试工具后,将其束之高阁,“录制回放”的技术神话最终还是破灭了,原因有大致可分为三类:
大部分是C/S结构,以VB、C++、Delphi为代表开发的简单界面,少部分B/S结构的应用,也是简单的HTML、ASP、JSP的技术应用,大部分自动化测试工具应对这些简单界面的控件对象识别、对象控制还是绰绰有余的。
但是,随着Web2.0的兴起、AJAX技术、前端页面技术、浏览器、操作系统等技术平台的多样化发展,我们发现简单的录制获得的脚本无法很好地回放,回放脚本时经常碰到控件对象无法识别的问题。
举个简单的例子,有些AJAX控件是动态生成的,HTML ID也是动态变化的,工具录制脚本时获取的ID,在回放时发生了变化,也就识别不出对象,从而导致控件对象无法被控制,脚本无法回放。
自动化测试工程师花在调整修改和调试脚本的时间精力投入上大大超过了“录制回放”所带来的收益,“录制回放”的神话也就这样被打破了!
看起来貌似“录制回放”技术能快速通过录制获得大量脚本,但是由于修改调整需要大量时间投入,另外,即使不调整修改,也会造成维护工作量巨大。
因为大量的脚本通过录制方式,线性地堆放在一个脚本文件中,代码量越来越大,越来越臃肿, 后期变更维护脚本时,查找定位代码、多处修改冗余代码,都会造成维护困难。
最后,早期的自动化测试工具基本聚焦在解决GUI层的测试问题,往往会导致测试覆盖面偏窄,测试覆盖度上不去,举个简单的例子,由于界面层做了一些限制,往后端服务发送的请求局限在一定的范围,这样就带来了一些测试的局限性。
例如:后端服务接口的可靠性测试、安全性测试、稳定性测试没办法通过界面层的自动化测试解决。
作者介绍 陈能技
新炬网络首席APM架构师。
14年开发测试与质量架构经验,擅长DevOps及APM、Docker、持续集成、持续交付在企业中的落地实施。
著有《软件性能测试诊断分析与优化》、《软件自动化测试成功之道》、《深入浅出性能测试与LoadRunner实战》等书。
关于DAMS中国数据资产管理峰会:
中国数据资产管理峰会主题是行业顶级“数据”峰会,覆盖大数据与数据资产管理、架构、数据安全、云、运维及跨界数据应用等,预计2016年7月15-16日2天在上海,1主场9分场1500人规模,指导单位上海经信委,联合主办:上海云计算产业中心、DBA+社群,目前已经邀请到来自腾讯、阿里、蚂蚁金服、京东、小米、创大、浙江移动、壳牌等重量级演讲嘉宾,目标听众:CIO、CTO、架构师、大数据工程师、数据分析师、DBA等。
现在购买门票享受折上八折优惠哦,快快点击首页购票吧!