出品|51Testing软件测试圈
在测试行业,一个一直被讨论的问题就是:手工测试没有前途,自动化测试会取代手工测试?
首先说结论:自动化测试不会取代手工测试,这完全是两个维度的事情。为什么不会呢?我们需要从本源上说起。
世界上有很多职业,比如艺术家、维修人员、销售等等,每种职业都需要人来参与,而每种职业也都有部分工作交给机器来做。
但无论哪种职业,几乎都是人来主导,然后将越来越多的工作交给机器来做。而机器无法实现的工作,比如创新、情感、思维等,只能由每个具体的人来完成。而这些必须由具体的人来完成的事情,我们称之为“手工”,机器完成的部分,我们称之为“自动 化”。
因此,手工、自动化不是测试专属的概念,而是任何职业,都具备的概念。 因此,你能说,自动化就一定是好的、有前途的,手动就一定是不好的、没有前途的吗?
艺术家的核心竞争力体现在拥有独特的想法,维修人员的价值也体现在解决问题的能力上,销售 人员的核心能力体现在沟通能力上,这些都是“手工”的。 到了测试人员身上,为什么就成了手工测试没前途了呢?
比如,某些人会说,测试不就是点点点嘛,那以此推广,艺术家不就是画画画、唱唱唱嘛,销售人员不就是说说说嘛?
但是,一幅画作可以价值千金,一次成功的销售可以给公司带来巨额收益,画好画、唱好歌、卖出一个产品可能本身不是很难,但是找到画画的思路、设计出好的谱子、找到用户的痛点,这才是最核心、最有价值的东西。
类比到测试,点某个按钮,发现某个缺陷可能并不难,难点在于,你知道怎么发现这个缺陷。因此,手工测试没有什么不好的,相反,跟任何职业一样,这是做好这份工作必须采取的方式。
那么,自动化又处于什么位置呢?
艺术家可能会使用电脑合成谱子,销售人员会使用各种工具分析客户画像,这些都是“自动 化”手段,而测试人员将某些复杂、重复操作,用工具来实现,就是测试自动化。
也就是说,自动化只是工具,一个能让我们的工作更快、更好开展的工具。有些工作只能自动化实现,比如性能测试,有些工作自动化可以节约人力,比如某些类型的回归测试。
任何职业,如果能掌握该职业相关的“自动化”工具,也算是一项核心竞争力或者做好该工作的基本要求。
现在我们来聊一聊,自动化测试会取代手工测试吗?
这就需要看,如何做好测试工作了。
测试人员常规的工作大概包含以下几个环节:
1)了解需求,分析产品应用场景;
2)根据场景设计合理的测试用例;
3)执行测试用例;
4)分析测试结果,给出测试结论。
这四个环节中,环节3)是使用“自动化”最多的地方,其他比如分析需求、设计用例、分析缺陷原因,给出最终测试结论,这些几乎都需要人来明确,因为涉及到复杂的人脑判定。
比如,什么样的需求是合理的?用户会有哪些操作场景?
除了上述常规环节外,测试中很重要的一项内容就是测试流程的制定,比如测试版本如何管理,测试问题如何跟踪,有效的案例设计走查流程是什么?
很多缺陷都是可以通过测试流程来规避的,这些都是需要根据产品、团队特点,不断讨论,最终明确出来。
因此,没有什么取代的问题,取代本身就是一个伪命题。
正确的命题是:自动化是做好测试工作的技能之一,具备自动化能力的测试人员,更能胜任这份工作。
任何职业一样,测试需要人来主导完成,需要具备逻辑、情感的人来实现,而这份工作开展的过程中,可以采用一些自动化手段来提升工作效率或者提升质量。
回到工作的本质上,做好任何一份工作,几乎都需要与人打交道,都需要:
良好的沟通能力
好的想法
快速学习的能力
足够的热情
端正的工作态度
人们常常说,不在于做什么,而在于谁在做,说的就是这个道理。
技能会很快过时,而这些基础能力,却是做好任何工作最核心的能力,因此,去关注这些最核心的能力,努力提升它们,更有意义。