不少新手,不知道软件测试学习该如何开始,软件测试须要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师须要掌握的所有技能,但愿对刚入行或者准备学习测试的朋友提供一点指引。前端
无论有没有计算机基础,测试理论的学习都是首要的,无论你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。python
主要包括常见的软件开发流程及模型,尤为是解敏捷开发相关知识。而后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。linux
数据库是开发和测试的最基本技能,软件先后端的交互,本质就是数据的交互,无论是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操做语句,以及数据库工具(Navicat)的使用。程序员
Linux操做系统一直被用做重要的服务端操做系统,做为软件测试工程师,咱们经常须要在服务器端查看日志,从而定位问题的源头。固然,更多的场景是,咱们须要在linux系统上搭建测试环境。这些都须要咱们掌握基本的linux系统知识,熟悉常见的命令及工具。更高级的使用,是经过编写shell脚本,自动化完成测试任务。web
接口测试本质也是功能测试的一种,经过脚本或者工具,模拟客户端对服务端接口进行调用。由于是从接口层测试,因此能更早的发现问题,从而提升测试效率,下降修复成本。熟练掌握接口测试已是软件测试招聘的基本要求了。shell
性能测试的技术要求很高,不单单要对性能测试的指标、测试分类、测试设计有很深入的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试经常使用的工具备jmeter和loadrunner,你们能够根据须要进行学习。数据库
学习自动化测试的基础是掌握一门编程语言,我的优先推荐Python,其次Java,而且还要掌握必定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,固然还要掌握经常使用的自动化测试框架。对于接口自动化测试,若是用python实现的话,则须要掌握requests库和unittest框架的使用。编程
下面是本人梳理的一个测试的学习大纲,但愿对你们有帮助,获取更多测试资源,程序员资料,可关注gzh【吾非同】获取。后端