困惑:最简单的脚本谁来写?
两年后,项目结束,我跳槽到一个外包公司,将我外包到微软嵌入式团队,做嵌入式自动化测试。
这里所谓的“嵌入式自动化测试”,是指在只安装Windows core以及某个组件(component),如IE,的基础上对其进行自动化测试。比如自动取款机就是Windows core+IE结构。
要知道,如此简化的系统是运行不起QTP这样的工具的,因为没有.netframework,也运行不起市面上大部分成熟的自动化框架或工具,只能通过最原始的命令行运行。
所以当时我们写的都是批处理(batch)和Javascript脚本,然后通过微软的WTT,将脚本和测试资源导入到测试机后通过命令行运行脚本。
在此之前我通过批处理写过一些简单的批量运行或文件检查的脚本,但在这里,需要通过批处理写出大量复杂的、相互调用的脚本,这让我对批处理刮目相看,也逼着自己把脚本管理和脚本联调的能力修炼得更好。
但我认为,这个阶段真正学到的,并不是脚本管理和联调能力,而是什么人应该编写最基础的脚本。
为什么这样说?
我刚进公司最困惑的一件事是:IE所有最简单的开启、关闭,以及最基本的每个下拉菜单的打开,这类最最基础的脚本,居然是由美国一位大牛负责。
而作为菜鸟的我,却需要编写非常复杂的脚本,比如:打开IE后在地址栏输入某个链接,确认跳转后截图对比,然后将该链接保存收藏夹,将IE关闭后再打开,去收藏夹确认该链接已被成功保存。
我非常郁闷和不服,因为在国内,都是菜鸟写最简单和最基础的脚本,越牛的人写的脚本越复杂,为什么在外企反而倒过来——牛人写简单脚本,每天喝咖啡游泳晒太阳。菜鸟写复杂脚本,每天苦逼累个半死。这还有天理吗?还有王法吗?
结果我领导反问我一句话:你那条复杂脚本有多少人调用?如果出了问题需要紧急停止会造成多大的损失?换句话说,你需要承担多大的责任?
我想了想道:好像就我自己调用,如果紧急停止不会造成太大损失…
我领导继续问:那他那条基础脚本有多少人调用?出了问题会造成多大损失?
我彻底反应过来:他那条脚本全世界不知道多少人在调用,出了问题那还真是蝴蝶效应,估计直接受影响的用例就高达几千条!!!
这件事一直影响我到现在,最基础的脚本谁来负责?值得大家反思。
节选自《深入理解Android自动化测试》
|