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