“我“何去何从?2024年软件测试职业发展方向?运筹帷幄方能决胜千里之外...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

测试的职责无非就是两个,保证软件测试质量和提高测试效率。

为了达到这两个目标,测试的日常就包括:常规需求的功能测试,自动化测试,性能测试,跟踪线上反馈问题,搭建测试环境,把控项目进度和质量,开发测试平台或脚本,进行部门的管理工作等等。

1、测试概述

1)常规需求的功能测试

包括参与需求评审会议,制定测试计划,编写测试用例,评审测试用例,执行测试用例,提交Bug,回归验证Bug,发送测试报告,进行线上验证等一系列活动。

2)进行性能测试

根据项目需求,对重要接口制定压测方案,利用Jmeter等测试工具进行压力测试,配合开发同学找到系统瓶颈,并产出压测报告。

3)进行自动化测试

利用自动化测试工具例如Robot Framework,Python+Requests+unitest/pytest,Selenium等完成页面UI自动化或接口自动化,提升测试效率,尽早暴露问题。

4)跟踪线上反馈问题

在日常测试中,线上问题不可避免,反馈过来的线上问题,需要测试同学过滤和重现,再同步给开发同学,并协助开发同学定位问题,待开发同学解决后,测试同学验证完成后上线。

5)搭建测试环境

有的测试环境由运维同学来搭建,而有些则需要测试同学来搭建,视不同的公司而定,搭建测试环境会有文档,根据文档,即可完成,一般的测试环境有Linux,Windows,而Linux偏多,因此会用到较多的Linux命令,平时学会一些基础的Linux命令是很有必要的。

6)把控项目进度和质量

对于项目中出现的Bug和不确认点,需要测试同学积极推进,及时与产品和开发同学沟通,尽快解决问题,推动项目的进展。

对于产品的质量,测试同学会对定期进行Bug统计,分析Bug原因,如果质量一直很差,就会采取一些措施来积极改进和提升。

7)培养测试新人

新人在试用期间,会分配一位导师,对其工作内容和转正考核负责,一般由测试组长承担该角色。

8)开发测试平台或脚本

有些公司有专门的测试平台,来完成Bug统计与质量分析,接口自动化统计等等功能,这部分开发工作会由测试开发工程师来承担。

9)进行部门的管理工作

管理工作由领导承担,包括各项目的人员安排,项目测试时间的评估,项目测试进度跟进,部门成员绩效考核,人员招聘,团队建设等等。

2、所需能力

硬实力:
硬实力,也就是测试同学需要的专业知识。

具体的知识体系如下:

1)软件测试基础知识

入门测试基础知识,主要从软件缺陷,软件开发周期模式,软件测试分类,软件测试用例设计方法等方面入手。

2)软件测试流程

业界比较规范的软件测试流程是:需求评审,制定软件测试计划,编写测试用例,进行用例评审,执行测试用例,提交Bug,验证Bug,发送测试报告,进行线上验证。

但是在实际工作中,往往不会有这么规范的流程。

3)常用的测试工具

测试用例工具:

编写测试用例的工具有很多,常见的有Xmind,Excel,TAPD,Testlink,Zentao(禅道)等,在实际工作中,因为Xmind的简单和便捷性,用到的是最多的。

项目管理工具:

常用的项目管理工具,有Zentao,TAPD,Teambition,Coding,Jira,企业自研工具。

Bug管理工具:

常见的Bug管理工具,有Jira,TAPD,Zentao等。

Bug是一个很有价值的系统,定期进行整理和分析,不仅能发掘很多测试点,还能评估项目的提测质量。

自动化测试工具:

常见的自动化测试工具,有Jmeter,Appium,Postman,Selenium,Robot Framework,Python+Requests+unitest/pytest。

Jmeter:大多数时候用来做压力测试,偶尔也用来做接口自动化测试。Appium:用来做移动端的自动化。Postman:用于接口测试。Selenium:用于Web应用的自动化。Robot Framework:用于UI或接口自动化。Python+Requests+unitest/pytest:用于接口自动化。

自动化,分为接口自动化和UI自动化,性价比相对较高的是接口自动化,接口的变化比较小,相对好维护一些,而UI自动化,页面变化快,维护成本高,所以很多项目都不考虑做UI自动化。

抓包工具:

常见的抓包工具有Fiddler,Charles,Wireshark,这三种都比较常用。

抓包,也是为了更好的协助开发同学排查问题,出现了Bug,通过抓包,可以更清晰地排查是前端问题还是后端问题,比如未发送请求,或者传参错误,字段取值错误等都是前端问题,接口返回报错或者返回字段值错误等则是后端问题。

辅助工具:

常用的辅助工具有Navicat,Xshell,Wiki,F12等等。

Navicat:主要用来连接数据库,可查看数据库的字段,或通过SQL进行数据报表的测试等等。
Xshell:主要用来远程连接Linux服务器,对服务器做一些基本的操作,在目录查看文件,启动服务,安装软件等等。
Wiki:主要用于公司内部的文档沉淀,例如编写接口文档,测试文档等等。
F12:抓取接口信息,查看接口请求和返回,区分前后端Bug。

4)基本的SQL语句

在实际测试过程中,例如一些列表或数据报表的展示,需要用到基本SQL语句的增删改查,所以掌握一些基础的SQL语句是很有必要的。

5)基础的Linux命令

在部署Linux环境,做压测等会用到Linux命令,熟悉一些文件管理,压缩与解压,性能监控,系统管理,用户管理,软件安装等命令就满足日常工作的需要了。

6)架构相关知识

架构知识需要结合实际的项目,在日常测试中,可以与开发同学多多沟通,了解下架构相关的知识,主要从语言,框架,部署等方面入手。

一个好的架构具有高可用,高性能,可伸缩,可拓展等特性。

3、职业发展方向

软件测试工程师的职业发展,可以分为四个方向:

1)业务测试工程师

业务测试工程师,在测试群体中这个比例是非常大的,这是最接近用户的一个群体,这部分的测试工程师主要负责常规需求的功能测试,接口测试,自动化测试,性能测试等。

涉及的业务主要有电商,金融,在线教育等等,不限于Web,客户端,移动端的测试。

2)测试开发工程师

测试开发工程师,主要开发公司内部的测试平台/测试工具,也为业务测试工程师解决一些技术问题,例如搭建自动化测试框架,编写一些提升效率的自动化测试脚本。

测试开发的要求比业务测试工程师高一些,需要写得了代码,测得了需求,也就是即会开发,又会测试的同学。

一些小公司是没有测试开发工程师这个岗位的,一是没有自研的测试平台,而是由业务测试的同学偶尔做做补充,业务测试的同学也可以写点小脚本和小工具,所以就没有设置专门的岗位了。

3)管理岗

主要是进行部门的管理工作,包括各项目的人员安排,项目测试时间的评估,项目测试进度跟进,部门成员绩效考核,人员招聘,团队建设等。

入门级:

很多同学是校招或者社招转行进入软件测试,初入软件测试的前两年,职位一般是初级测试工程师,大家都做着最基本的测试工作,主要是进行功能测试,熟悉业务,能保证上线的产品不出大问题即可。

3年左右:

业务组长,作为项目的主测人员,重点在测试计划的制定和执行,测试任务的安排以及估期,保证项目能按期交付,线上不出现重大的事故,管理人数大约在3~5人。

5年左右:

测试主管/测试经理,该阶段的工作主要包含测试计划的制定,更多的是关注重难点项目,且需要掌握更多项目管理的知识,深入理解项目的价值,做好项目管理,成本管理,风险管理和人力管理,同时也会参与一些招聘,员工绩效,质量管理,风险管理的工作。

8年或以上:

测试总监,该阶段需要理解产品的商业目标,直接对产品成功负责。该阶段的主要工作包含管理测试团队,进行人员招聘,带好整个团队的节奏,优胜劣汰,留住核心人员,淘汰达标的人员,提升团队战斗力。

同时需要负责资源的计划和分配,持续改进测试能力,提升测试效率,保证产品质量,从测试的角度对交付的产品和质量负责。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功的道路上没有捷径可走,只有拼搏和毅力才能引领我们穿越挑战的迷雾,奋斗不止,直至绽放属于自己的辉煌。

奋斗是一条漫长而坎坷的路,但只要不放弃追求,不停止探索,就能在人生的旅途中找到真正属于自己的价值与意义。

生命的美丽在于不断奋斗的过程,无论前方有多少困难与挑战,坚持追求梦想的人才能最终创造出属于自己的辉煌。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161052.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++中的多态

C中的多态 一、概念二、虚函数1、概念2、重写(覆盖)3、重载、覆盖(重写)、隐藏(重定义)的对比(1)重载(2)重写(覆盖)(3&…

【C++】set和multiset

文章目录 关联式容器键值对一、set介绍二、set的使用multiset 关联式容器 STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元…

SpringBoot 将 jar 包和 lib 依赖分离,dockerfile 构建镜像

前言 Spring Boot 是一个非常流行的 Java 开发框架,它提供了很多便利的功能,例如自动配置、快速开发等等。 在使用 Spring Boot 进行开发时,我们通常会使用 Maven 或 Gradle 进行项目构建。 本文将为您介绍如何使用 Maven 将 Spring Boot …

OSError: libomp.so: cannot open shared object file: No such file or directory

报错:OSError: libomp.so: cannot open shared object file: No such file or directory https://stackoverflow.com/questions/52401840/what-is-the-ctypes-cdll-default-path 没有libomp.so 总算找到啦!链接 export LD_LIBRARY_PATH/usr/lib/llvm…

LangChain+LLM实战---实用Prompt工程讲解

原文:Practical Prompt Engineering 注:本文中,提示和prompt几乎是等效的。 这是一篇非常全面介绍Prompt的文章,包括prompt作用于大模型的一些内在机制,和prompt可以如何对大模型进行“微调”。讲清楚了我们常常听到的…

七月论文审稿GPT第二版:从Meta Nougat、GPT4审稿到LongLora版LLaMA、Mistral

前言 如此前这篇文章《学术论文GPT的源码解读与微调:从chatpaper、gpt_academic到七月论文审稿GPT》中的第三部分所述,对于论文的摘要/总结、对话、翻译、语法检查而言,市面上的学术论文GPT的效果虽暂未有多好,可至少还过得去&am…

《算法通关村—迭代实现二叉树的前序遍历》

《算法通关村—迭代实现二叉树的前序遍历》 利用递归进行二叉树的前序遍历是非常容易的几行代码就能解决。但是你知道如何用迭代实现吗? 理论上来说能够用递归解决的都能用迭代解决,我们就来试试用迭代解决二叉树的前序遍历问题吧。 什么是前序遍历&a…

[PyTorch][chapter 60][强化学习-2-有模型学习2]

前言: 前面我们讲了一下策略评估的原理,以及例子. 强化学习核心是找到最优的策略,这里 重点讲解两个知识点: 策略改进 策略迭代与值迭代 最后以下面环境E 为例,给出Python 代码 。 目录: 1: 策略改进 2&…

nn.LayerNorm解释

这个是层归一化。我们输入一个参数,这个参数就必须与最后一个维度对应。但是我们也可以输入多个维度,但是必须从后向前对应。 import torch import torch.nn as nna torch.rand((100,5)) c nn.LayerNorm([5]) print(c(a).shape)a torch.rand((100,5,…

PDF文件解析

一、PDF文件介绍 PDF是英文Portable Document Format缩写,就是可移植的意思,它是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,PostScript咱也不懂,估计和SVG的原理差不多吧…

Spring Boot 常见面试题

目录 1.Spring Boot 快速入门什么是 Spring Boot?有什么优点?Spring Boot 与 Spring MVC 有什么区别?Spring 与 Spring Boot 有什么关系?✨什么是 Spring Boot Starters?Spring Boot 支持哪些内嵌 Servlet 容器?如何设…

CMake引用QT、CMake构建一个转换为3d tile的开源代码

在CMake里单独运行一下 find_package(Qt5 REQUIRED COMPONENTS Core Xml Test) ,Core Xml Test 这三个是需要的qt组件; 情况如下;提示找不到QT; 根据资料,cmake引用qt需要3-4个方面, 首先Qt包含三个编译工具:moc、uic、rcc, moc:元对象编译器(Meta O…