手工与自动化只是一种形式,真正的核心是测试用例、业务模型和测试分析。
当企业的产品规模开始膨胀的时候,尤其是产品迭代加快是不是能及时得到测试验证支持是很重要的。这些靠手工测试是基本无法实现的,手工测试会严重的拖慢产品进度,而且无法保证全局质量。
没有对覆盖率,测试分析等进一步的数据挖掘,一切深入的问题也无法被手工测试人员发现。
手工测试与简单的操作自动化只是测试的初级阶段,云测试、智能化测试,大数据测试,这些新的测试手段都是围绕测试用例,业务模型与测试分析来做的。没有良好的coding能力,就无法发挥电脑的潜能,也无法做更深入的数据挖掘。
目前的很多公司的测试是有问题的。
大部分的自动化测试的问题是成本高,只是简单的check,没有绑定覆盖率,没有做测试建模、盲目的追求case数量,自动化分层不合理,UI自动化测试比重太大,导致作用有限。
而手工测试也是只覆盖基本的业务,根本不了解细节上的风险。bug不仅仅是因为需求和业务引起的,还可能由设计,架构,代码以及操作系统特性引起的。而且测试人员的执行是否到位也是值得考察的。我在阿里百度都遇到过手工测试人员因为工期紧张,用例太多,草草结束测试的事情。
所以,手工测试重要,但是不能重点依靠。自动化能够提供全局的把控和质量验证,价值还是很可观的。而做好自动化还需要更多的深入的工作。毫不讳言,我们整个国内还没有几家公司能真正做到测试建模,目前只是做到了最基础的测试用例+自动化+覆盖率而已。
对于手工测试,我举个最简单的例子,百度的一些产品,需要在chrome浏览器,firefox浏览器,ieX,360浏览器,搜狗高速浏览器上做测试。如果开发只修改了几行代码,在不依赖新测试模式,新技术和自动化的情况下,只靠手工测试,几乎是不能避免bug的。
在银行,金融,国企,以及传统企业里面,经常会看到工作了七八年的手工测试人员,而且他们的产品更新很慢,体验很差。而在互联网里面,则很少看到,但是互联网的产品体验要比传统企业优秀的多。
不可否认,手工测试里面有不少高手,但是缺乏了自动化,缺乏了大数据分析,缺乏了测试建模,将很难为产品线带来更多的价值。所以自动化是很重要的资本。只是整个行业,懂业务,懂测试,懂开发的人太少了。大多数的人,都是其中的两者结合体。