为什么自动化测试难以推广
2005 第一次接触自动化测试,十年已经过去了,着眼身边的企业,真正实施自动化测试的企业非常少。 大部分企业,测试仍然处在,点鼠标阶段。测试人员通常是验收交付,而没有参与整个软件开发周期。
为什么自动化测试难以实施
为什么自动化测试难以实施,我想有几个问题,阻碍了自动测试普及。 其实懂得自动化测试工具的人还是很多的,自动化测试难以实施,并不是缺乏技术人才。Load Runner, QTP 等等很多测试人员都会使用,为什么他们放弃这些工具,改用手动测试呢?
- 90%测试仍然处在功能测试
- 很多测试人员没有开发背景
- 测试角色,没有贯穿整个软件开发周期
- 各种问题阻碍了自动化脚本
- 在中国测试人员人力成本太低
随着技术发展,软件的多样性,已经不局限于基于CS结构的GUI, 基于BS浏览器WEB UI。例如目前的安卓系统,苹果IOS系统,微软的 Windows Mobile 系统等等。 还有一些非人机交互界面,各种协议/接口,例如json,bson,xml-rpc,soap,mq(message queue)我认为这些都应该纳入自动化测试范畴。 这就需要测试人员具有一定的开发能力,且测试上述内容速要广泛的技术知识支撑。
我认为高级测试工程师,需要具备以下能力
- 嗅探器使用
- gdb 使用
- 了解各种协议族
- 渗透于注入
- HTML/CSS/Javascript
- 数据库 等等
就WEB测试而言,涉及的内容就太广泛了,从浏览器->WEB服务器->APP服务器->缓存->数据库,中间会经过各种代理,负载均衡,分布式文件系统等等。
配置这样一个测试环境都已经非常不容易,幸好我们可以采用自动化运维干这件事。
是什么阻碍了自动化测试
- 各种UI特效
- 验证码
- 浏览器支持
- 第三方插件(Flash,ActiveX...)
- 技术封闭
互联网的快速发展 Load Runner, QTP 等等软件,我认为已经跟不互联网的快速了,他们仍然按照传统周期发布软件更新。 而互联网需要的是快速变化,互联网应用程序开发者,需要体验更多的创新功能,软件软件发布周期至少一年一个版本。真的太慢了。
互联网不断加入的新技术成为了自动化测试障碍,传统软件无法支持这些新技术,甚至向微软这样的企业技术跟进都显得不给力。
Windows Automation 3.0 是非常高大上玩意,但是你在Microsoft官网能找到的资料,少之甚少,我不知道微软的目的何在。
只有 Load Runner, QTP 这些功能与微软又合作,才能拿到Windows Automation API。
中国测试人员的人力成本
测试人员的薪水在开发团队中应该是处于中下等的。与高级程序员,软件架构师是有很大差距的。这也造成了自动化测试难以实施的原因。
我们需要从高级程序员,软件架构师转测试的高级测试人员。