手工与自动化只是一种形式,真正的核心是测试用例、业务模型和测试分析。当企业的产品规模开始膨胀的时候,尤其是产品迭代加快是不是能及时得到测试验证支持是很重要的。这些靠手工测试是基本无法实现的,手工测试会严重的拖慢产品进度,而且无法保证全局质量。
没有对覆盖率,测试分析等进一步的数据挖掘,一切深入的问题也无法被手工测试人员发现。
手工测试与简单的操作自动化只是测试的初级阶段,将来也许会有云测试与智能化测试,大数据测试,这些新的测试手段都是围绕测试用例,业务模型与测试分析来做的。没有良好的coding能力,就无法发挥电脑的潜能,也无法做更深入的数据挖掘。
目前的很多公司的测试是有问题的。
大部分的自动化测试的问题是成本高,只是简单的check,没有绑定覆盖率,没有做测试建模、盲目的追求case数量,自动化分层不合理,ui自动化测试比重太大,导致作用有限。
而手工测试也是只覆盖基本的业务,根本不了解细节上的风险。bug不仅仅是因为需求和业务引起的,还可能由设计,架构,代码以及操作系统特性引起的。而且测试人员的执行是否到位也是值得考察的。我在阿里百度都遇到过手工测试人员因为工期紧张,用例太多,草草结束测试的事情。
所以,手工测试重要,但是不能重点依靠。自动化能够提供全局的把控和质量验证,价值还是很可观的。而做好自动化还需要更多的深入的工作。毫不讳言,我们整个国内还没有几家公司能真正做到测试建模,目前只是做到了最基础的测试用例+自动化+覆盖率而已。
对于手工测试,我举个最简单的例子,百度的一些产品,需要在chrome浏览器,firefox浏览器,ie6/7/8/9,360浏览器,搜狗高速浏览器上做测试。如果开发只修改了几行代码,在不依赖新测试模式,新技术和自动化的情况下,只靠手工测试,几乎是不能避免bug的。
在银行,金融,国企,以及传统企业里面,经常会看到工作了七八年的手工测试人员,而且他们的产品更新很慢,体验很差。而在互联网里面,则很少看到,但是互联网的产品体验要比传统企业优秀的多。
不可否认,手工测试里面有不少高手,但是缺乏了自动化,缺乏了大数据分析,缺乏了测试建模,将很难为产品线带来更多的价值。所以自动化是很重要的资本。只是整个行业,懂业务,懂测试,懂开发的人太少了。大多数的人,都是其中的两者结合体。
作为一名曾经的测试管理者,我也被问过无数次这类问题,我的看法很简单:
1、无论是自动化测试还是手工测试,其核心永远是测试用例。无效的用例,用任何方法去测试,都不会达到良好的测试目的。
2、自动化测试的目的是节约人力成本及时间成本,把枯燥的回归测试自动化起来,缩短项目周期。任何为了自动化测试而自动化的项目,都是耍流氓。
3、我见过资深的测试人员,对业务,对行业的了解不亚于我这名产品经理,可以轻易指出设计中的不足以及逻辑盲点。也见过号称牛逼哄哄的自动化测试人员,连TCP和UDP的都区分不来,遇到WebService就束手无策。企业需要各式各样的人才,自动化测试人员不比任何其他测试人员更高一等,大家只是分工不同。
想要学习自动化测试的建议观看这个视频
【整整200集】超超超详细的Python接口自动化测试进阶教程合集,真实模拟企业项目实战