{eval=Array;=+count(Array);}
一说到软件测试工程师,大部分人对他们工作的理解基本都是“一直抱着手机点点点”、“找BUG”,这样简单粗暴的重复性工作其实是早期的测试留给大家的刻板印象。但随着互联网和测试行业的发展,这种标签早就该被撕掉了。
什么是软件测试?
首先你得知道
软件测试工程师
是个什么样的岗位?
日常的工作是什么?
行业现状是怎样的?
岗位定义
软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有Bug,决定软件是否具有稳定性,写出相应的测试规范和测试用例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
日常工作
1.需求评审:看文档,了解需求,分析业务流程,与商务、产品、开发人员共同参与需求评审会
2.测试用例:测试计划安排(每月、每周、每日的节点测试),按项目情况编写并评审测试用例文档,尽可能把bug降到最低
3.执行测试:找bug,提交bug,与开发讨论bug,并协助开发修改bug
4.回归测试,检查开发修改bug情况,再进行系统测试,编写测试总结报告
行业现状
据调查数据显示,目前国内IT技术岗有三、四百万人,其中软件测试人才缺口至少三十万,在未来5-10年中这一数字还将持续增长。国内软件公司的测试人员与开发人员的比例在1:4及以上的高达55.13%。可见整个软件测试行业正处于黄金发展期,未来对高素质、高技能的软件测试从业者的需求量也会越来越大。
软件测试除了有前途外,也很有“钱”途。一般来说,软件测试没有开发那么累,需要经常加班熬夜。测试工程师只要按时按量完成好工作就可以,相对来说比较轻松。如果钻研技术,在积累了一定经验后,可以从初级测试工程师晋升为中级或高级测试工程师。也正因为软件测试工程师会从多方位考虑问题,注重细节,甚至比软件开发更容易转产品经理岗位。
有人不是很能理解,测试工程师对于软件公司及软件开发有多么重要。直接点说,他们就是检查软件缺陷的。
波音737飞机因为一个软件系统的故障,在短短5个月内连着坠毁两架,伤亡惨重。
软件缺陷造成的损失是惊人的。即使是一点点缺陷,也会造成损失,俗称“千里之堤溃于蚁穴”。
软件缺陷一般指的是下面5种情况:
1. 软件未达到产品需求文档中标明的功能。
2. 软件出现了产品需求文档中不应该出现的错误。
3. 软件功能超出产品需求文档指明的范围。
4. 软件未达到产品需求文档虽未指出但应该实现的功能。
5. 从测试工程师的角度来看,软件难以理解、不易使用、运行缓慢、逻辑错误,用户体验不佳,或者最终用户认为不对。
测试工程师的本质其实也是代表用户,这个角色对软件的成败至关重要。如果一个软件开发团队没有测试工程师,就相当于直接让用户来当你的测试,可能遇到一点点缺陷,用户就流失了。但若是先让测试发现这些问题,没有关系,一切都还来得及。
所以,喜妹不仅希望软件开发公司能越来越重视测试工程师(喜来达一直很看重我司细心认真的测试小姐姐们),也希望客户Baba们在选择外包开发公司的时候也考察一下该团队的测试实力。
所有的软件测试工程师们注意了,在行业发展的大好春天里,也得戒骄戒躁,努力做一个合格的且高技能的软件测试工程师。
市场上对测试的要求基本就是公司老板对测试的看法,普通人也是通过这个来认知。
01 不需要测试人员的初创公司
一般来说,小公司特别是初创公司,基本没有设置测试人员,开发自己就测了。
初创公司自己的产品还在实验阶段,随时改,没有标准,先让产品能跑起来,至于那些小bug,公司自己能活下去以后再改。
02 需要基本功能测试的小公司
当企业发展到一定阶段,产品也用了一定时期,觉得开发自己测也不靠谱,能测出来的东西都是开发从自己角度能考虑到的。
公司希望有专门的测试人员来把关,毕竟开发和测试有不同的思维模式,希望测试能发现开发的思维误区。
小企业需要的测试人员是基本的功能测试,不会涉及到高级别的性能测试,安全测试,稳定性测试等等。
这个级别的测试人员只要懂基本的业务就好。如果公司没有专门负责业务的系统工程师,开发人员自己解读业务的话,那测试的要求又都是从开发这边来,测试人员就成了开发人员的帮手。
03 大公司、大项目中测试人员
越是大公司大型项目越需要测试人员,有经验的测试人员能让产品质量得到更高保证。
大型项目中的测试可以分成基本功能测试,性能测试,安全测试及自动化测试开发等。
测试人员对需求解读不是来自于开发,他们和开发一样来自专门的系统工程师,所以不会被开发影响,有独立的地位。
因为是大型项目,测试环境其实和开发环境是不一样的。开发一般都在本地开发,但是测试需要放到大型机,服务器甚至集群环境下。
这个时候测试除了需要了解功能,也要懂环境,第三方软件部署配置。在测试时,特别是性能测试时,需要了解性能指标,所以需要对网络,操作系统有了解。
像开发一样,那些真正厉害的测试人员,都要懂得计算机底层的东西。
高级测试人员,也会自己写脚本的。
所以最后得出结论,测试岗位重要性是由公司产品来决定。
做测试相对来说是个比较枯燥的职业,而且做测试的女生居多,主要是给产品找bug,逻辑问题、界面问题、前后端问题……
如果自己比较喜欢钻研,建议还是不要做测试工作,毕竟测试比较中规中矩,没有多大挑战性。当然也不是说做测试不需要知识,相反做测试工作还是需要很扎实的基础,没有扎实的基础是找不出问题的,正所谓“工欲善其事必先利其器”就是这样。
至于测试工程师这个岗位,怎么说了,因人而异吧,有的人本身喜欢测试,而且在测试的过程中本身能学到很多东西也可以沉淀自己,何乐而不为!
4
回答10
回答0
回答0
回答0
回答0
回答1
回答3
回答5
回答10
回答