四年功能测试,测试工作吐槽

news2024/11/16 1:21:35

这篇文章基于中小公司的工作经验,中小厂的测试流程往往没有大厂那么规范,也会遇到很多挑战,来看下他是怎么解决的

问题一:测试时间评估

这是一个工作日常经常需要回复的问题,理论上 测试这边要做出较科学合理的回复,那就要将
【需求变更】
【开发进度延误】
【bug 修复不稳定】
【复杂业务流程】
【测试环境不稳定】
【上下游服务依赖】
【人员资源】
【是否引入新技术】
【回归范围】
等等不确定因素考虑进去,再多方沟通确定才能获得相对合理的答案。但现实里 一个功能测试会同时测试几个项目,通常是最晚得知新需求的内容,需求评审会议都是被冷不丁拉入,然后产品劈里啪啦讲完后就让你给个测试时间,方便他安排工作。

  1. 临时进入会议,需要你马上给个估计时间场景:
  • 【解决方法】询问开发所用的时间,将测试时间设定为开发时间的 50%、70% 或 80%(根据现场氛围说自己的百分比)
  1. 流程较规范,测试先拿到需求文档进行评估:
  • 【解决方法】编写完测试点,根据一条用例平均 5 分钟的时间,然后根据一天实际能干活的时间,例如用 6 小时去粗劣计算天数,越多越好(测试时间肯定会被压缩)

注意:如果觉得系统很复杂,自己无法正确评估,拉上你的领导/组长一起判断,千万别不好意思或者觉得这样显得自己很差,我们是功能测试,要学会哭惨!,任务太难或者太多就让组长拉多一个人来帮忙。同时测试这边投入的人力数量需要告知下产品,防止那种一旦看到时间有盈余,就疯狂后期加需求的产品。

问题二:同一时间需要完成多项测试任务

大多数功能测试的现状应该差不多,通常是测试着 A 任务,就接到 B 任务的需求评审,已上线的 C 任务现网出现了些问题反馈需要你跟进,然后测试组自动化的任务 D 也要完成进度,最后 C 任务根据用户的一些反馈做了功能整改,拉你评审和排期

  1. 需要当天确定的任务:
  • 紧急且重要、紧急但不重要、不紧急但重要、不紧急且不重要。四个级别分类任务,虽然老套,但是真的有用,事情一多时,人特别容易烦躁,这时候就需要一个指导思想
  1. 多个周期任务:
  • 依据截止日期, 根据任务的截止日期制定计划。先处理最紧急的任务,确保不会因为延误而影响项目进度
    注意: 任务多顶不住就求救,别硬撑,看过应届生一个人测试着吃力不说,搞得老同事接锅加班的

问题三:需求不明确

这应该几乎是所有功能测试都会遇到的问题,主要分为三种:

  1. 一句话需求,甚至需求文档写在 txt 里,就一句话,eg:【充值满 XX 元获得奖励】(本人真实经历)
  2. 抄袭的需求,同为差不多的功能,拿了其他产品的需求文档适当做了修改就发出给研发
  3. 全文字需求,无流程图 无交互稿
情况一:一句话需求

老实说这种类型的产品一般都是愣头青,你要是把需求文档打回去,通常情况下只是从一句话需求变成十句话需求,解决不了问题,你还是要在时间内完成测试

  1. 测试这边辛苦些,拿上述一句话的例子【充值满 XX 元获得奖励】,列出不清晰的点:缺乏详细活动规则说明、奖励类型不明确、具体数值、活动触发条件、用户资格验证条件、界面展示交互、奖励发放的触发时机等
  2. 与产品经理电话沟通,询问有关背景、业务目标、关键功能、用户期望等方面的问题,然后将列出的不清晰点发到大群并 @ 开发和产品,让其在文档里做补充
  3. 千万别和产品私聊然后自己一个人确认需求,全部互动都要在大群
情况二:抄袭需求

通常拿来主义的产品都是很懒的,同时没啥主见,甚至他会叫你去找他抄袭的那个产品聊,麻烦的点主要在于实际转测后发现功能实现与文档不一致,开发给的原因是其中的业务逻辑或用户需求不适用于当前项目

  1. 转测后,让产品提前先体验,让产品先满意后再测试
  2. 其他参考情况一
情况三:全文字需求

通常这类产品还挺固执,认为自己描述得很清楚

  1. 解决方式基本和情况 1 一致

注意:以上三种情况,务必都要告知自己的直属领导,同时减少和产品的私聊,多在大群里聊,多留刷锅的证据

问题四:线上出现 bug

线上出现 bug 时,大多第一时间会很慌,生怕是自己的锅,所以步骤很重要,一方面防止非自己的锅被人甩在身上,一方面要显得自己是个负责的成熟测试

通常都是群里忽然炸锅,截图出 bug 点,然后产品们叽叽喳喳

  1. 冷静点,群里先发一句:“我定位下,看能不能复现”
  2. 现网尝试复现 bug,如果 bug 能百分百复现,@ 相关开发排查,并发出便于定位的相关的日志和信息
  3. 测试环境尝试复现,若能复现,查询下测试用例有无覆盖当前的场景【确保不是测试用例执行遗漏,执行遗漏和覆盖遗漏是两个不同的锅,执行遗漏是态度问题,很严重的】
  4. 如果是自己的锅,记得表现出积极解决问题的态度,配合开发检查修复状态,并同步到大群,要将 bug 出现的原因和修复方法了解清楚,方便后续做复盘和回答领导的询问。
  5. 如果是他人/环境的锅,要表现出超级积极解决问题的态度,将 bug 原因和修复情况实时同步到大群

注意: 遇到线上 bug,一定不要急着疯狂甩锅和叠buff(这个在测试阶段时就要上的护甲,测试报告提示风险和大群聊天记录),要表现出先解决问题的态度,同时搜索对自己有利的条件。

问题五:测试报告风险规避

主要有几点:

  1. 测试日报中,阻塞测试进度 bug、偶现 bug、p0 级未解决 bug 需要标红加粗放在测试报告醒目的地方
  2. 对于测试环境无法完美模拟现网环境的测试场景,需要在报告中标红加粗体现(风险多说不亏)
  3. 测试进度根据测试用例执行的百分比来写

问题六:测试时间不足

造成测试时间压力的通常有以下几种:开发时间延期、产品上线日期提前【大 boss 给的压力】、需求变更、测试人力资源变动、测试物料阻塞、复杂的业务逻辑。通常遇到时间不足,最好的解决方式还是加人,其他的只能前期进行预防```

  • 开发延期:喜闻乐见的情况,鉴于经验通常都是延期 1-0.5 天,所以测试时间评估一般都要在自己评估的时间上至少 +1 天,同时保持在开发转测时间的前一天问下开发进度的习惯。如果开发给了进度不乐观,及时同步给产品和测试领导,看产品是否可以调整时间或者领导这边加测试人力。将测试压力尽量提前告知,给测试领导和产品有调整分配的时间,不要依赖开发去反馈

  • 产品上线日期提前:没有任何方法预防,一般大老板开口了,测试领导比你还紧张,会积极询问你测试进度情况和风险,你这边要是没把握,可以提出增加人力的要求。

  • 需求变更: 需求变更也是很常见的,特别是都转测了,产品那逼还在每天优化更新他的需求文档。这里需要预防一个坑:你要截图保存他转测前的最后一次需求文档并发到大群 @ 相关人,防止后面现网出现需求不一致情况时,产品拿着他未同步且更新过的文档来兴师问罪。到时你百口莫辩,特别是测试地位比较低的公司,产品修改需求是不跟测试及时同步的。 时间上也以每次变动的大小产生的影响,记录在测试报告上,规避背锅的风险。

  • 测试人力变动: 原本两个人测试的任务,因为其他原因变成一个人。这也是很常见的情况,特别是两个人当初分好了测试范围,你这边只了解和评估了自己的范围,对其他人那部分并不了解,无形之中增加了后期的测试压力和时间。这种情况通常没啥好的解决方法,记得要哭惨,要让测试领导和产品去协调。别一个人傻傻的硬撑疯狂加班

  • 测试物料阻塞:电商类型的项目通常涉及一些消费券的申请和配置,同时这些券的使用还带风控判断。测试这边要根据情况,转测前提前沟通准备好测试物料,申请需要用的白名单和权限,熟悉好对应的配置系统。防止正式转测前,被一堆权限和申请的事情严重拖延到进度。

  • 复杂的业务逻辑: 具体情况具体分析,根据经验,面对复杂的业务逻辑,最好的方法就是编写清晰、详细的测试用例。对自己要有 B 数,评审阶段感觉吃力就求救兵

问题七:用例执行困难

  • 用例执行困难,通常是开发质量差导致

目前感觉最好的办法:转测前,出一份冒烟用例给开发,通过冒烟用例后才能转测,否则主流程测试阻塞,只要代码有大改动,基本都要重新测。测试地位比较低的公司,可以把这个流程安利给测试领导和产品,让领导去推动

问题八:测试数据陷阱

常出现于前端开发,转测时给你的 mock 数据与实际现网数据结构不匹配,如果你是比较擅长 mock 数据和做代码 review 的,通常还挺容易踩这种坑,拿着这个错误的数据模板做了多个边界值和数据类型变化测试,代码对每个数据的处理逻辑也是正确的。然后发布到现网就报错无法交互

  • 对开发要保持怀疑的态度: 验证环节需要接入现网数据去看测试页面的响应是否正确

问题九: 业务自动化实现

很多公司的业务通常都是未经探讨直接强行自动化的,UI 自动化能阻止就阻止,阻止不了就加入。对于接口/ui 自动化,老实说我一直觉得最好的提效方式就是找个市面上商业化的自动化平台工具,直接买来就用(面过一个国企,他们就是这样干的),都不用投入什么人力,付费工具那点钱对公司来说也不多,测试这边还能把精力放在业务上,有需求就给技术方提,这才是最好的提效方式。

可惜现在都要抽出一部分人力去搞这种做完很少人用且不好用的平台,搞笑的是这些平台的技术难点都集中在前后端框架业务实现,反而能在业务中起到多大作用的考虑倒是最低的,基本还是走的请求返回再断言那套,或者更魔幻点的 UI 自动化都给你加上 AI 赋能寻找控件。。。。。其实大部分都是把实现过程复杂化,然后起作用的还是你用最原始的 pytest+request 组合去断言那套

  • 公司最好的方法就是跟随大众,自动化技术能力基本都是测试标配了,但是能把自动化设计好的估计没几个

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

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

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

相关文章

Flutter学习4 - Dart数据类型

1、基本数据类型 num、int、double (1)常用数据类型 num类型,是数字类型的父类型,有两个子类 int 和 double 通过在函数名前加下划线,可以将函数变成私有函数,私有函数只能在当前文件中调用 //常用数据…

2024 财源(裁员)广进(鸿蒙开发岗)~

2023已过去了,2024大家都在期待经济复苏起来,但并没有起来,倒是第一波 “裁员潮”突然来袭: 这一波突然袭击,使得一些年后想换工作的人不敢轮乱动了,真不知道哪一天起床就失业了 今年我已经接到了太多粉丝…

力扣OJ题——随机链表的复制

题目: 138. 随机链表的复制 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 要求:构造这个链表的 深拷贝 深拷贝应该正好由 n 个 全新 节点组成,其中…

LabVIEW多通道压力传感器实时动态检测

LabVIEW多通道压力传感器实时动态检测 介绍了一种基于LabVIEW的多通道压力传感器实时动态检测系统,解决压阻式压力传感器温度补偿过程的复杂度,提高测量的准确性。通过自动轮询检测方法,结合硬件检测模型和多通道检测系统设计,本…

【动态规划专栏】专题三:简单多状态dp--------3.删除并获得点数

本专栏内容为:算法学习专栏,分为优选算法专栏,贪心算法专栏,动态规划专栏以及递归,搜索与回溯算法专栏四部分。 通过本专栏的深入学习,你可以了解并掌握算法。 💓博主csdn个人主页:小…

ios抓包Tunnel to......443

fiddler官网下载“CertMaker for iOS and Android”插件,官网插件:https://www.telerik.com/fiddler/add-ons 双击运行插件后,重启fiddler,ios重新安装证书即可

九州金榜|家庭教育小技巧

家庭教育对于孩子的发展至关重要,家长一定要重视孩子在家里的举动,同样孩子犯错,对于孩子批评也是有一定技巧,下面九州金榜家庭教育给大家分享一下关于在家庭教育中的一些小技巧,帮助大家怎样在家庭教育中面对孩子 1、…

字节一面 : post为什么会发送两次请求?

同源策略 在浏览器中,内容是很开放的,任何资源都可以接入其中,如 JavaScript 文件、图片、音频、视频等资源,甚至可以下载其他站点的可执行文件。 但也不是说浏览器就是完全自由的,如果不加以控制,就会出…

DPDK应该如何入门学习?

01 写在前面 我的读者当中应该有一部分人是做 DPDK 相关的,我自己虽然现在已经不做 DPDK 了,但对这块仍然有兴趣,今天这篇文章就来总结下 DPDK 的技术栈。注意:这篇文章是小白文,不适合大神哦。 文章从 DPDK 的产生背…

四.QT5工具安装和环境变量的配置

1.以管理员身份运行安装包 2.登录qt账号,点击【next】 3.选中同意 4.选择安装目录,注意不能有中文和空格 5.勾选 64位 mingw。点击【next】,等待安装完成 6.配置环境变量

QT基本组件

四、基本组件 Designer 设计师(重点) Qt包含了一个Designer程序,用于通过可视化界面设计开发界面,保存文件格式为.ui(界面文件)。界面文件内部使用xml语法的标签式语言。 在Qt Creator中创建文件时&#xf…

Java面向对象案例之家禽对象Poultry(3)

类主要结构图 抽象类:Poultry(家禽作为父类)子类:Chook(鸡类)、Duck(鸭子类)测试类:PoultryTest 类的方法图 代码示例 /*** 测试类*/ public class PoultryTest {public…

【STM32学习】——续上:软件SPI读写W25Q64SPI通信外设硬件SPI读写W25Q64

四、软件SPI读写W25Q64 工程思路与I2C类似,MySPI.c是通信底层,主要包括通信引脚封装、初始化、SPI通信的三个拼图(起始、终止和交换一个字节);基于此文件建立W25Q64.c,调用MySPI三个拼图,拼接成…

Jmeter内置变量 vars 和props的使用详解

JMeter是一个功能强大的负载测试工具,它提供了许多有用的内置变量来支持测试过程。其中最常用的变量是 vars 和 props。 vars 变量 vars 变量是线程本地变量,它们只能在同一线程组内的所有线程中使用(线程组内不同线程之间变量不共享&#…

(十二)【Jmeter】线程(Threads(Users))之setUp 线程组

简述 操作路径如下: 作用:在正式测试开始前执行预加载或预热操作,为测试做准备。配置:设置预加载或预热操作的采样器、循环次数等参数。使用场景:确保在正式测试开始前应用程序已经达到稳定状态,减少测试结果的偏差。优点:提供预加载或预热操作,确保测试的准确性。缺…

[newstarctf2023] --RE wp

AndroGenshin: rc4加密表,base64换表: 脚本梭就行 python username b"genshinimpact" base64_table [125, 239, 101, 151, 77, 163, 163, 110, 58, 230, 186, 206, 84, 84, 189, 193, 30, 63, 104, 178, 130, 211,164, 94, 75, 16, 32, 33…

SpringBoot启动报错:Failed to load property source from ‘file:/D:.....

SpringBoot启动报错:Failed to load property source from file:/D:… SpringBoot启动爆如图的错误 2024-02-22 20:57:42.865 ERROR 23024 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedjava.lang.IllegalStateExce…

基于SpringBoot的教师宿舍管理系统设计与实现(源码+调试)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的教师宿…

考研高数(高阶导数的计算)

1.归纳法 常见高阶导数 2.泰勒展开式 3.莱布尼兹公式 4.用导数定义证明导函数在某一点连续的例题

并发编程(2)基础篇-管程

4 共享模型之管程 本章内容 共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock 4.1 共享带来的问题 4.1.1 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去&#xff…