我亲身经历的2022年软件质量工作——测试工作的经验总结及一些建议

news2024/11/15 5:18:58
  • 2022年对于大部分人来说都是辛苦的一年。
  • 对于整个社会,疫情反反复复,折磨的每一个人都心力交瘁。
    经济下滑,失业率上升似乎听到的都是不好的消息。
  • 对于整个互联网行业也频频传出大厂裁员的消息。
    而质量团队在大厂的裁员计划里也是首当其冲。
  • 时至今日,为什么质量团队仍然是在技术团队中不受到重视的那部分?
    大概是因为测试工作并不能直接带来收益。并且很难衡量投入测试工作之后,是否有相对等的回报。
  • 在这样的大环境下,对于个人而言,不断提升自己的能力绝对是利大于弊的选择。
    (其实就是内卷 = =)
  • 网上经常可以查到各种各样的文章或者教程,大多数内容是“测试需要了解的知识”、“测试需要掌握的工具”。
    即使按照教程一样一样的学下来,真正到了日常工作中,会发现这些技能最大的作用就是在面试的时候给自己加分,实际工作中并没有用到。
  • 有些测试伙伴也会因此而迷茫,学习这些技能是否真的有用?是否真的能够帮到自己?

在这里我也根据自己这些年的工作经历,总结出一些经验建议,希望可以帮助到刚入行的伙伴们:

  • 一、 首先,测试基本功很重要
    • 1、测试用例
    • 2、bug定位
    • 3、 风险评估能力
  • 二、其次,测试工具的掌握
    • 1、如何学习
    • 2、如何选择
  • 三、最后,如何脱颖而出
    • 1、掌握一门代码语言是必须的
    • 2、积极思考,并对现有工作模式提出建议
    • 3、开发测试工具
  • 四、写在2022的最后

一、 首先,测试基本功很重要

作为测试人员,想要得到别人的认可,首先最重要的就是掌握测试的基本功。
在这里插入图片描述

1、测试用例

  • 测试用例设计对于测试来说,是非常重要的一项技能,几乎在每一场测试人员的面试中,都会让面试对象现场设计测试用例,以考验人员能力。

  • 但是大部分公司对用例的要求并不严格,甚至没有一个很好的管理或审查制度,这种情况下测试人员也很提升自身的用例设计水平。

  • 所以测试人员测试用例设计的水平也参差不齐,甚至已经有多年工作经验的测试人员编写的用例,仍然存在“预期与步骤混淆”、“前置条件不明确”、“用例描述语言模棱两可”等问题。

  • 或者是只会写熟悉的项目的用例,如果换了个项目、换了个环境,写出来的用例就存在很多漏测的问题。

  • 关于测试用例该如何入门,在博客之前的测试用例专栏已有更详细的介绍,这里就不再展开了:测试用例专栏-测试用例入门

  • 总之,测试用例很重要!

2、bug定位

  • 很少有教程专门讲过如果进行bug定位,但其实这也是测试人员一个非常重要的测试技能。
  • bug定位的越准确,开发修复的速度也就越快,测试工作的效率也就越高。
    (我们测试伙伴之间经常开玩笑说的一句话:“我直接告诉程序哪条代码错误得了”,确实这是bug解决最快的方式,哈哈哈~)
  • 但许多测试人员定位bug的过程就是将bug发生的过程记录下来,但定位bug应该不止于此。
  • 首先,可以利用排除法,找到发现bug的关键步骤,并且还要确认好是客户端的bug,还是服务端的bug。
  • 如果说是偶发的bug,应该尽量模拟出发生bug时的环境,可以多试几种极限条件,有的时候可能就是某个条件引发的问题
    (我们经常开玩笑说:没有非必须的bug,只有可能是没有达到必现的条件)
  • 想要更准确的定位bug,还需要拥有一定的代码能力,可以学习一种代码语言,或是多与开发人员交流,了解bug产生的原因,也会对之后定位bug有很大的帮助。

3、 风险评估能力

  • 比如,一个长线的产品,每一期的功能,是否对整个项目已稳定的功能造成影响。
  • 或者修复bug,可能引发其他什么问题、需求中,是否会有逻辑上的遗漏从而造成设计上的缺陷。
  • 等等这些,也是测试人员非常重要的技能。
  • 提升风险评估能力,首先要足够了解自己负责的项目,无论是需求还是代码实现方式。
  • 了解需求不只是知道有什么功能,还需要知道需求方设计这个功能的出发点,这样才能更容易的找到需求中是否有逻辑漏洞,是否有不满足功能触发点的缺陷。
  • 虽然测试不是专业的开发人员,无法像开发人员那样阅读代码,但了解代码设计逻辑,至少要知道哪些部分是公用一个模块、客户端什么时候与服务端交互数据等等。
  • **其次,就是要不断积累经验。**评估风险难免会有失误的时候,不要被失败打倒,找到失败原因,将经历转换为经验。
  • 最后,不断学习专业知识,或是别人总结的经验教训。

二、其次,测试工具的掌握

在这里插入图片描述

1、如何学习

  • 网上教测试工具的教程很多,博客之前的专栏有写过一个postman和接口测试的教程:零基础入门接口功能测试教程
  • 很多人学习工具的方式只希望简单,快速,最好直接就能知道点哪个按钮看哪个数据,而忽略了方法背后的为什么。
  • 其实虽然有各种各样的测试工具,但只要掌握响应的理论知识,就能轻松上手。
  • 比如,掌握了http相关知识,打开postman之后,不看教程也能快速上手。
  • 所以,理论知识同样也很重要,掌握了理论知识,同方向的工具也就能够快速上手。
  • 学习切勿急于求成,打好地基楼才可以建的更高

2、如何选择

  • 掌握什么样的测试工具能够在面试中加分,这个网上已经有很多教程,这里就不细说了。
  • 这里主要讨论在日常工作中,该如何选择工具学习。
  • 一种是按照公司业务的方向,和公司的测试策略,来选择工具。比如平时的测试工作包含接口测试,那么抓包工具、发送接口请求的工具,就需要掌握。
  • 各种类型的工具大多数情况只需要掌握一种,大部分选择公司内部正在使用的即可。当然随着测试经验增加,能比较同类型的工具,并选出最优选,也是个人能力的体现。
  • 或者也可以**多与开发人员沟通,了解什么样的工具可以协助测试,不一定要局限于测试工具。**比如项目如果有安卓平台,就可以使用adb logcat 配合程序打印出的相关功能日志,方便测试功能、及回溯bug产生的步骤。
  • 当已掌握的工具已经能够满足公司页面的基础上,**再往前一步,学习更高级别的测试工具。**比如前面所说的,已学习接口测试相关工具的情况下,可以学习接口压测工具,接口自动化测试工具。

三、最后,如何脱颖而出

  • 很多人工作都十分的被动,大部分人在工作中的角色偏向于执行者。
  • 但是只是被动的接受工作安排并完成,很难衡量谁做好,或谁做的不好。
  • 经常听到一些测试伙伴们抱怨“我做了这么多,为什么领导没有看到”。
  • 如何能够“被看到”,也是对当代打工人非常重要的一个问题。

在这里插入图片描述

1、掌握一门代码语言是必须的

  • 掌握一门代码语言已经能超过大部分的测试人员了。
  • 大部分情况下,学习Python是个不错的选择。

2、积极思考,并对现有工作模式提出建议

  • 想要脱颖而出,就要想办法走到别人的前面
  • 观察现有工作模式或工作内容,积极思考,并勇敢向上级提出自己的建议,也是一种能够直接“被看到”的方式。
  • 当然先要提出有用的建议,也要在拥有扎实的基本功,并不断学习的基础上。

3、开发测试工具

  • 能够通过自己所学的代码知识,开发出提高工作效率的测试工具,显然对个人而言是非常加分的。
  • postman专栏中的两篇脚本运用的示例,就是本打工仔,在公司接口改变了加密方式之后,编写出来的脚本。
    ( 实战:pre-request script加密接口请求参数(AES、MD5)、实战:Test script解密接口返回结果(AES))

四、写在2022的最后

  • 今年,本打工仔的打工生涯也开始进入了下一个阶段。希望这篇经验总结可以帮助到你。
  • 还有不到3个小时就要到2023年了。本打工仔还没有变成小阳人,也算是取得了一个阶段性的胜利。(我应该不会在最后三个小时变阳吧。。[苦笑])
  • 希望所有的苦难都留在2022吧,2023一切都可以好起来。

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

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

相关文章

4)Django模型,表单,视图,路由

目录 一 Django模型 Django ORM 数据库配置 Django 如何使用 mysql 数据库 实例 定义模型 创建 APP 数据库操作 添加数据 获取数据 更新数据 删除数据 二 Django 表单 HTTP 请求 GET 方法 POST 方法 Request 对象 QueryDict对象 三 Django视图 视图层 请求…

Vault的程序侧接入方式-AppRole

前言: 程序侧的接入对于Vault来说也是一种Accessor的接入,而AppRole绝对不是Vault首推的程序侧接入方式,但它是最方便的接入方式。 AppRole的本质是由Vault为程序单独引入一套由Vault托管的鉴权方式,对于安全平台来说没引入一套…

videojs-flvjs:video.js + flv.js播放m3u8和flv视频

videojs-flvjs是video.js的扩展&#xff0c;让video.js支持flv.js播放器&#xff0c;可以在video.js的techOrder里配置flvjs播放器。 下面做了一个切换m3u8和flv直播流的简易工具&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta ch…

线程安全(万字详解)

目录 线程安全 概念 用一段代码感受线程安全 线程安全问题的原因 修改上述代码,使其线程安全 synchronized synchronized使用方法 锁对象的规则 synchronized用法,代码展示 monitor lock sychronized的特性 java标准库中的线程安全类 死锁 死锁的常见原因 多个…

LVGL学习笔记9 - 标签Label

目录 1. 显示字符串 1.1 lv_label_set_text 1.2 lv_label_set_text_fmt 1.3 lv_label_set_text_static 2. 设置长字符串模式 3. 改变颜色 3.1 改变背景颜色和对比度 3.2 设置字符串颜色 3.2.1 设置Style的字符串颜色 3.2.2 设置对象的字符串颜色 3.2.3 局部改色 显示…

钧瓷产业将占禹州GDP50%以上,产生千亿市值钧瓷生态型科技公司

这里的上市指沪深的主板&#xff0c;创业板和科创板&#xff0c;区域的挂牌不算。 这个数据是根据禹州钧瓷产业2022年实际税收&#xff0c;综合钧瓷产业报税幅度&#xff0c;钧瓷数据开放平台&#xff0c;钧瓷产业决策内参&#xff0c;钧瓷产业化&#xff0c; 数字化后的预期增…

【CUDA入门笔记】GPU存储结构模型(1)

GPU存储结构模型 1.CPU可以读写GPU设备中的Global Memory、Constant Memory以及Texture Memory内存储的内容&#xff1b;主机代码可以把数据传输到设备上&#xff0c;也可以从设备中读取数据&#xff1b; 2.GPU中的线程使用Register、Shared Memory、Local Memory、Global Mem…

信息时代,企业如何安全管理数据

随着企业信息化的发展&#xff0c;企业所产生的数据量也越来越多&#xff0c;企业数据的存储安全和传输安全管理工作则成为企业数据管理者的重中之重。但是对数据的保护要依靠一定的基础设施&#xff0c;目前&#xff0c;世界各国对数据保护的基础设施建设还是不够完善&#xf…

VSCode搭建ruby开发调试环境

安装rvm rvm是ruby版本管理工具&#xff0c;可以管理本地的ruby的版本 curl -sSL https://get.rvm.io | bash -s stable安装ruby 使用 rvm list known获取已知的ruby版本&#xff0c;这里安装3.0.0版本的ruby rvm install 3.0.0新建ruby文件 在VSCode中新建ruby文件main.r…

【强训】Day1

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、选择二、编程1. 组队竞赛2. 删除公共字符答案1. 选择2. 编程普通小孩也要热爱生活&#xff01; 一、选择 下列选项中属于面向对象编程主要特征的是&#xff08;&#xff09; A 继承 B 自顶向下 C 模块化 D 逐步…

【BP靶场portswigger-服务端4】操作系统命令注入-5个实验(全)

目录 一、操作系统命令注入 1、意义 2、有用的命令 3、注入操作系统命令的方式 4、防止操作系统命令注入攻击 二、执行任意命令 1、示例&#xff1a; 实验1&#xff1a;操作系统命令注入&#xff08;简单&#xff09; 三、盲操作系统命令注入漏洞 1、简述 2、示例 3…

Spring Cloud 2022.0.0正式发布:OpenFeign稳得很全面迈向GraalVM

本文已被https://yourbatman.cn收录&#xff1b;女娲Knife-Initializr工程可公开访问啦&#xff1b;程序员专用网盘https://wangpan.yourbatman.cn&#xff1b;技术专栏源代码大本营&#xff1a;https://github.com/yourbatman/tech-column-learning&#xff1b;公号后台回复“…

Vector在CANdb++中关于XCP和应用报文的定义

Vector DBC规则 前文讲解了dbc有关的属性定义与编辑,本文描述在开发过程中关于XCP和应用报文有关的规则说明,方便开发人员正确配置和代码生成所需的属性及其值。 关联文章: dbc的属性定义:dbc的属性定义 Vector DBC属性定义规则:Vector DBC属性定义规则 DBC编辑问题——…

我理解的proc伪文件系统

一.概念 提供可以动态操作Linux内核信息的接口&#xff0c;实现内核空间与用户空间进行数据交换的途径。 二.观察文件内容 //crtlaltt 快速打开Linux终端 //输入一下内容 cd /proc //进入proc文件夹 ls //观察proc文件夹下的内容 cd 2414 //任意打开一个带数字的文件…

【问题解决】解决xshell7会话窗口只能显示一个的问题

这恐怕会成为最短的一篇文章 问题复现 打开多个终端&#xff0c;最终只显示最后一个 如上图&#xff1a; 再打开一个192.168.1.42 &#xff0c;会覆盖掉1.41&#xff0c;终端上先显示最后打开的那个终端。 想要解决xshell7会话窗口只能显示一个的问题&#xff0c;我们只需要…

日志系统:一条SQL更新语句是如何执行的?

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 之前你可能经常听 DBA 同事说,…

怎么判定自己的账号有没有被限流?短视频运营推广学习日记

短视频运营推广学习日记 今天开始记录自己的学习过程&#xff0c;今天的内容是&#xff0c;怎么知道自己的账号有没有被限流&#xff1f;对比了几个方法&#xff0c;还是我赢的内容比较正常&#xff0c;限流主要是两种方式&#xff1a;作品限流和账号限流 作品限流&#xff1…

开发第一天

首先下载Binary Editor: https://www.vcraft.jp/soft/bz.html 如图所示&#xff0c;点击下载&#xff1a; 下载后解压&#xff0c;在同一个盘下创建文件夹取名为OSASK,启动Bz.exe程序并输入&#xff1a; 需要复制很多的0,一直到168000这个地址&#xff0c;得到的文件命名为he…

(九) DockerFile

DockerFile一、概述二、DockerFile构建过程2.1、Dockerfile内容基础知识2.2、Docker执行Dockerfile的大致流程2.3、小总结三、DockerFile常用保留字指令四、实操案例4.1、要求Centos7镜像具备vimifconfigjdk84.2、编写4.3、Build构建镜像4.4、虚悬镜像一、概述 Dockerfile是用来…

C++18 -- 虚析构函数构成多态、纯虚函数、抽象类、虚继承

多态的条件&#xff1a; 1&#xff09;覆盖 2&#xff09;基类的指针或者引用 虚表的运行原理&#xff1a; 一、多态的特例 – 虚析构函数构成多态 类有指针作为数据成员&#xff0c;必须要写析构函数&#xff0c;如果当前类被继承了&#xff0c;则析构函数写成virtual&#…