随着中国互联网的发展和软件市场的成熟,人们对软件作用期望值也越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试的文档工作,软件测试的工作也成为重中之重。
软件测试(英语:SoftwareTesting),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
我国软件测试行业起步较晚,发展较慢,直到21世纪初期,我国才逐步开始重视软件测试行业。但近年来,软件行业的快速发展为软件测试行业的发展提供了良好的基础,随着我国软件测试行业的发展,行业内企业向规模化发展将获得规模效应,可以有效降低企业的单位成本,而软件测试技术的不断发展,也将淘汰那些技术实力较弱的企业,促使行业内企业向专业化方向发展。
在软件业较发达的国家,软件测试产业已形成规模,比较发达,软件测试不仅早已成为软件开发的一个重要组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。在微软公司内部,软件测试人员与软件开发人员的比例一般为1.5∶1到2.5∶1左右,即一个开发人员背后,有至少两位测试人员在工作,以保证软件产品的质量1。国外优秀的软件开发机构把40%的工作花在软件测试上,软件测试费用占软件开发总费用的30%至50%,对于一些要求高可靠性、高安全性的软件,测试费用甚至相当于整个软件项目开发所有费用的3至5倍。
近年来中国软件测试行业市场规模稳定增长,2019年,全国软件和信息技术服务业规模以上企业已经超过4万家,累计完成软件业务收入71768亿元,市场规模达到1686亿元,同比增长18.3%。软件市场的快速发展带动软件测试需求的高速增长,因此,软件测试行业具备广阔的发展空间。
在我国,软件产业的兴起和发展处于“婴儿”阶段。国内公司都只注重软件开发,而认为软件测试不重要,没什么技术含量,找一些用户,对照需求尽力去测试就行了,不考虑软件的整体性能和功能,导致软件测试以往一直被中小型IT企业所忽视。随着软件的市场的扩大,更多的国内企业也开始认识到软件测试的重要性,但是由于国内测试人才的储备相对较少,也没有人确切地知道它应该怎样发展,所以,软件外包已成为国内软件产业发展的一个重要趋势。
根据中研普华研究院《2020-2025年中国软件测试行业现状分析及投资风险预测报告》显示:
从国内软件公司软件测试部门的独立性来看,多数软件企业没有专门的测试技术部门,软件测试程序也不太规范,多数企业也不懂测试,对测试的投入资金过少。大多数是在经过简单的测试之后,就认为是没有问题了,就交于用户了,让用户去“测试”;于是,软件产品在没有经过严格测试的情况下就发布了;对国内消费类软件而言,经常出现一些已经推向市场的产品由于被发现有严重缺陷而导致大量退货的现象;定制的行业软件,常出现一再返工、无限期的修改和维护的现象。所以软件测试行业发展也将会越来越好,对于急需软测人员的企业来说,这是一个最坏的时代,但对软件测试人才来说,这是一个最好的时代。
图表:软件行业公司软件测试部门设置情况
资料来源:中研普华产业研究院
国内各种测试培训机构、软件测试网站的增多,质量意识的提升,软件测试人员已成为IT一个重要的职位,涌入的人也越来越多。但互联网+的概念,传统行业转型互联网,公司业务量激增,创业风潮,人员流动等缺口依然会有。
通常分两种情况,一种是大多公司重生产岗位(研发等),测试属支撑部门,话语权低,而测试为软件最后出口,所以通常背锅(承担责任)会比较多,需要平常心,并积极主动推进流程优化。另一类,有成熟的质量体系的公司,会以产品质量为先,用户至上,会实际关注测试质量,相对是比较理想的公司。(其他变种类型暂不予参考)
测试门槛低,入行容易,导致很多专业知识不够扎实,只懂得一些表面上测试技术。学习的技术浅且杂,多注重工具的使用,思想的培养建立较少,不关注工具为什么要用,何时用,仅仅是为了高薪资而学,为了KPI而推广。
拿1-3年软件测试的来说,低的2K-8K,高的8K-20K,各种因素影响:比如个人背景:毕业学校,协力;比如地域企业:北上广深,华为BAT;比如测试专业领域:自动化测试、性能测试、安全测试;比如创业风潮:互联网、无人机、金融、AI等等。
1、行业前景好职业寿命长
根据相关招聘网站发布的最新一期的IT职场人气排行榜,其中软件测试工程师、高级程序员、产品项目经理等高薪职位进入“三甲”,成为IT就业市场最新风向标。随着项目经验的增加,项目从业经验越久经历的项目越丰富,就更具有核心竞争力。
2、职业空间大发展方向多元化
软件测试人员不仅仅局限于通信及互联网、应用软件二大行业,在金融及其他行业都占有一定的比量,行业范围非常广。同时由于工作的特殊性,测试人员不但需要对软件的质量进行检测,而且对于软件项目的立项、管理、售前、售后等领域都要涉及。向上可以发展成为测试经理、质量经理,横向可以发展成为项目经理等。
3、后期职业发展方向
软件测试工程师发展可以分为管理岗和技术岗。管理岗从测试专员开始到测试组长、测试主管、测试经理。技术岗发展路线为初级测试工程师、中级测试工程师、高级测试工程师、测试专家。
测试专家包括测试设计师、高级测试工程师、终极测试工程师、测试工程师等;
技术专家包括测试架构师、性能测试工程师、自动化测试工程师、测试工程师等;
团队管理包括测试总监、测试经理/项目经理、测试组长、测试工程师等;
业务专家包括产品经理、咨询顾问、需求分析师、测试工程师等。
4、人才缺口大薪资待遇好
我国企业对于软件测试自动化技术在整个软件行业中的重要作用认识较晚,因此,专业的软件测试人才供需之间存在巨大的缺口。刚入行的软件测试人员,起步月薪大多才8000-10000元左右。高于同龄人其他行业1000-2000元的薪资水平,工作2-3年后月薪在10000-15000元左右,工作7年后年薪可达20万或更高。
5、女生也吃香
有很多女士会考虑女士适合做吗?其实软件测试工程师对性别没有特殊要求,注重经验的积累,虽然男性的逻辑思维能力极强,但在沟通和耐心方面女生具有独特的优势,所以,目前软件测试工程师的从业男女比例大致维持在1:1左右。
6、门槛相对较低
软件测试在IT行业相对于其他岗位入职门槛相对较低,和适合零基础的学习转行,一般学习到功能测试就可以找到工作,虽然入门门槛较低,但是想要好的发展是需要不断的学习的,因为软件测试涉及面比较广,内容比较杂,后期发展也可以往自动化测试、性能测试、安全测试、测试架构师发展,发展前景还是很好的。
①测试和发现软件中存在的软件缺陷;
②测试工作需要贯穿整个软件的生命周期;
③ 测试用例报告形成:测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。
④测试计划制定:测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
⑤ 缺陷报告编写及提交:测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。
⑥软件质量分析:在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
很多人理解软件测试就是在计算机按来按去去寻找软件缺陷,诚然,初级软件测试工程师一般只做黑盒测试,也就是说,按部就班的执行测试用例,当预期结果与实际结果不符时,就认为可能寻找到一个软件缺陷。
可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;
搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;
这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux相关技能
操作环境、命令、安装数据库、部署测试环境等
数据库相关技能
各种命令用法、字段、增删改查
接口测试相关技能
接口测试基本理论、http协议、测试方法;
接口测试需求分析、用例编写、评审;
几种工具的掌握,jmeter、postman、soupUI;
APP测试相关技能
安装/卸载、离线、UI、登录等测试内容;
兼容性测试、monkey、fiddler抓包;
搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!