源码时代小课堂:测试工程师核心竞争力到底是什么?
我们总是在最求自己当前所没有的能力和内容,例如:功能测试工程师想去做自动化测试,他觉得写自动化测试是价值,他能从中学到新的内容;自动化测试工程师想干吗呢?他觉得我自动化能力已经掌握了,我想更多地了解一些业务,了解这个产品的使用知识。作为一个名软件测试工程师,你想清楚自己目前实力技术在哪个阶段上,想拓展自己的知识的深度和广度,时刻想着如何是自己进步,这是一件好事。
那么我们就从以下的两个分类来给大家分析测试的深度
1、功能测试工程师。我们常常会认为功能测试非常简单,只要花一点时间理解产品,理解需求,就能对产品开展测试工作。确实,很多情况下我们是这样做的。但本质上,不同的测试人员对于同一个产品的测试的深度和广度都是不一样的。我经常喜欢给学生讲的一句话是:一个经验丰富的测试人员绝大多数情况都会比经验薄弱的测试人员设计测试的时候要考虑的完全,但是经验薄弱的测试人员有的时候往往能发现老师傅发现不了的问题(这个大多来源于经验的累积,个人认为测试就是经验的累积)。因为老师傅往往会受到惯性思维的影响,而且老师傅往往的是自傲的(这个可以引用网上比较火的一句话:别人写的代码都是垃圾)。其实要将一个产品从功能上进行保证,我们考虑的场景会很多,尤其是交互式场景和产品的容错性上。不管是老师傅还是新学员,对于系统的问题升入挖掘才是核心需要做的事情。
2、性能测试工程师。我们在这里只讲性能不讲安全,因为性能和安全很像,在初学测试中我们只能了解大概,很难深入。这两个的核心都在于经验,这类测试的知识是需要经过很长时间才能积累起来,而不是一蹴而就,也不是通过一个几个月的培训就能够培养起来。这种人,他看到的业务场景越多,看到过的问题越多,他能很快地根据这个问题的现象,去决定进一步做怎么样的测试,或者去拿哪些指标。有了这些指标之后,他可以快速缩小问题的范围。这种能力很大一部分都来自于实践工作经验,你在工作经验中看到过这个问题,你才能去解决这个问题,你才会这方面会有想法。