资深老鸟整理,高级测试工程师应具备的能力...

目录:导读

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


前言

1、业务熟悉

熟悉本系统:
测试人员参与测试的系统的各种业务场景,必须做到精熟 。一旦需求有改动,可以清楚快速的知道上下文。同时可以清楚的知道哪些点是需要重点测试的。

熟悉跟本系统有通讯的上下游系统业务:
跟本系统有通讯的上下游系统也要非常熟悉。这样一旦系统出现问题,可以知道影响的范围。

熟悉公司主流程业务:
熟悉公司主流程业务。虽然不是自己测试的系统,但是熟悉公司主流程业务,可以让测试人员在考虑问题的时候,有更好更广的思路。

2、逻辑思维好 气场也要好

互联网应用一般是切分成多个子系统的,各个系统都有自己的业务范围,一个任务的完成,通常要有多个部门或者小组进行协作。

这个时候,就不可避免的进行各种会议沟通,小组内的或者小组之间的。那么测试人员如果脑子不好使,不能快速的理解别人的意图和想法,会很容易被人忽悠或者陷入各种坑,到时候就会有无穷无尽的测试任务了。

另外,当对方太强势的时候,测试人员不能太弱势,应该根据自己对业务和系统理解,提出自己的意见,该做的就做,不应该做的别硬塞过来。

积极配合对方,但不是傻傻的啥都做。

3、掌控系统上线排期

如果开发任务非常的多,测试人员要测试的功能也就非常的多。这个时候,如果功能的上线时间都是由开发经理或者PMO等来定,那测试人员就只能进行无穷无尽的加班。这样是不行的。

测试人员有自己专业,对业务精熟,必须清楚的知道哪些任务的优先级是高的,哪些是低的,将任务进行优先级排序。规定某个时间段里,就只能上多少个功能。

测试小组能够承受的最大任务队列是多少,测试人员必须有个底。测试任务超过这个队列,可以根据优先级把部分任务挤出去。

4、对上线说"不"

对每次的功能上线,测试人员应该首先跟开发人员要一个回滚/降级/灰度方案,如果开发不提供,那测试人员就有权不上线,因为就算测试人员尽全力验证功能了,也不能百分之百保证上线后不出问题。

万一出问题,一定得把损失降到最低。要么回滚,要么降级,要么有开关能关闭新功能。如果做不到,有可能解决一个故障就得好几个小时,损失是非常大的。

测试人员一定有一个意识,出现线上问题了,一定是尽快降低损失,然后线下解决问题,而不是一群人围在一起,想想怎么解决当前的线上问题。

5、能编写覆盖关键路径的测试用例

对业务需求准确的理解后,测试人员能根据业务需求,设计关键的测试用例,能够完整的覆盖业务关键路径和场景。

保证只要这些重点用例能通过,就说明需求的重点功能已经OK了。重点功能OK了,就算立刻上线,如果出现问题,也只是小问题。当然能够用测试用例覆盖所有当然是最好的。

6、定位问题的能力

测试人员在测试系统的时候,不能一遇到问题,就马上找开发,自己必须深入思考一下,出现问题的可能原因,多找一些数据验证一下,最好能做到问题可重现。

7、熟悉测试技术

在测试互联网应用的时候,测试至少得掌握下面的技术和概念:

懂得用jmeter进行性能测试;
懂得搭建性能测试需要的环境,例如服务器、redis、memcache等等;

懂得如何编写性能测试报告。例如至少包含接口响应时间、QPS、最佳并发数、CPU使用情况、内存情况、抖动、GC情况等等。

懂得上下文切换、内存溢出、内存泄露、QPS、稳定性测试等等的概念。
要懂得如何做线上UAT验证,尤其是那种需要多系统合作的项目,UAT是极其重要的步骤。

8、约束开发人员,保证开发质量

当开发提测代码的时候,测试人员应该具备下面的意识:

让开发人员先把master分支的代码merge或者rebase到自己分支上,保证提测的时候,代码已经包含了master的代码,这样可以提前发现问题。

代码功能测试完毕后,必须再做一次回归测试。这个时候必须强烈的约束开发人员,不许再提交代码了。除非是bug。不然的话,测试人员回归测试完后,开发人员跑来告诉测试说,代码有改动。这样的话,测试人员辛辛苦苦的回归测试就白测了,又得重新回归一次。

测试人员必须回收master分支的代码提交权限,一旦开发者要提交代码,只能通过和测试沟通,说明代码做了什么改动。绝对不能让开发人员悄悄的提交代码,这种行为非常容易造成线上故障的。

如果功能模块是跨系统的,也即是会调用另外一个系统的接口。这种的,测试人员一定要要求各个系统之间的开发必须做【开发联调】。

测试人员必须强制要求开发做到这一点。不然到时候可能出现各种接口调用不通呀、接口入参出参理解错了呀,这样会及其严重的阻碍测试的进度。如果没做【开发联调】,测试人员是可以不测的,直接打回。

9、要懂的写代码进行接口自动化测试

现在微服务非常的流行,各大互联网公司都在搞微服务接口。针对微服务接口,测试人员一定要懂得编写代码去进行接口自动化测试。

大家想想看,假设某系统有50个微服务接口,测试人员测试完一次后,开发人员修改了其中10个接口的代码,这个时候应该可以通过跑自动化case来验证这10个接口的改动有没有影响到其他40个接口。

这种回归测试的效率非常的高。如果每次都得人工手动的进行接口回归测试,那测试人员就得累死了。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有通过不懈的努力和奋斗,我们才能实现自己的梦想。每一次的挫折和困难,都是对我们的磨砺,只要我们勇往直前,就一定能够走向成功。

梦想并不是遥不可及的,只要我们有坚定的信念和不屈的精神,就一定能够实现它。每一次的奋斗,都是向梦想迈进的步伐。

在追求梦想的道路上,我们不能害怕失败。每一次的挫折和困难,都是对我们的考验。只有坚持不懈,才能实现自我超越,创造属于自己的辉煌。

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

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

相关文章

在国内Facebook广告怎么解决充值渠道问题?

怎么解决Facebook预充值跑广告营销的付款方式问题呢? Facebook跑广告是很多做出口营销的公司或团队喜欢的平台之一,那就避免不了需要支付给Facebook平台广告费用了,那到底用什么方式去充值到FB号上去解决呢?FB预充值有什么咔可以…

操作系统·设备管理

I/O系统是计算机系统的重要组成部分,是OS中最复杂且与硬件密切相关的部分 I/O系统的基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率,方便高层进程对IO设备的使用 I/O系统包括用于实现信息输入、输出和存储功能的设备和…

stm32L071KB单片机字节对齐问题

字节对齐问题由来很关键 字节对齐问题由来 字节对齐问题由来 在移植同事代码的时候发现到一个赋值变量的地方就会出现死机,进入hardfault,怎么也找不不到原因,最后没办法去了github https://github.com/armink/CmBacktrace/blob/master/README_ZH.md Cm…

Git 还原文件修改

文章目录 前言还原文件修改的三种情况情况一:只是修改了文件,没有进行任何Git操作情况二:修改了文件,并提交到暂存区情况三:修改了文件,并提交到仓库区 前言 在使用Git进行文件修改和提交时,有…

Android : ViewModel+LiveData observe观察数据 改变内容简单应用

observe观察数据 改变内容 1.导包 // 使用androidx版本库implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03// 或者,使用support版本库implementation android.arch.lifecycle:extensions:1.1.1 2.继承ViewModel package com.example.myli…

CommonJs和ES6模块区别,项目中的运用差距

前言 CommonJS 和 ES6 模块是 JavaScript 中两种不同的模块系统。它们有一些区别,尤其在实际应用中的使用上有一些差异。 一、区别 1. 语法差异 CommonJS:使用 require 导入模块,使用 module.exports 或 exports 导出模块。 ES6 模块&…

openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引

文章目录 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引141.1 背景信息141.2 重建索引141.3 操作步骤 openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引 141.1 背景信息 数据库经过多次删除操作后,索引页面上的索引键将被…

一次北斗接收机调试总结

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 最近项目中要用到北斗接收机,它的样子是长这样的: 这部机器里面是没有操作系统的,由单片机控制。最近我们要根据协议…

ChatGPT发布一年后,搜索引擎的日子还好吗?

导读:生成式AI,搜索引擎的终结者还是进化加速器 ChatGPT发布刚刚一年,互联网世界已经换了人间。 2023年,以ChatGPT和大模型为代表的生成式AI浪潮对全球互联网、云计算、人工智能领域都带来巨大冲击。而且生成式AI在各行各业的应用…

Linux Camera Driver(2):CIS设备注册(DTS)

一:MIPI接口 1、硬件接口 MIPI接口以rv1109和gc2053的硬件为例进行说明: 2、ISP驱动 注意配置事项: endpoint配置,必须指定data-lanes,否则无法识别为mipi类型 链接方式:sensor->csi_dphy->isp->ispp (1)sensor节点配置 根据原理图可知:mipicsi_clk0即引…

navicate16 2059 plugin http could not be loaded

plugin http could not be loaded 乱码 library path http.dll 今天新装一台机子的navicate遇到这个问题。 查了半天都是说 caching_sha2_password’的解决办法。 然后是咋解决的呢,真是丢脸 由于我是直接从浏览器复制下来的ip,所以虽然我只复制了ip地…

结合SK和ChatGLM3B+whisper+Avalonia实现语音切换城市

结合SK和ChatGLM3BwhisperAvalonia实现语音切换城市 先创建一个Avalonia的MVVM项目模板,项目名称GisApp 项目创建完成以后添加以下nuget依赖 <PackageReference Include"Mapsui.Avalonia" Version"4.1.1" /> <PackageReference Include"M…

2024年PMP考试会有变化吗?你关心的来了!

2024年PMP考试大纲依然使用项目管理协会&#xff08;PMI协会&#xff09;于2021年1月发布的考试内容大纲。 PMP考试题目将分布在以下三个领域&#xff1a; 1【人员】考试内容所占比例 42% 2【过程】考试内容所占比例 50% 3【业务环境】考试内容所占比例 8% 在考试中约一半…

Linux halt命令教程:如何安全地关闭你的系统(附详细实例和注意事项)

Linux halt命令介绍 Linux halt命令是一个用于指示硬件停止所有CPU功能的命令。基本上&#xff0c;它可以重启或停止系统。如果系统处于运行级别0或6&#xff0c;或者使用带有–force选项的命令&#xff0c;它将导致系统重启&#xff0c;否则它将导致系统关闭。 Linux halt命…

asp.net_sql2008公司人事管理系统

登录模块 流程图&#xff1a; ◆ 职工输入用户名、密码并选择登录身份&#xff0c;根据选择的身份做不同的操作 ◎ 若选择的是“职工”&#xff0c;系统将查询数据库中的用户表Users的记录&#xff0c;用户名密码核对正确后加载职工主界面&#xff1b; ◎ 若选择的是“管理员…

手把手教你搭建个人地图服务器(高德离线部署解决方案):获取地图瓦片数据、高德JS API、私有化部署和调用。。。

一、概述 众所周知&#xff0c;目前常见的地图&#xff08;高德、百度、腾讯等&#xff09;只提供在线API服务&#xff0c;对于一些内网应用而言&#xff0c;如果需要使用地图展示&#xff0c;则由于不能访问互联网而无法使用类似的第三方地图服务。 本文&#xff0c;通过将高…

非对象集合交、并、差处理

对于集合取交集、并集的处理其实有很多种方式,这里就介绍3种 第一种 是CollectionUtils工具类 第二种 是List自带方法 第三种 是JDK1.8 stream 新特性 1、CollectionUtils工具类 下面对于基本数据(包扩String)类型中的集合进行demo示例。 public static void main(String[]…

Django回顾【五】

目录 一、多表操作 【1】基于对象的跨表查 【2】基于双下滑线的连表查 【3】related_name 二、聚合查询与分组查询 【1】聚合查询 【2】分组查询 三、F与Q查询 【1】F查询 【2】Q查询 四、其他字段和字段参数 【1】其他字段 【2】ORM字段参数 【3】ForeignKey 属…

【刷题日志】牛客 HJ73 计算日期到天数转换

计算日期到天数转换 阅读题目解题方案 及 解题思路方法一 . 手撕日期类方法二 . 分别直接算出平年和闰年每个月的时间 并对应下标存入数组中&#xff0c;判断该年份为平年还是闰年&#xff0c;再 for循环依次求和优化&#xff1a;也不用分别算出平年和闰年的每个月的时间&#…

0041__网络协议——HTTP/1HTTP/2HTTP/3

网络协议——HTTP/1&HTTP/2&HTTP/3_′、、1http:/1http:/1_bdundun的博客-CSDN博客