回答数
3
浏览数
9365
人再见人在换
测试工程师需要学习和掌握的技能如下:
1、基础:前文所说的基础技能必需掌握,推荐Java+Oracle+Uml组合。掌握程度一般不用太深,测试工具开发职位的除外。特别注明,Junit是一定要掌握的。市面上书籍很多,笔者推荐《Java编程思想》、《Oracle9i参考手册》、《UML精粹》。2、专业:前文所说的测试方法、测试工具必需掌握。其中对于测试工具,如果开源则尽可能阅读源码。推荐书籍《计算机软件测试技术》、《软件测试艺术》、《软件测试》。3、实战:前文所说的测试模式必需掌握。至少全程参与二十次项目,至少参与两次50人以上规模的项目,至少编写测试用例10000个,至少发现缺陷5000个,至少编写测试脚本20000行,至少担任过三次测试负责人,所有产品发布后遗漏缺陷总数小于50个并呈收敛趋势。推荐书籍《设计模式》、《人月神话》、《软件测试经验与教训》。4、沉淀:深入了解质量控制原理,对功能性(含安全)、效率、易用性、可移植性、可维护性、可靠性等质量特性均有实际测试经验。推荐书籍《质量无泪》、《质量免费》、《ISO9126》等所有软件质量相关国标。
彻底失去
软件测试需要学习测试基础和理论知识。
其中需要学习的包括测试计划编写、设计测试用例、编写BUG报告单;需要学习python语言以及计算机的硬件知识;需要学习数据库知识,包括MySQL数据库、Redis数据库等;需要学习自动化测试工具、性能测试工具、接口测试工具的使用。比如在性能测试则会用到Loadrunner软件,它包含Controller、VuGen、Analysis。
一、软件的结构和组成
既然是做软件测试,势必要对测试对象有充分的了解。大体方向如下:
1、 前端和后端
前端:用户直接使用的地方我们称之为前端,前端处于用户直接能用的东西,对于用户而言是最靠“前”的。
后端:用户看不见的东西,用于做数据处理和交换。举个例子,知乎的登录,我们在网页(前端)上输入用户名和密码,那知乎咋个晓得我们是不是当前这个用户登录成功的?这个判断操作就是由后端来完成的。
接口:前端和后端进行数据传输的通道,同样的例子,知乎登录,用户在前端输入了账号密码,点击登录后,我们输入的账号和密码就通过登录接口传给后端,后端拿到账号和密码后,再进行判断。
如果判断通过,则通过登录接口把登录成功的信息返回给前端,前端再让我们去访问有权限的功能,反之,就提示登录失败。
2 、数据库SQL
数据库是整个软件必备的知识点,主要是关于sql语句的应用,尤其是多表联查。在面试中,通常出现的笔试环节,这部分要不就是很简单的sql查询,要不就是很复杂的多表查询,零基础的小伙伴推荐大家从这里开始。
3、 Linux学习
Linux是测试也要掌握的技能之一。
二、功能测试用例设计(重中之重)
功能测试用例太重要了,软件测试工程师80%的工作都跟这个相关,而且面试100%必出的问题。搭建测试环境,查看日志,定位BUG,所以需要掌握其中的一些基础用法。
三、 实战练习项目(重点)
说实话,这块自学真的有点难受,实际的项目怎么可能这么容易就找到了。自学的小伙伴可以去找一些开源项目来练习。
四、 接口测试和接口用例设计
接口测试是对系统接口级别的测试。
1、抓包工具和前后端Bug定位。
2、Postman。
3、Jmeter。
以上,应该是最最最精简的学习路线了。
女人需要男人来呵护
软件测试工程师必须要学的基础技能就是基础测试,这是软件测试的重要基石。然后是数据库的学习,不管是什么测试,都离不开数据库的支撑和使用,这也是非常重要的一部分。之后就是接口测试、性能测试、自动化测试等。
测试基础理论
软件测试基础理论是软件测试的重要基石,首先,要了解常见的软件开发流程及模型,主要了解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
数据库学习
软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
Linux使用
linux系统是主要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。
接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早地发现问题,从而提高测试效率,降低修复成本。
性能测试
性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。
自动化测试
学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
1、人才缺口大
目前我国IT行业还在蓬勃的发展,有程序的地方就离不开测试人员,所以软件测试人员的人才缺口目前还很大,已经超过30万,并且每年还会新增超过20万的岗位。
2、软件测试就业待遇更高
因为目前国内对软件测试行业的认知还不是那么的广泛,导致了人才缺口很大,所以更多的企业出现了软件测试人员跑步上岗、火箭提升的状态,年薪几十万都是很正常的事。
3、经验越久越厉害
传统的IT行业,尤其是开发的程序员年龄越大越不受待见,超过35岁找工作也比较难这是大家有目共睹的,而软件测试行业却不是这样,而是年头越久越厉害。因为经验丰富的软件测试工程师能够更快地找到软件中的bug,所以年头越久薪资待遇越高。
优质工程师报名问答知识库