5年软件测试年薪30w+,我的坎坷之路谁又知道
在深圳做了五年软件测试工作,从之前的一脸懵的点点点,到现在会自动化测试,说一点点非计算机专业人员从事软件测试的心得体会,仅供参考交流。
大部分测试在公司没啥地位,当然如果你懂技术就还行,单纯点点点,地位很低,其次测试大部分都是面试造飞机,进去拧螺丝的典型,我目前是一家公司的测试负责人,面试的时候说的天花乱坠,要做接口自动化,搭建测试平台,性能压测,这些我也确实做到了,所以试用期给我转正,但是我写的接口自动化和搭建的自动化平台也就是搭起来了,公司压根没用上。
今天就以测试阶段分析一下软件测试人员每天基本工作内容,总的分为以下几个阶段:
1.项目开始之初,也可以是一次迭代开始之初
这个时候每天基本都是以熟悉本次项目或本次迭代功能模块需求为主。
方式:一般就是看文档,有时就是看一天文档,或参加不同的评审会。
根据不同人理解需求方式的不同,我比较喜欢用XMIND梳理测试点需求,不管做什么事都喜欢用笔去整理一番。
这阶段主要是理解需求,分析功能模块的业务流程,尽可能将测试点梳理得更细,在梳理过程中如果遇到不理解,或需要做的需求与以前的需求逻辑不符时,可以先找产品经理讨论,并确定,方式可以是当面讨论,也可以以邮件的方式确定,推荐以邮件的方式确定。
如果项目流程完善的团队,这时一般会由产品经理开始组织需求评审,用通俗的话讲就是过需求,以前公司是由SE组织需求评审,然后开发人员组织评审Story,目前是开发人员有时会组织,不同人组织评审内容有所不同,测试人员关注的重点也会随之变化。
2.项目中前期工作内容
这时阶段软件测试人员主是写文档。
因为前期已经将需求的范围和测试点整理OK 了,那这个时候基本就是输出这些东西为主,输出的人文档测试员称之为 测试用例。
方式:一般是用excel写,有可能会写上几天的测试用例。
测试用例写完之后,测试人员会组织测试用例评审,可以用正式的会议形式组织,也可以以邮件的形式发给开发和产品评审,如果是以邮件的形式,那一定要跟踪,因为大部分开发人员都不喜欢看邮件,可以用即时通讯提醒开发人员和产品经理去评审测试用例。
这个阶段开发人员一般都在编码,也是非常忙的时候。
测试用例并不是一定要用excel写,像现在项目测试用例大部分都是用XMIND写,喔现在习惯了用这种方式写,用XMIND写更能发散测试人员的思维。
现在很多公司都不喜欢写测试用例,觉得太花费时间了,也可能是由于项目紧的原因,但我觉得测试用例在执行测试之前一定去有这样一个过程,虽然花费时间,但是在执行测试时只需要根据前面梳理的测试点去执行就OK了,同时不容易造成漏测,就算公司不要求,我在测试之前,一定会做这样的事,无论项目时间是否紧迫,这也算是成为一种习惯了。
3.项目中期工作内容
这个阶段是软件测试人员最辛苦的阶段—测试执行阶段。
方式:根据测试类型的不同,执行测试也有所不同
功能测试时,执行测试主要就是测试软件的功能,界面以及软件体验性等;做接口测试时,执行阶段就是通过工具调用各种接口,测试各类接口传值、取参、返回等测试点。
这个阶段不仅要测试,还有一件非常重要的事情就是提交BUG。
大概分为:在缺陷管理工具上编写BUG,和开发人员讨论BUG,复现BUG,跟踪BUG的处理流程。这个时期需要做的事情很多,不断地测试,不断地与开人员沟通,复现BUG。
在进行第二三轮测试时需要对前期提交的BUG,进行回归测试。
软件测试人员不仅要有发现BUG的能力,也需要有分析BUG,定位BUG的能力。定位BUG可以通过查询数据库、后台日志或者查看源代码等不同的方式去分析和定位。
4.项目后期工作内容
这个阶段测试人员主要做的事情有写测试报告和项目/迭代总结。
执行测试完成之后,测试人员需要对本次测试下一个结论,到底是测试通过还是不通过,这时软件测试人员需要给测试结论,但不能就简单的一句话给开发说本次项目测试通过了,可以上线,或者说本次项目测试不通过,BUG还有很多,软件质量有风险。
所有事情都讲究依据,那么软件测试也需要,测试人员需要给项目团队提供测试结果的依据。所以测试报告中一般包括测试用例的执行情况、从各种维度分析缺陷、遗留缺陷等方面分析测试情况。
项目测试完之后,软件测试人员可以利用项目间隔总结项目,一般是输出业务需求为主,方便其他测试人员查阅。
以上就是根据测试阶段分析了软件测试人员的主要工作内容。
基本的情况我先介绍到这里了,有想法的朋友可以看下面这些视频来学习软件测试,祝大家早日找到适合自己的工作
B站2023年最详细的python自动化测试框架全栈测试开发技术入门到精通教程
4.Jmeter【接口实战】
【Web自动化测试】需求和挑战
相关文章:
5年软件测试年薪30w+,我的坎坷之路谁又知道
在深圳做了五年软件测试工作,从之前的一脸懵的点点点,到现在会自动化测试,说一点点非计算机专业人员从事软件测试的心得体会,仅供参考交流。 大部分测试在公司没啥地位,当然如果你懂技术就还行,单纯点点点…...

【Opencv--自适应图像二值化】cv2.adaptiveThreshold()
【Opencv–adaptiveThreshold】自适应阈值图像二值化 文章目录【Opencv--adaptiveThreshold】自适应阈值图像二值化1. 介绍2. adaptiveThreshold函数2.1 函数调用2.2 补充说明3. 代码示例4. 效果4.1 原图(ori.img)4.2 处理后5. 参考1. 介绍 在这里 cv2.…...

洛谷P8601[蓝桥杯][2013年第四届真题]剪格子
题目描述如图 11 所示,33 的格子中填写了一些整数。我们沿着图中的红色线剪开,得到两个部分,每个部分的数字和都是 60。本题的要求就是请你编程判定:对给定的 mn 的格子中的整数,是否可以分割为两个部分,使…...
配置alias实现快速生成.gitignore文件
git工具:版本控制开发工具。 cscope工具:用于浏览C源码的工具,类似于ctags。在代码根目录下执行cscope -Rbq,然后产生三个索引文件(cscope.out、cscope.in.out和cscope.po.out三个文件)。 在Linux下使用vi…...

MySQL数据库调优————GROUP BY及DISTINCT优化
GROUP BY 三种处理GROUP BY的方式 松散索引扫描(Loose Index Scan)紧凑索引扫描(Tight Index Scan)临时表(Temporary table) 三种方式的性能一次递减 松散索引扫描 无需扫描满足条件的所有索引键即可返…...
LRU缓存算法
双向链表哈希表(非线程安全) https://leetcode.cn/problems/lru-cache/solutions/259678/lruhuan-cun-ji-zhi-by-leetcode-solution/ /*** LRU算法: 哈希表双向链表实现* 1. 双向链表按照被使用的顺序来存储, 靠近头部的节点是最近使用的, 靠近尾部的节…...
@Configuration注解
Configuration注解介绍 Configuration注解,用于标注一个类是一个spring的配置类(同时,也是一个bean),配置类中可以使用ComponentScan、Import、ImportResource 和 Bean等注解的方式定义beanDefinition。 Target(Elem…...

基于springboot+vue的食疗系统
基于springbootvue的食疗系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍&…...

sklearn学习-朴素贝叶斯
文章目录一、概述1、真正的概率分类器2、sklearn中的朴素贝叶斯二、不同分布下的贝叶斯1、高斯朴素贝叶斯GaussianNB2、探索贝叶斯:高斯朴素贝叶斯擅长的数据集3、探索贝叶斯:高斯朴素贝叶斯的拟合效果与运算速度总结一、概述 1、真正的概率分类器 算法…...

分享112个HTML艺术时尚模板,总有一款适合您
分享112个HTML艺术时尚模板,总有一款适合您 112个HTML艺术时尚模板下载链接:https://pan.baidu.com/s/1D3-mfPOud-f3vy9yLl-bmw?pwdfph2 提取码:fph2 Python采集代码下载链接:采集代码.zip - 蓝奏云 时尚平面模特网站模板 潮…...
用GDB远程调试运行于QEMU的程序
1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 测试环境 本文使用 Ubuntu 16.04.4 LTS QEMU 环境进行调试。 3. 用 GDB 调试 QEMU 内程序 3.1 编写用来调试的程序 我们用 ARM32 来进行调试…...

20 堆排序
文章目录1 堆排序的概念2 堆排序基本思想3 堆排序步骤图解说明4 堆排序的代码实现1 堆排序的概念 1) 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为 O(nlogn)…...

2023最新文件快递柜系统网站源码 | 匿名口令分享 | 临时文件分享
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 2023最新文件快递柜系统网站源码 | 匿名口令分享 | 临时文件分享 很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不…...
分片策略(二)
分片策略 基本概念 分片键 用于分片的字段,是将数据库或表拆分的字段,比如,我可以使用user_id作为分片键将用户数据分到不同的表中,这里的user_id就是分片键,除了这种单字段分片,ShardingSphere还支持多…...

Qt之调色板类QPalette的使用
文章目录QPalette调色板类前言代码知识点讲解QPalette调色板类 前言 Qt提供的调色板类QPalette专门用于管理部件的外观显示,相当于部件或对话框的调色板,管理他们所有的颜色信息。每个部件都包含一个QPalette对象,在显示时,按照…...

Kotlin 32. Kotlin 多语言支持
Kotlin 多语言支持 对于 Kotlin 来说,当我们新建一个项目时,会默认在 values/ 文件夹下,生成一个 strings.xml 文件。比如说, <resources><string name"app_name">exampleNewProject</string> <…...

【Flutter入门到进阶】Dart进阶篇---DartVM单线程设计原理
1 虚拟机的指令执行设计 1.1 虚拟机的分类 基于栈的虚拟机,比如JVM虚拟机 基于寄存器的虚拟机,比如Dalvik虚拟机 1.2 虚拟机的概念 首先问一个基本的问题,作为一个虚拟机,它最基本的要实现哪些功能? 他应该能够模拟…...
Dem和NvM(NVRAM Manager)的交集
NVRAM(NvM)提供了在NVRAM中存储数据Block的机制。 NVRAM Block(最大大小取决于配置)被分配给Dem,并由Dem实现事件状态信息和相关数据的永久存储(例如通电复位)。 ECU 状态管理器(Ec…...
AI神经网络CNN/RNN/DNN/SNN的区别对比
@版权声明: 本文由 ChatGpt 创作; BiliBili: https://www.bilibili.com/video/BV17D4y1P7pM/?share_source=copy_web&vd_source=6d217e0ff6387a749dc570aba51d36fd 引言 随着人工智能技术的发展,神经网络作为人工智能的核心技术之一,被广泛应用于图像识别、语音识别、…...

【JavaWeb】一文学会JPA
✅✅作者主页:🔗孙不坚1208的博客 🔥🔥精选专栏:🔗JavaWeb从入门到精通(持续更新中) 📋📋 本文摘要:本篇文章主要介绍JPA的概念、注解实现ORM规范…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...