当前位置:网站首页>成为一个优秀的测试工程师需要具备哪些知识和经验?
成为一个优秀的测试工程师需要具备哪些知识和经验?
2022-08-10 17:19:00 【代码小怡】
看到这个题目,头脑中马上就拆分出了3个小问题:
1、什么是优秀的测试工程师?
2、优秀测试工程师需要哪些知识?
3、优秀测试工程师需要哪些经验?
一个个讲解。
一、什么才是一名优秀的测试工程师呢?
什么才是一名优秀的测试工程师?我们可以通过测试日常的工作场景来发掘。
场景1:在一个项目中,需求发生变更了,如何处理?
场景2:在项目上线紧张时刻,系统出现异常,如何处理?
场景3:正在经历的项目有一个未知领域内的工作,需要攻克一些技术难关,发现没有带头人去做如何处理?
场景4:后续基本稳定,需要迭代过程中如何通过自动化技术手段提高测试效率,能否带领团队从整体把控整个产品质量?
软件测试是一个综合性很强的岗位,不仅仅需要具备一定的技术能力,还需具备团队合作及解决问题能力。那么优秀的测试人员针对上述测试场景会如何处理呢?
闭目想想…
接下来我们再来看看优秀测试人员的做法:
场景1:在一个项目中,需求发生变更了,如何处理?
普通测试工程师:省略n字
优秀测试工程师:变更流程及跨部门的沟通
场景2:在项目上线紧张时刻,系统出现异常,如何处理?
普通测试工程师:自己脑补
优秀测试工程师:有风险预防措施及应对方案
场景3:正在经历的项目有一个未知领域内的工作,需要攻克一些技术难关,发现没有带头人去做如何处理?
普通测试工程师:省略n字,自己脑补
优秀测试工程师:能确定技术的成熟度及方案的可行性
场景4:后续基本稳定,需要迭代过程中如何通过自动化技术手段提高测试效率,能否带领团队从整体把控整个产品质量?
普通测试工程师:省略n字,自己继续脑补
优秀测试工程师:具备高效完成工作的进阶技能
那么这样就算很优秀了么?
非也。
上面的场景属于先出现问题后解决问题。要达到优秀的测试工程师标准,
1)就需让测试工作前移,提前发现问题。
2)甚至要避免出现各种问题,以全面保障整个软件质量过程的管控。
3)能够带动团队,具备把控整理软件质量的能力。
这就需要测试人员锤炼如下本领:
通过学习不断的提升自己
夯实基本功多思考总结,在实践中反复验证改进
二、优秀测试工程师需要学习哪些知识,来不断提高自己?
1、问题引入
例如:
给你一个完整的xx项目,有web页面也有app甚至还有小程序,项目中给你产品需求说明书,那么测试要如何开展测试工作呢?
要能够开展测试工作,我们需要考虑3个方面:
1)得清楚测试的目的是啥?
2)按照什么流程步骤完成测试活动?
3)能否交付用户使用?
对于初级测试工程师而言,更多的是按部就班,按照领导的安排进行测试执行;
优秀的测试工程师需要从测试设计出发,以整体产品业务为主线,关注整个产品的质量以及稳定性等方面的测试点设计,同时还需要对已经设计的测试点转化为用例并执行,过程中还存在流程的优化,过程的改进,风险的把控等。
2、初级测试工程师提升到优秀测试工程师,需具备什么技能?
①熟悉必备的项目测试流程,能够轻松指导在项目中如何开展测试工作,流程如下:
需求分析评审
测试计划与方案制定
测试用例编写与评审
测试用例执行
缺陷跟踪
测试报告
②按照流程实施的过程需要进一步跟进确认:
上述过程中,需求分析评审更多的需要对于产品需求达成一致理解;
确定好需求范围后,按照项目计划制定测试实施计划及方案,描述做什么,谁来做,怎么做;
侧重点是用例的设计编写,全面覆盖需要并验证最终的产品是否满足需求,是测试工作的核心;
测试用例执行过程,需要等待开发达到提测标准,冒烟测试通过后进行测试用例执行;
执行过程中产生bug,需要按照缺陷跟踪流程来跟踪验证bug,知道问题被修复完毕;
当整个项目测试完毕后,进行测试报告的编写及项目的总结。
要完成上述整体的过程,需要知识技能的储备、时间管理把控、问题的分析定位及沟通解决等一系列的支撑。
3、如何才能获取优秀测试工程师具备的这些技能呢?
计算机基本技能。例如:软件的基本管理和办公软件的基本使用等
软件测试理论。例如:软件测试流程、测试用例、缺陷报告等
测试专业技能。例如:计算机网络、操作系统、数据库、编程语言等
其他相关能力。例如:和不同角色的人进行沟通解决问题能力,带领团图研发能力等。
那么,如何将知识转化为自己的技能呢?
第一种方式,可以直接通过自学方式完成,对于个人自律性要求较高,需要个人投入的时间成功更高。
第二种方式,可以参加专业的培训进行系统学习,适合基础比较薄弱的同学,同时系统学习能够比较全面夯实软件测试相关知识内容,对大多数人来说效果会更好。
三、优秀测试工程师需要哪些经验,来提高自己?
在实施过程中必然会碰到在理论知识中没有的问题,那这就需要经验。经验的获取源于不断的项目实战。
软件测试经验的获取需要大量的项目实战经验积累。所以参与具有一些实战意义的课程系统学习,无疑是一个积累经验的快速通道。
例如:一个手机银行APP项目,只有产品需求说明书或UI原型图,那么测试人员是如何进行一步步实施获取经验呢?
根据上述原型图:
首先读懂需求文档或原型图要表达的意思,比如上述UI描述的核心就是“转账功能”,对于转账来说,根据常识经验,需要验证转出账号的余额,转入账号的卡号姓名对应正确,转账的密码验证码,以及到账时间的正确性;
其次,需要考虑转账金额的正确性,如果转账过程中出现问题,能否回滚,金额原路退回;最后,还可以考虑能否多次转账,以及转账后记录是否可循。
把握住了这些关键测试点,那么就能验证到转账功能的核心,对于测试者来说就不会出现太大问题。而这些经验来源更多的是需要测试人员“站在用户使用角度”去思考,再结合产品需求文档就更加完善。
这就需要具备一定的理论知识,才能更好的完成实践:
- 软件测试技能
- 财务相关业务知识
- 生活常识
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!
这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
边栏推荐
猜你喜欢
什么是开源中的 “胖虎效应”
百日刷题挑战--错题01day
Pytorch GPU模型推理时间探讨2——显卡warm up
#夏日挑战赛#【ELT.ZIP】啃论文俱乐部——学术科研方法论沉淀辑
最详解决:jupyter notebook不会自动打开浏览器问题
PC软件问题二[Win10系统将UltraEdit添加到右键菜单的方法]
【云原生| Docker】 部署 Django & mysql 项目
nacos服务注册
Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
Talk about cloud native data platform
随机推荐
defi质押借贷理财挖矿dapp系统开发逻辑
R语言检验时间序列的平稳性:使用fUnitRoots包中的adfTest函数检验时间序列数据是否具有平稳性(设置参数type为nc时、既不去除趋势也不进行中心化处理)
C:枚举的优缺
win11安装deepin20.6双系统(双硬盘)
SQL优化的魅力!从 30248s 到 0.001s
v-bind指令:设置元素的属性
DeamNet代码学习||网络框架核心代码 逐句查找学习
v-for指令:根据数据生成列表结构
取Json中的数组进行遍历
神经网络的图像识别技术,神经网络识别图像原理
等保2.0一个中心三重防护指的是什么?如何理解?
《安富莱嵌入式周报》第277期:业界首款Cortex-M55+Ethos-U55 NPU套件发布,20个墨水屏菊花链玩法,氙气灯镇流器设计
分类常用的神经网络模型,深度神经网络主要模型
unity 坑坑001
股票量化交易策略:多因子筛选练习
最新手机号码的正则
nacos服务注册
mysql包select结果无法同步的问题
kuangbin专题一 简单搜索
R语言拟合ARIMA模型:使用forecast包中的auto.arima函数自动搜索最佳参数组合、模型阶数(p,d,q)、如果已知阶数则直接使用arima函数构建模型(order参数指定阶数)