|
以前表示过黑盒测试技术含量比白盒测试高,现在想说的是手工测试技术含量比自动化高。
刚进入测试行业的时候做的是手工测试,天天想着怎么能做自动化。后来做了UI自动化就天天想着做API自动化,现在做了API自动化就觉得实在是很boring了。API自动化听起来好听,测起来实在是不好玩。你要cover所有的parameter 组合,就是一个体力活,没啥创造性。当然,总体来说自动化测试就是写简单的code,没啥特别的,也没啥高技术含量。因此身为一个自动化测试工程师,我仅仅花费10%的时间写自动化程序,90%的时间回归到了手工测试。当然在接到一些猎头电话的时候还是要强调100%的时间是写code,不然如果实话实说,他们就以为我差不多就是个纯手工测试的工程师了。
现在看着同事们整天忙于自动化测试或者写testing tools心里就不是很以为然,因为我通过手工测试一天就可以发现10个bug,他们的automation可能一个月也就是发现那么1,2个。更有趣的是我通过手动run他们的automation反而发现了更多的bug是他们的automation在lab里不能发现的。
话说回手工测试。我现在做手工测试并不同于以前的手工测试或者一般人做的手工测试。差别如下
1. 一般手工测试的主要目的是发现bug,并且可能做一些初步分析。而我所做的手工测试的目的并不是发现bug,因为bug都是自己主动找上门的,我主要是进行debugging, code review, root cause analysis等等。
2. 一般手工测试主要是测自己负责的模块,而我是测试整个产品 (5000人开发团队),不一定局限于某一个模块。
3. 我所进行的主要是reliability test, 也就是寻找AV, bugcheck, memory leak 这些bug。
下边我想描述一下我的工作情况。
- 早晨到office, 设置好工具和测试环境,重启机器
- Log in machine, 马上就出来一个bug
- debugging + code review (5 minutes to 1 hours depending on how difficult)
- file a bug
- continue test machine
- 去厨房冲杯咖啡
- 回到office发现又一个bug出现了
- 出去meeting,回来发现又一个bug
- 中午吃饭的时候,又一个bug出来了
- 下班回到家,连入公司VPN,又一个bug出现了
- 晚上吃完饭,干完家务,又一个bug出现了
- 早上起床检查,又一个bug出现了
- 回到公司看到有bug被resolve成"not repro", reactivate bug
- 看到有bug被resolve成“won't fix", 看准了他们负责的模块,花2,3个小时的时间给他们file5,6个bug
- 发现一些bug的共同之处,回到自己的feature做code review,发现几个类似的bug
总之就是,测试的过程基本跳过了寻找bug的过程,而主要的时间花在了debugging和code review上,以及和对方developer斗智斗勇上。 |
|