首先他不知道软件测试是个什么东西,其次这个岗位是怎么工作的,他的工作内容是什么,做这个工作需要掌握哪些技能,行情如何、未来的发展方向在哪里,我适不适合从事这份工作等等问题。
曾经一个做销售的朋友,经常烦恼销售怎么不好,怎么累,最后前后花了两周的时间给他做指导,成功转行到软件测试,现在已经入职一家上市公司,发展相当不错;目前由于公司调整所在部门的3位技术支持转岗到测试,经过给他们进行了系统的培训,一位同事离职后,成功拿到北京9k的测试offer,另外留下的两位已经能够上手干活。
写这篇文章的目的,主要是想根据以上几个点对软件测试进行一个整体介绍,希望这些能帮助到想从事软件测试的朋友们,公众号‘软件测试学习攻略’会持续更新,感兴趣的朋友们可以关注。
软件测试是伴随着软件的产生而产生的。早期的软件开发过程中软件规模小、复杂度低,软件开发的过程混乱无序、相当随意,测试的含义比较狭窄,开发人员将测试等同于“调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。
上世纪80年代初期,软件和IT行业进入了大发展,软件趋向大型化、高复杂度,软件的质量越来越重要。这个时候,一些软件测试的基础理论和实用技术开始形成,并且人们开始为软件开发设计了各种流程和管理方法,软件开发的方式也逐渐由混乱无序的开发过程过渡到结构化的开发过程,以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征。
软件测试(Software Testing):描述一种用来鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的比较过程。
软件测试的经典定义:在规定的条件下对程序进行 *** 作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试不单纯是一个发现错误的过程,而是将测试作为软件质量保证的主要职能,包含软件质量评价的内容。
1尽可能发现更多缺陷;
2提高开发效率,降低开发成本;
3提高用户体验;
测试是不可穷尽的,测试人员不可能发现系统中所有的缺陷,每个版本发布前也不可能保证所有已知的缺陷都会得到修复,所以反复测试是为了发现更多的缺陷,预防风险。
测试人员跟踪需求、验证质量、提交缺陷的同时也促进了开发人员技术的提升,在这个过程中牵扯到项目流程管理的问题,一个优秀的测试在这个过程中会建立一套完成的体系来提高整个团队的工作效率从而来降低开发成本进而把控产品质量,但需明确的是,软件的质量不只是测试人员来把关,最终质量好坏是整个团队的结果。
软件测试整体是验证功能的实现、可用性,检查程序的错误,最终目的是为了提高用户体验;在测试过程中,有一些缺陷级别低,解决与否都不影响用户使用,且缺陷存在本身用户也不会有感知,这时就需要从用户体验的角度去考量是否要定义该类问题为缺陷。
软件测试分为黑盒测试、灰盒测试和白盒测试
黑盒测试:不清楚程序内部的实现逻辑,只知道功能的设计,根据测试来证明每个功能是否符合需求文档。
白盒测试:清楚程序内部的实现逻辑,根据测试手段来验证每个分支的逻辑结构是否符合预期。
灰盒测试:介于黑盒和白盒之间,测试人员除了黑盒测试之外懂一些内部设计思路,会判断问题的根源。
软件测试岗位有:功能测试、性能测试、服务器测试、安全测试工程师、自动化测试、测试开发、测试专家、测试经理、测试总监等。
每个行业基本都会有测试这个角色,按互联网行业分软件测试有:移动互联网、电商、教育、金融、医疗|健康、保险、文娱|内容、游戏、社交、体育、工具、汽车|出行、物流|运输、房产家居、旅游、数据服务、信息安全、人工智能、通讯电子、区块链、物联网、VR|AR、硬件、传统行业等方向。
测试工程师简称QA,在软件研发项目组中处于最下游,最上层有项目经理做全局把控,产品经理PM定需求,设计师UI出设计稿,研发工程师RD、前端工程师FE根据需求文档、设计文档进行开发,开发完成后申请提测,测试工程师QA参与产品测试,测试完成负责项目的上线。
软件测试基本流程包含:需求评审——编码——测试(需求评审——技术评审——测试计划——用例设计——用例评审——测试执行——提交bug——测试报告——回归测试)——上线
1)尽可能发现缺陷
2)尽早发现缺陷
3)提升发现缺陷的效率
项目组产品:研发:测试的配比基本维持在1:5:1,也有的项目组是1:10:1,每家公司实际情况不一样略微有差别。
行业现状:
1)测试行业大学没有专门的课程,想要从事这个行业无非自学和培训两种途径,因为知识不成体系或者学的不够扎实的原因,很多人只能做一下简单的工作,用人单位需要一些技术层级稍微高一点的人才;
2)发展到2018年初,测试行业已经基本稳定,但是并没有饱和缺口依然很大,未来5~10年发展会很快,因为软件企业要靠软件产品的质量去占领市场,测试人员可谓是一个软件企业生存的命脉。
3)测试工作是软件工程中不可缺少的一部分,而且是相当重要的一部分,现在的中国软件行业,大部分都很畸形没有质量意识,很多企业测试工作不会被重视,经常出现压榨测试工期的情况,所以去大公司去做测试流程相对来说比较规范。
行业特点:
1)入门快,薪酬高
2)学历、门槛相对较低
3)市场需求量大
4)职业生涯寿命长,发展空间广阔
5)性别歧视不是特别明显,女生有时胜过男生
行业发展趋势:
1)纯功能性测试需求量会越来越低
2)接口自动化测试比重明显增加
3)性能测试依然人才稀缺
4)软件测试人才的需求量会越来越大
5)企业招人综合能力要求会越来越高
6)测试人员的薪资差距会越来越大
7)自学测试就业机会越来越少
软件测试人才更强调经验积累,在几年的测试经验背景下,可以逐步转管理或资深测试工程师,担任测试经理或测试总监,所以职业寿命更长;另外,一般大中型企业会单独设立软件测试部门,相对传统行业待遇普遍较高。
1)逻辑思维清晰
2)沟通表达能力较强
4)团队协作能力较强
5)责任心、耐心、细致,女生占明显优势
总结:软件测试是软件生命周期中必不可少的一个环节,从长远来看这个职业,除了测试相关的技能之外还需要拓展知识面,关于知识拓展这部分的学习渠道有博客或公众号,当然我的公众号软件测试学习攻略也会持续更新相关内容,感兴趣的朋友记得关注哟~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)