一文让你看懂什么是软件测试,让你选择不迷茫!

原创
2020/12/04 14:00
阅读数 1K

01、什么是软件测试?

软件测试是通过手工或自动的方式,来运行或测定某个系统/程序,用来保障软件质量、增加用户体验、降低开发成本的一种技术手段。它贯穿于整个软件产品的开发周期,目的在于检验产品是否满足规定的需求。

在这里插入图片描述

02、什么是软件测试工程师?

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),确定软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。

软件测试人员的职责在于协助开发人员尽可能地在早期发现并提出问题,提高产品在用户体验、安全性、稳定性、功能性等各个方面的质量,确保产品的正常运作。

按其级别和职位的不同,分为初级、中级、高级三类。

03、为什么企业需要软件测试?

随着互联网快速发展,软件系统越来越复杂。一个产品不再是由1-2个开发人员单独完成,而是团队配合,可能每个人只负责其中一个模块,对于产品全局没有全面的了解。所以软件在运行时非常容易出错,也就是俗称的Bug。

而且每一个开发工程师都会有自己的思维局限,自己的错误自己很难检查出来,所以这时就必须要有专门的测试工程师用专业的方法来检查产品,否则会给企业带来巨大的损失。

作为IT公司内部必不可少的重要组成部分,软件测试是保障软件质量的重要手段,被誉为 “软件质量把关的最后的一道生命防线”。

在这里插入图片描述

现实案例

2017年3月,摩拜单车安卓最新版本出现技术漏洞,用户充值1元,竟然返现110元;

2018年,淘宝双11刚开始的几分钟内,下订单时选择收货地址时系统出现瘫痪;

《王者荣耀》最新上线的英雄马超连续位移bug,且伤害恢复能力降低;

星巴克咖啡由于POS系统的软件故障无法处理交易,因此被迫关闭了美国和加拿大约60%的商店;

亚马逊的第三方零售商看到他们的产品由于软件故障价格全部被降至1英磅,由此导致惨重损失。

以上案例都是因为测试没有把好关,以致于让存在问题的系统照常上线,最终给用户带来极差的体验,给企业带来巨大损失,由此可见软件测试的重要性。

04、软件测试人员的从业方向

技术方向

  • 功能测试工程师
  • 自动化测试工程师
  • 性能测试工程师
  • 测试开发工程师
  • 测试架构师
  • 资深测试架构师

业务方向

  • 业务咨询顾问
  • 行业咨询顾问
  • 技术咨询顾问
  • 项目经理
  • 质量保证工程师
  • 软件质量管理专家

管理方向

  • 测试组长
  • 测试经理
  • 测试主管
  • 项目经理
  • 产品经理
  • 产品总监

05、软件测试“钱”景如何

在这里插入图片描述
广州软件测试工资收入

在这里插入图片描述
全国软件测试工资收入

在这里插入图片描述

1-3年工作经验软测工程师招聘薪资

3-5年工作经验软测工程师招聘薪资

在这里插入图片描述

06、软件测试行业的现状

1、据2019年软件测试现状调查报告显示,目前测试人员所属公司集中在通信及互联网行业、应用软件行业和金融行业,占总体70.7%,其它行业的比例相差不大。预计在未来的十几年内,物联网/互联网、应用软件行业和金融行业这三个行业还是测试人员所在的主要领域。

在这里插入图片描述

2、测试团队规模正呈两极化发展,要么在中小企业,要么在大型公司。 因为中小型企业主打小型项目,项目类别相对单一,研发周期较短,且项目经费有限,小型测试团队即可满足日常测试需求。

而在大型公司,尤其是互联网行业,大中型项目居多,项目涉及范围广,类别覆盖各个领域,产品更新迭代快,对于软件质量要求更高,因此需要大量测试人员才能满足项目需求,这也是为什么软件测试人员比开发人员更有机会进大厂的原因。

3、软件测试行业目前男女比例为6:4,性别比例相对均衡,并非是大家印象中女多男少的情况。

07、关于软件测试的几个误解

1、人人都可做测试?

不可否认,相比于软件开发和设计,软件测试的入行门槛确实比较低。但就好比"人人都会写文章,但不是所有人都能成为作家"一样,人人都可以做测试,但不是谁都能扎根在这个行业、持续长久地发展下去。不管做什么工作,能否取得成果,最终看的还是个人特质和用心程度。

如果你只注意到“软件测试门槛低”,而忽略了努力的重要性,那是没办法成为一个合格的测试人员的。

在这里插入图片描述

2、直接让开发去测试不行吗?

再次强调,测试是一项精细化的工程,需要计划、策略、方案、实施、总结、分析、反馈、需要对产品有非常透彻的了解、需要对用户有同理心、需要对市场有很好的敏锐度、需要有足够的大局观、需要有宽泛的知识面、需要良好的沟通协调能力,还需要一定的技术功底。

也就是说,做测试工作不仅要有方法论,还要真正落地实行,是需要长期学习和经验积累才能做好的。

在这里插入图片描述
非测试人员或许能在不经意间碰到bug,但不代表他一定能测出所有bug。就好比:一个普通人在战区可能会踩到地雷,但不代表他能像专业的排雷战士一样,排查出所有的地雷。

因此,测试工作不直接交给开发、产品,或者花钱找用户去测试,而是要聘请专业的测试人员。

3、测试岗行业地位低?

有些人觉得,测试不参与软件开发,技术含量不大,在业内应该会不受重视。这个想法完全是错误的,由于工作特殊性,测试人员不仅需要对软件的质量进行检测,还要参与软件的立项、管理、售前、售后等。在这个过程中,测试人员接触到的是公司项目的核心部分,其重要性不言而喻。

随着科学技术的进步和发展,测试技术已逐步渗透到国民经济建设的各个领域,为各行各业提供强有力的技术支撑。所以,软件测试行业的发展和壮大也是当前时代驱使下的必然趋势。

如果你

①从事功能测试,想进阶自动化测试

②在测试界混了1、2年,依然不会敲代码

③面试大厂却屡屡碰壁

欢迎关注公众号:程序员一凡(有技术大牛一起交流分享,学习资源的价值取决于你的行动,莫做“收藏家”)获取更多大厂技术、面试资料

最后:

凡事要趁早,特别是技术行业,一定要提升技术功底,丰富自动化项目实战经验,这对于你未来几年职业规划,以及测试技术掌握的深度非常有帮助。

展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部