“这个App怎么又卡了?”
“这个跳转页面怎么点不开?”
“天哪,我的账号里的钱怎么没了?”
大家在使用App的过程中,特别是一些刚上线的软件,是不是常常遇见此类奇奇怪怪的问题?
这些问题我们称为“bug”,bug是产品开发过程中产生的不可避免的一些错误,如果没有及时发现并纠正,这款产品很有可能就此流失一大批用户。
今天我们就来介绍一个神奇的岗位,就是专治bug的——测试工程师
我们先来看看IEEE对软件测试的定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
通俗来说,就是在软件发布以及每一次更新之前,尽可能地找出存在的错误,以防发布之后给用户带来不好的体验。
这样来看,测试工程师的工作是不是特别像一个质检员?(开个玩笑)
比尔-盖茨说过"与其说微软是软件开发公司不如说是软件测试公司"。在Microsoft,测试经理和项目经理是并驾齐驱的,甚至有"测试驱动开发"的说法。
软件测试工程师实际上是软件生产过程中的质量管理者,不但要对软件产品最后功能、性能负责,而且从软件的"需求分析"、"结构设计"阶段及文档规范等就开始对软件质量加以保障,使软件功能达到设计之初的要求,让用户用上高质量的软件。
目前,中国软件业每年新增约50万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10。
优秀的测试工程师成为最紧缺人才之一,且均薪已超过开发工程师,入职薪资待遇一般在8000-15000元/月,工作2-3年后,年薪轻松破十万,甚至二十、三十万或更高。
那如何才能成为一名合格的测试工程师呢?
首先是基础理论知识——
要成为一名测试工程师,你首先需要学习基础的软件工程和软件测试相关知识。掌握软件测试的基本概念、流程以及常见的测试方法和类型。除此以外,还有bug的定义、分类、周期等最基本的理论知识。
在这里给大家推荐一些入门参考书:
1、软件测试(原书第2版) (美)佩腾著,张小松 等译
2、软件测试的艺术(原书第3版) (美)梅耶 等
3、计算机软件测试(原书第2版) (美)卡尼尔
其次是技术知识——
包括数据库基础、Linux基础知识和编程语言知识。
数据库是最常见的数据存储工具,掌握它非常有必要。而现在很多大型服务器都装linux操作系统,所以我们要熟悉Linux的文件结构、基本命令、shell脚本相关知识。
编程语言基础知识的话,我们推荐的是Java,毕竟现在Java用的比较多,如果测试Web,对Web还是需要了解的,像Html+Css+JavaScript也是需要有一定了解的。
但如果大家想进攻测试开发工程师、自动化测试工程师等高阶段位,打好语言基础还是很有必要的。
但初步学习阶段,还是可以先买些书、视频资料来看,也可以关注我们的公众号,我们会继续更新软件测试系列学习文章噢。
当然,最快速最高效的办法还是需要系统学习,在有经验的老师的指导下系统完整地学习软件测试知识。
泽林教育(www.zelininfo.com)的软件测试课程算得上是王牌科目,小班教学,对0基础同学十分友好;企业直聘,学员就业率高达99%!0基础同学可以来试试!