Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

11.3. 为什么自动化测试难以推广

2005 第一次接触自动化测试,十年已经过去了,着眼身边的企业,真正实施自动化测试的企业非常少。 大部分企业,测试仍然处在,点鼠标阶段。测试人员通常是验收交付,而没有参与整个软件开发周期。

11.3.1. 为什么自动化测试难以实施

为什么自动化测试难以实施,我想有几个问题,阻碍了自动测试普及。 其实懂得自动化测试工具的人还是很多的,自动化测试难以实施,并不是缺乏技术人才。Load Runner, QTP 等等很多测试人员都会使用,为什么他们放弃这些工具,改用手动测试呢?

  1. 90%测试仍然处在功能测试
  2. 很多测试人员没有开发背景
  3. 测试角色,没有贯穿整个软件开发周期
  4. 各种问题阻碍了自动化脚本
  5. 在中国测试人员人力成本太低

随着技术发展,软件的多样性,已经不局限于基于CS结构的GUI, 基于BS浏览器WEB UI。例如目前的安卓系统,苹果IOS系统,微软的 Windows Mobile 系统等等。 还有一些非人机交互界面,各种协议/接口,例如json,bson,xml-rpc,soap,mq(message queue)我认为这些都应该纳入自动化测试范畴。 这就需要测试人员具有一定的开发能力,且测试上述内容速要广泛的技术知识支撑。

我认为高级测试工程师,需要具备以下能力:

  1. 嗅探器的使用
  2. Debug工具
  3. 负载均衡技术
  4. TCP/IP,UDP
  5. 了解各种协议族
  6. 渗透/注入
  7. 数据库与缓存
  8. 搜索引擎
  9. 文件系统与存储

就WEB测试而言,涉及的内容就太广泛了,从浏览器->WEB服务器->APP服务器->缓存->数据库,中间会经过各种代理,负载均衡,分布式文件系统等等。

配置这样一个测试环境都已经非常不容易,幸好我们可以采用自动化运维干这件事。

11.3.2. 是什么阻碍了自动化测试?

  1. 各种UI特效
  2. 验证码,包括手机,图形,语音......
  3. 浏览器支持
  4. 第三方插件(Flash,ActiveX...)
  5. 技术封闭

互联网的快速发展 Load Runner, QTP 等等软件,我认为已经跟不上互联网的快速了,他们仍然按照传统周期发布软件更新。 而互联网需要的是快速变化,互联网应用程序开发者,需要体验更多的创新功能,软件软件发布周期至少一年一个版本。真的太慢了。

互联网不断加入的新技术成为了自动化测试障碍,传统软件无法支持这些新技术,甚至向微软这样的企业技术跟进都显得不给力。

Windows Automation 3.0 是非常高大上玩意,但是你在Microsoft官网能找到的资料,少之甚少,我不知道微软的目的何在。

只有 Load Runner, QTP 这些公司与微软合作,才能拿到Windows Automation API。

11.3.3. 中国测试人员的人力成本

测试人员的薪水在开发团队中应该是处于中下等的。与高级程序员,软件架构师是有很大差距的。这也造成了自动化测试难以实施的原因。

我们需要从高级程序员,软件架构师转测试的高级测试人员。

我们需要黑客级的测试人员!!!