在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?
说点自己的不成熟看法。
将自动化测试当成很了不起的资本,源于国内对Coding的崇拜,譬如一个Dev跟一个QA放在一起,大家的第一直观印象就是——前者的技术能力比较强。
实际上,这个问题分两面看:
1. 自动化测试能力是不是资本?
是,当然是。测试自动化是软件测试的大方向。作为其核心组件的自动化测试的引入将QA从繁重的重复劳动中解放出来,完成靠人力难以组织的测试,优化测试资源,提高测试效率。优秀的自动化测试框架、完备的自动化测试脚本集、丰富的自动化测试工具将使得测试的效率倍增,对产品质量保证起到积极作用。一个有自动化测试脚本、框架、工具开发能力的QA,更有竞争力是一件无可厚非的事情。 从招聘方的角度看,就如同两台配置差不多的笔记本,一台多出俩USB口并有一个HDMI,当然会优先选了,虽然他也不一定用得到。
2. 自动化测试人员一定强于手工测试人员?
不一定。我接触过的自动化测试的QA大致有两种:其一,专职automation,他们从进公司开始就定位为自动化测试人员,有的公司的automation team甚至都不隶属于测试团队,他们从进公司开始就几乎只接触脚本和工具,自动化的需求对于他们就等于一个开发需求。这类的测试人员对产品本身了解并不多,且不深。更倾向于一个开发人员的工作方式。其二,既做手工,也写过一些自动化脚本。这一类人实际上仍然算是手工测试人员,但会小范围参与到一些简单脚本开发,多数是在已有的测试框架上进行的搭积木的工作,缺乏创新空间。对于这两类QA,前者因为很大程度上仍工作在一个Dev的模式下,可能存在的缺陷主要在测试的方法、感觉和思维方面,后者则完全可以作为一个手工测试人员去做横向比较。国内自动化测试的现状,使得投放入市场的自动化测试人员,以第二种类型的居多,且目前国内普遍的测试情况仍然是手工测试比例为重,所以如果招聘方简单地用是否做过自动化测试来过滤人才的话,也许会错过真正适合职位的测试人才。而测试人员如果单纯为博取一个名头而局限于第二种状态的话,对自身真正的自动化测试能力的提高也没有太多好处。
关于手工测试顺便说点,必须肯定手工测试对于一个测试人员成长的重要性,参与手工测试可以了解架构、熟悉产品、培养测试的感觉。测试感觉和思维,说起来貌似很浮云,但从事过测试的人应该很清楚,同样的一个测试任务,交给一个具有良好的测试感觉、思维缜密的人和交给一个把测试当成体力劳动的人会有什么样的产出差异。手工测试不应该只被等同为手工执行测试,其更重要的部分应该是测试的架构和用例设计。所有的测试执行都是以测试用例为基础,测试用例设计的好坏,对测试效率、测试覆盖率、defect发现几率产生直接影响。测试用例设计中会用到很多方法去优化和评估,涉及到离散数学、概率等领域知识的应用,是个挺值得下功夫的领域,对于一个手工测试人员的自我增值也是有帮助的。
不好意思。。。跑题了。。。