很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,希望对刚入行或者准备学习测试的朋友提供一点指引。
— 1 —
测试基础理论
软件测试基础理论是软件测试的重要基石,首先,要了解常见的软件开发流程及模型,主要了解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
软件测试定义及开发模型软件测试过程模型
测试工程师必须要知道的开发模式--敏捷开发
软件测试分类软件测试流程黑盒测试用例设计方法一
黑盒测试用例设计方法二
APP功能测试要点
WEB功能测试要点
软件测试学习之经典书籍推荐
— 2 —
数据库学习
软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
— 3 —
Linux使用
linux系统是主要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。
— 4 —
接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。
python之unittest框架实现接口测试的一个简单实例
— 5 —
性能测试
性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。
周杰伦发新歌《说好不哭》,程序员却哭了,来分析下性能测试的必要性?
— 6—
自动化测试
学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
— 7 —
其他
这部分主要测试需要掌握的公共知识,比如版本控制以及持续集成等。
-End-
后续会继续优化这个测试技能图谱,希望对大家的学习有帮助。
如果觉得文章有用,欢迎点在看,转发,感谢!