预见·软件测试技术专业软件测试之道AutoTest-AutoAI

软件测试人员能力矩阵

2018-06-01  本文已影响23人  厲铆兄

软件测试人员能力矩阵

在国内,软件测试走过了一段崎岖的发展之路。从不被重视,不设置岗位,变成目前越来越被重视,招聘市场越来越火热,高校也纷纷开始设立软件测试专业,重视软件测试。现在互联网+的时代,卖方市场不存在了,各个软件的竞争已经是资本与市场的白热化反映,没有任何一个产品敢“爱用不用”了,毕竟市场推广成本都不低,如果因为软件的质量不好被客户放弃,损失还是比较惨重。

引子

目前的市场,以深圳为例,根据职友集的统计,最近30天,软件测试的招聘市场需求岗位为32766,为软件开发职位的两倍。从这里我们可以得出:软件测试人员的职位缺口大。然而目前市场上的软件测试人员能力参差不齐,高水平的候选缺乏,大量的初级水平的候选充斥市场,导致人员基数大,市场需求大,招聘难度更大。所以更现实的有效的方式,应该是提升初级水平的软件测试人员的能力,更多的软件测试人员达到高级甚至资深的层次,实现个人,企业和行业的三方共赢。

这里我们来聊一聊软件测试的能力矩阵,从技术能力、项目能力和业务能力三个维度,分别讨论从初级到高级到资深水平的能力值。

image

技术能力

技术能力体现的是对技术手段的运用能力,在软件测试过程中制造和使用工具的能力。

站在进化论的角度,能够制造和使用工具,是早期人猿进化成人类的分水岭,当然也是区分人类与其他动物的本质区别。当然在软件测试中,能够制造工具,使用工具,也是衡量软件测试人员的技术能力的基本标签。

严格的讲,不会使用工具的软件测试人员是不存在的。哪怕纯粹“确认眼神”的手工测试,至少能够使用Windows操作系统吧,至少能够使用浏览器吧。这些都是算工具的。

这里我们以下面的几个因素来衡量软件测试人员的技术能力:

让我们来看看各个级别的软件测试人员对应的矩阵。

初级 高级 资深
操作系统 能够熟练使用Windows桌面,了解Linux,知道Linux的基本命令使用 能够在熟练使用的基础上,在Windows和Linux服务器搭建和部署测试环境 能够使用PowerShell和LinuxShell脚本,自动部署服务器环境,并处理命令
浏览器 能够使用浏览器运行被测试的系统,知道常见浏览器的内核和分类 能够使用浏览器自带的开发者工具查看HTML源码,定位HTML标签 能够使用浏览器自带的开发工具查看网络通信,调试前端JavaScript代码
项目工具 能够使用项目管理工具提交缺陷,编写用例 熟悉项目管理工具从提测到发布的全部流程操作 知道各种项目管理工具的优缺点与侧重点,结合工具与实际流程使用
测试理论 能够准确提交缺陷,格式正确,内容清楚 能够编写测试文档,并根据测试文档指导测试执行 理解质量理论,并根据团队实际情况,将质量理论运用到测试度量上
测试工具 入门级别的使用工具,执行测试 能够使用工具抽离业务,编写测试脚本,并执行测试。 能够构建测试方案,指导初级测试工程师合理使用
编程工具 能够认识到编程工具的作用 能够编写基本的工具,辅助执行用例,准备测试数据 能够通过编程工具,使用开源第三方库,用面向对象的方法编程,构建测试方案
学习能力 不会举一反三,只会机械学习 能够举一反三,能够模仿并作出类似的甚至更好的方案 有完整的学习方法和体系,针对不同的知识有不同的学习和转化能力

项目能力

项目能力体现的是对IT项目管理的适应能力,能够在实际项目中体现自身的价值,帮助项目团队交付高质量的产品。

项目能力往往是靠单独学习得不到的,必须经过长时间的实践、总结,来提升自己。笔者见过很多“十年如一日”的软件测试人员,其实相当悲观。工作十年,积累的的项目能力相当于第一天的水平,夸张了点,但是确实很多类似的人员。

我们列出来项目能力的指标与因素,帮助更多的从业人员有更好的方向,避免“十年如一日”的产生。

这里我们以下面的几个因素来衡量软件测试人员的项目能力:

初级 高级 资深
测试流程 根据流程执行测试,跟踪和关闭缺陷 能够分析和定位缺陷原因,验证缺陷修复 分析工作流程中限制测试实施的因素,并提出方案解决
项目流程 根据项目的安排完成任务 项目的主要质量保证,可以独挡一面完成项目交付 分析和解决项目中遇到的问题,合理协调资源,完成项目交付
项目理论 理解基本软件生命周期,了解瀑布模型或者敏捷开发 合格的软件生命周期缔造者,运用瀑布模型里程碑或者敏捷开发的迭代,指导完成工作 精通瀑布模型或者敏捷开发的某一个框架,指导团队实践该框架
任务估时 无法准确估计任务时间 能够准确估计任务时间 能够对任务的进度与时间进行精准把控
项目并行 无力承担多项目并行工作或者能简单完成任务制的项目并行 能够胜任项目并行工作,合理分配工作时间安排,保证工作效果 解决和处理项目并行带来的冲突,协助团队实现项目并行的交付目标

业务能力

业务能力体现的是对用户故事(需求)的分析和理解能力,能够充分的理解产品的业务流程,通过对业务流程的分析,勾画用户使用行为,确认验收标准。

或许有的小伙伴会质疑,为什么要考虑业务能力?不是有需求分析师(BA)么?不是有需求说明书(SPEC)么?

一位合格的软件测试人员,应该能够合理的,快速高效的分析需求,对需求的分析与理解能力和层次,决定了你的工作高度,不是么?如果只能够停留在“输入框”与“是不是好看”这些方面,那么你的测试层次,就只是在入门的层面哦?因为你的工作,是不是你爸妈也可以替代呢?

这里我们以下面的几个因素来衡量软件测试人员的业务能力:

初级 高级 资深
需求分析 能够理解需求的细节,分析和设计测试场景 能够对需求进行充分沟通与分析,制定需求验收标准与测试范围 能够理解需求不合理的部分,包括逻辑上的不合理以及与项目团队的不合理,并提出方案解决
流程分析 能够看懂流程图 能够画出流程图 能够溯源项目的数据,根据流程图追溯上下游以及数据的处理逻辑
文档能力 能够用Word编写文档,尽量保证格式 能够用正确的格式编写文档,能够使用WIKI工具或者Markdown工具 能够通过文档的描述,指导团队的软件测试工作
数据分析 能够使用数据分析工具,对当前的业务进行梳理并得出业务的所有流程 把数据分析作为业务的一个重要切入点,很高的数据敏感度来解决业务问题

总结

上述的三个维度,我们简单的阐述了软件测试的能力矩阵,其实不难看出,解决问题的能力尤其重要,在每一个维度中,资深级别的描述,都具有很强的解决问题。

本文我们简单的分析了技术、项目与业务三个维度,希望可以能够帮助到从事软件测试的各位小伙伴。另外也非常欢迎各位的讨论,如果您有其他方面的想法,欢迎与作者交流沟通:liu.tingli@qq.com。有任何的不足之处,也敬请指出,共同进步。

上一篇下一篇

猜你喜欢

热点阅读