前段时间,有小伙伴留言问:软件测试人员的进阶路线是什么?需要具备哪些专业素质?趁今天有空,就来跟大家聊聊这个话题,希望能解答小伙伴们的疑惑。
1、进阶路线
先来给大家科普一下软件测试工程师的进阶路线。关于进阶路线,我们可能需要分类来说。
1)从狭义来说,软件测试工程师的发展方向主要分为两大类:管理类和技术类。基于这个层面,进阶之路大体是这样的:
2)从广义上来划分,测试人员的发展不仅局限于测试本职工作,因此,发展方向是多方面的。但由于这些发展方向的核心要素又有着紧密的联系,主要包括三个:管理技能、测试技能、业务技能。
基于这3点,根据每个测试人员的掌握情况和职业对于技能的需求度,我们将软件测试人员的从业方向划分为:
(注:上图仅代表所需具备的专业能力比例,不代表具体数值,也无横向对比价值。)
根据6个不同方向,与之对应的岗位大体如下:
(注:只代表各大方向的具体工作岗位,不表示岗位的层次、级别关系)
2、应该具备的思维方式
接下来,我们聊聊软件测试工程师应该具备哪些专业素质。对于测试工程师来说,首要一点是练好测试技术,关于这块,就不展开说了。下面主要想跟大家说说,作为一名测试工程师,你得具备哪些思维能力。
1)简单思维
都说读书应该「先把书读薄,再把书读厚」。这句话适用于任何时候、任何工作。剥离一些非关键特征,追逐事物的本质,让事物简单的只剩下“根本”,是测试新手快速成长最见效的办法。
2)比较思维
在认识事物时,我们往往需要通过比较、通过归类,找出事物间的潜在联系,才能建立内在的关系网,从而进一步提升我们看待事物的高度。因此,树立比较思维对于测试工程师来说,受益终生。
3)逆向思维
逆向思维在我们平时的工作中,应用非常广泛。比如,根据结果逆推出条件,从而得出输入条件的等价类划分,等等。另外,在调试过程中,我们也经常能用到。比如,当我们发现一个缺陷,就可以通过逆向思维去定位问题所在,进而分析出解决问题的方案。
当然,逆向思维也是相对的。当我们按照与常规思路相反的方向进行思考,往往能够更容易发现开发人员的思维漏洞,从而更高的效解决问题。
4)组合思维
在做大型项目的测试时,我们经常碰到很多问题同时出现的状况,这大大提升了开发人员的出错率,同时,也使得测试人员的工作难度进一步加大。
比如,遇到多进程并发问题时,开发人员的出错率会比平时高很多。这个时候,就需要测试人员通过组合思维,去挖掘高难度bug了。我们可以针对不同的应用,尝试排序组合:排列(有序)和组合(无序),以便找出问题相关因素,进而找出bug。
5)全局思维
事物往往存在多面性,当我们掌握的层面越多,对它的认识度就越高,也就更利于我们掌握其中的本质了。因此,测试工程师需要具备全局思维,从多角度出发去分析问题,去理解其中的问题。
其实,平常我们参与软件测开发评审,就是借助全局思维去推动项目进程的。让更多人参与思考,让更多人发表言论,从而实现软件的全方位审查。
写在最后
事实上,在测试人员的日常工作中,其实我们早已有意无意的使用着这些思维方式,但是我们很少去总结,或者加深对他们的认识,以至于忽略了它们存在的重要性。
当然,作为一名测试人员,我们除了要重视自己思维方式的养成,还应该勤学活用,多总结经验,多应用这些思考方式。当我们真正具备了这些思维方式后,我们的测试能力将达到新的高度。