作为一名软件测试工程师,需要具备哪些能力?

技能上需要掌握如下知识:很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,希望对刚入行或者准备学习测试的朋友提供一点指引。— 1 —

测试基础理论

软件测试基础理论是软件测试的重要基石,首先,要了解常见的软件开发流程及模型,主要了解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。
作为一名软件测试工程师,需要具备哪些能力?
— 2 —

数据库学习

软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。
作为一名软件测试工程师,需要具备哪些能力?
— 3 —

Linux使用

linux系统是主要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。
作为一名软件测试工程师,需要具备哪些能力?
— 4 —

接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。
接口测试的一个简单实例
作为一名软件测试工程师,需要具备哪些能力?
— 5 —

性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。
作为一名软件测试工程师,需要具备哪些能力?
— 6—

自动化测试

学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。
作为一名软件测试工程师,需要具备哪些能力?
— 7 —

其他

这部分主要测试需要掌握的公共知识,比如版本控制以及持续集成等。
作为一名软件测试工程师,需要具备哪些能力?

非技术能力

1.良好的沟通表达能力,有耐心,态度诚恳。2.有逆向逻辑,会进行发散思考。从不同角度分析软件的缺陷,设计不同的测试场景。