软件测试需要学什么知识?
想入行软件测试行业,但是不知道怎么下手,需要学习掌握哪些知识?下面根据企业岗位用人需求,为大家粗略介绍下软件测试入门需要学什么。
1.软件的结构和组成
既然是做软件测试,势必要对测试对象有充分的了解。就像去相亲,如果连对方是男是女都没搞清楚,那咋开展下一步工作?所以大体方向如下:
-1.1 前端和后端
前端:用户直接使用的地方我们称之为前端,前端处于用户直接能用的东西,对于用户而言是最靠“前”的。比如淘宝App,知乎这条问题的网页。
后端:用户看不见的东西,用于做数据处理和交换。举个例子,知乎的登录,我们在网页(前端)上输入用户名和密码,那知乎咋个晓得我们是不是当前这个用户登录成功的?这个判断操作就是由后端来完成的。
接口:前端和后端进行数据传输的通道,同样的例子,知乎登录,用户在前端输入了账号密码,点击登录后,我们输入的账号和密码就通过登录接口传给后端,后端拿到账号和密码后,再进行判断,如果判断通过,则通过登录接口把登录成功的信息返回给前端,前端再让我们去访问有权限的功能,反之,就提示登录失败。
Http协议的基础了解:这个不用说,得知道一些内容
学完了基础,就开始去学后端的内容
-1.2 数据库SQL
数据库是整个软件必备的知识点,主要是关于sql语句的应用,尤其是多表联查。在面试中,通常出现的笔试环节,这部分要不就是很简单的sql查询,要不就是很复杂的多表查询。
-1.3 Linux学习
Linux是测试也要掌握的技能之一,主要是搭建测试环境,查看日志,定位BUG,所以需要掌握其中的一些基础用法。
掌握基础的命令就可以了,可以参考下面的脑图:
此脑图由小瑶同学总结,切勿盗用
此脑图由小瑶同学总结,切勿盗用
此脑图由小瑶同学总结,切勿盗用
2.功能测试用例设计(重中之中)
功能测试用例太重要了,软件测试工程师80%的工作都跟这个相关,而且面试100%必出的问题。
3.实战练习项目(重点)
说实话,这块自学真的有点难受,实际的项目怎么可能这么容易就找到了
万幸的是自学的小伙伴可以去找一些开源项目来练习。
此时学到这里,你已经能够胜任大部分的测试工作了
4.接口测试和接口用例设计
接口测试实质上也是功能测试的一种,要求能通过脚本或工具,模拟客户端对服务端接口进行调用。
因为要从接口层测试,才能更早发现问题,进而提高测试工程师的测试效率、降低修复成本。比如前面的登录接口。那一块要学的东西有以下内容
-4.1.抓包工具和前后端Bug定位
一般推荐使用fiddler或者charles软件
-4.2. Postman
-4.3. Jmeter
5.性能测试和自动化测试
此部分为进阶学习
性能测试的话,相对技术要求高一点。要求不仅仅要对性能测试的指标、测试分类、测试设计有深刻的理解,还要熟悉系统业务和框架,这样才能更好地设计性能场景、分析系统的性能缺陷。对于这方面的话,要熟练掌握jmeter、loadrunner等性能测试常用工具。
学习自动化测试的话,前提要求必须掌握一门编程语言,比如java或者python,以及一些前端开发知识。另外需要掌握并熟练使用相关自动化测试框架和自动化测试工具,如selenium、appium等。