近期由于部门调整有3位小伙伴顺利转岗测试;在公司晋升讨论会上大家对转岗测试工程师技术能力提出了质疑;自己技术能力一般般到承担起直播视频部测试负责人这个角色...通过这些案例我们可以真切的感受到测试工程师这个岗位其实是很容易被替代的,一个容易被替代的职业其实是没有竞争力的。
工作了3年5年会的东西,一个应届生稍加培养也能做,那么企业会选择谁可想而知,但是我们经常听到一句话“测试是没有天花板的”,大家觉得为什么会这么说呢?
对于开发工程师而言,通常需要深度遍历关注的是“点”。举个例子,对于前端工程师来说除了前端的一些技能,他需要了解后端接口的设计,但是API层面、数据索引这些东西他其实是不需要知道的,那么他只需要做到术业有专攻,专注于领域内一个或几个点深度学习就差不多了。
而对于测试工程师来说,像上面所说的API每一个接口数据的流向,数据库索引等这些东西我们都需要去关注。要测好一些东西,通常需要学习很多东西,广度遍历关注到“面”。但是当你瞎子过河一把抓的时候,看到这个想学那个也想学,其实就会越来越迷茫,所以在学习的过程中,我们首先要找准自己的定位,先搞清楚你的核心竞争力,然后去进行有针对性的学习。
那么,测试工程师的核心竞争力究竟是什么?通过网上的一些文章和工作工作中慢慢摸索,总结出以下几个点。
第一点,测试策略的设计
测试策略的设计是指对于不同的被测软件,能够快速精准的理解显示和隐含需求,在有限的时间和资源下,明确测试重点和最适合的测试方法的能力。
1、测试要执行到什么程度
2、测试要借助什么工具
3、测试资源合理的分配
4、测试进度合理的安排
5、测试风险评估和应对
出色的测试策略设计能力,不像单纯的测试技术那样通过网上教程就能很快学会的,他通常需要大量的项目实战积累潜移默化来形成。
第二点,测试用例设计
测试用例是测试过程中的灵魂,测试用例设计能力是指无论对于什么类型的测试,都能设计出高效的发现缺陷,保证产品质量的优秀的测试用例。
做好测试用例的设计,需要深入的理解被测软件的业务需求和目标用户的使用习惯,还需要熟悉软件的具体设计和运行环境,包括技术架构、缓存机制、中间件技术、第三方集成服务等。
测试用例设计的能力要求我们不能局限于当前领域业务的测试用例设计,而是能够融会贯通,可以把系统性的测试用例设计方法和具体业务有机结合,对任何被测软件都能输出出色的测试用例。
要提高测试用例的设计能力,需要我们平时多积累,对常见的缺陷、典型的错误类型,不断的进行归纳总结,才能逐渐形成体系化的测试用例设计思维。
同时我们还可以多学习别人的测试用例设计开阔思路,在以后的项目中做到举一反三。
第三点,缺陷分析和定位能力
缺陷分析和定位能力,通常包含三个层面的含义:
1、对于已经发现的缺陷,结合发生错误的上下文以及后台日志,可以预测或者定位缺陷的发生原因,甚至可以明确指出具体出错的代码行,由此可以大幅缩短缺陷的修复周期,并提高开发工程师对于测试工程师的认可以及信任度;
2、根据已经发现的缺陷,结合探索性测试思维,推断同类缺陷存在的可能性,并由此找出所有相关的潜在缺陷;
3、可以对一段时间内所发生的缺陷类型和趋势进行合理分析,由点到面预估整体质量的健康状态,并能够对高频缺陷类型提供系统性的发现和预防措施,并以此来调整后续的测试策略。
第四点,快速学习和总结能力
快速学习能力,包含两个层面的含义:
1、对不同的业务需求和功能的快速学习和理解能力
2、对测试新技术新方法的学习和应用能力
对于咱们直播这种快速迭代模式,他的生命周期不像传统行业以周或月为单位,两三天出一个需求,我们不能只停留在简单的操作和使用上,知其然而不知其所以然,更需要快速的去理解他的实现原理。
长期处于这种学习状态,对逻辑思维的提高和理解能力都是有很大的帮助的。
总结能力不管是在工作还是学习中都是特别重要的,阶段性的总结代表着你在思考,能够很快的明确当下存在的问题和不足有利于快速提高。
第五点,沟通协调和统筹能力
测试工程师在项目中起到“润滑剂”的作用。
一方面需要对接产品经理和项目经理,确保需求的正确实现和项目整体质量的达标;
另一方面还要和开发人员不断地沟通、协调、推动,确保缺陷的及时修复与验证。
其次项目提测后,整个测试基本应该以测试人员为主,产品经理只是起到一个协调的作业,到项目上线前整个节奏的把控都应该做到心里有数,项目阻塞时需要去驱动解决,有风险需要及时周知,把握好质量这条红线。
所以,测试工程师的沟通协调和统筹能力会直接影响事务开展的效率。良好清晰的沟通协调和统筹能力,是一个优秀的测试工程师能否获得更大发展的“敲门砖”,也是资深测试工程师或者测试主管的核心竞争力。
第六点,探索性测试思维
探索性测试是指,测试工程师在执行测试的过程中不断学习被测系统,同时结合以往的经验进行错误猜测和逻辑推理,整理和分析出更多的有针对性的测试关注点。
本质上,探索性测试思维是“测试用例设计能力”和“快速学习能力”有机结合的必然结果。优秀的探索性测试思维可以帮助你实现低成本的“精准测试”,精准测试最通俗的理解可以概括为针对开发代码的变更,目标明确并且有针对性地对变更点以及变更关联点做测试,这也是目前敏捷测试主推的测试实践之一。
第七点,自动化测试
掌握自动化测试技术,可以把你从大量的重复性手工劳动中解放出来,这样你可以把更多的时间花在更多类型的测试上。
一方面,自动化测试技术本身不绑定被测对象,比如说掌握了 GUI 的自动化测试技术,那么就可以基于这个技术去做任何 GUI 系统的界面功能测试了。
另一方面,自动化测试技术需要测试工程师具备一定的写代码的能力,这通常与测试工程师职业发展的诉求不谋而合,所以你会看到很多测试工程师非常热衷做自动化测试。
但是切记,自动化测试的核心价值还是“测试”本身,“自动化”仅仅是手段,实际工作中千万不要本末倒置,把大量的精力放在“自动化”上,一味追求自动化而把本质的“测试”弱化了。
热门关键词: 登录