做好 4个基本动作,拦住性能优化改坏原功能的bug

news2025/6/5 2:15:03

缺陷分析

“小李,202504300989这个现场缺陷你负责测试漏测分析,要求用5why方法找到漏测根因,根据找到的根因制定改进措施。你今天下班前完成,完成后立刻通知我,质量部现在每天都在催现场缺陷分析结果。”周二刚上班,就收到萍姐的钉钉消息。

最近两年,现场缺陷每周分析,改进措施随时增加,客户现场缺陷遗漏依旧不断,真不想把时间浪费在现场缺陷分析上面。最近开发递交任务多,已经积压不少任务单,测试工作都完不成,哪有时间搞这个。萍姐昨天通知如果周五下班前完不成测试任务,周六需要加班赶进度。我上周约了朋友这周六去九溪徒步,不能由于分析现场缺陷毁了周六之约,得快速完成分析。

缺陷描述是“做权限等同,选中角色权限时,权限等同后,角色权限被清空了。”做权限等同,怎么会清空角色权限呢?找开发张哥确定引入的任务单,任务单描述是“券商端权限等同时处理太慢,页面卡死,希望优化”。呀!这个任务是我一个月前测的,记得当时根本没提要测试什么角色权限啊。检查一下任务单的修改范围和测试建议,果然没提权限等同对角色权限的影响,看来原因就是开发没识别和告知修改内容。

漏测根因:“开发修改范围评估不全,没将对角色权限的影响告知测试”。

改进措施:“以后开发对自己修改的内容要做准确评估,并在任务单的修改范围和测试建议中写清楚”。

把分析结果告诉萍姐,继续测手上的任务,还好用了不到30分钟,对手上的测试工作影响不大。每天晚上赶赶进度,周五前应该可以把手上的任务完成,不耽误周六的徒步。

“小李,你现场缺陷分析要重做。部门经理张总看了你分析的结果后跟我说:‘我们测试要有自己的判断,不能开发没提我们就不测。如果每次都依赖开发准评估需要测试的内容,那随便找个外包验证就可以了,根本不需要我们这些专业的测试人员。测试人员应该有自己的专业素养,开发的测试建议只是参考,我们需要利用自己的经验和专业能力去发现埋到系统里面的bug。’ 你重新分析一下,必须找出漏测的根因,解决措施要能避免以后出现同类问题。”不到1个小时,一张单子还没测完,就收到萍姐的钉钉消息。周六的徒步大概率要泡汤了。

事件回顾

引入这个问题的需求是修改权限等同处理太慢,并增加进度条。记得那天有10个任务单等着测试,两年前入职的时候平均每天只要测5个单子,现在每天差不多8个,那天要测10个单子,降本增效给的压力有点大。这个需求改动小,就加进度条,并且做权限等同时不要卡死。当时设计了进度条展示、角色等同性能优化两个场景,为了验证原有功能,权限等同后还对比了等同用户与被等同用户的权限。当时测试比较顺利,半个小时就测完了,是10个单子最快的一个。

记得那天把10张单子全部测完都9:45了。回家时抬头看着圆圆的月亮,边走边庆幸自己住得近。公司规定晚上加班到10点后可以报销回家打车的钱,可我虽然只差15分钟也任性地直接往家走,根本不需要等到10点再打车,既节省自己的时间,还为公司省了钱。

原因和措施

回顾当时测试场景,如果做好如下4个方面,有可能发现这个缺陷的。

首先是没有挑选权限等同原有用例做回归测试,确保原有功能的正确性。对于性能优化的场景,应该要找出性能优化涉及模块的原功能测试用例,根据改动影响执行回归测试。在测试管理系统搜了一下人员管理的测试用例,用例库中测试用例三万多条,可人员管理才24条,仅有两条跟权限等同有关还是我自己写的。看来以前的测试用例指望不上,缺的用例也只能发现问题时逐渐补全,现在每天新的任务都测不完,小车不倒只管推,没问题谁有时间去补用例呢。

第二是自己当时没有针对性能优化的改动点设计功能回归测试用例。这个缺陷出现的场景是在权限等同时选中角色权限,等同后查看源角色的权限,就能发现源角色权限被清空了。按照我以往的经验,只会设计权限等同后目标用户权限是否跟原用户一致的测试场景,不会去检查源角色权限,角色权限清空估计只能靠其他使用场景碰巧发现。只靠自己一个人,可能无法完全做好。

第三是开发没有做代码评审。去年萍姐也碰到过性能优化导致原有功能错误的现场缺陷,改进措施包括性能优化的修改必须进行代评评审。这个任务没做代码评审,任务多的时候很多规定的动作都会做不到位。请老大把性能优化需要做代码评审的要求同步给首席架构师,让他们以公告的形式正式发给所有开发。今后性能优化的任务单如果没有代码评审的纪要,我就将任务单打回。

第四是用例没做评审。我们目前对用例评审的规定是:特性需求的测试用例必须线下开会评审,补丁测试用例采用邮件评审,其他日常需求测试用例是否评审没有要求。今后对于性能优化的需求,必须开展测试用例评审。改动点不大的性能优化日常需求,开会评审成本较高,可以像补丁那样采用邮件评审。不过从回复的测试用例评审邮件来看,邮件评审的效果也非常有限。10次评审一两次能回复一两条意见,其他全部是无意见。为了确保邮件评审的效果,可以在邮件中“喊”相关人进行评审,避免评审邮件淹没在邮件列表的海洋中。邮件正文中要明确架构师、设计人员、开发人员、测试经理各自评审的关注点,确保他们认真考虑才能给出答复,提升评审效果。

具体概要如下,首先是标题:【测试用例评审,需要回邮件】xxx测试用例评审。在标题中明确收到邮件的人需要做的动作,引起大家注意。

正文概要:本次性能优化需求和任务单链接如下,测试用例见附件,请各位同事参照以下要求进行评审。

【架构师】 请关注测试用例对架构层面影响进行是否充分覆盖、跨模块交互场景是否覆盖?如果覆盖全面,请回邮件覆盖全面,如果需要补充,请邮件回复需要补充的内容。

【设计】xxx,请关注性能用例是否覆盖设计中性能优化的预期场景、测试用例数据是否覆盖足够的边界值和异常输入等场景?性能优化是否有需要覆盖的可能影响的数据处理逻辑,功能测试是否覆盖可能影响到的功能?如果覆盖全面,请回邮件覆盖全面,如果需要补充,请邮件回复需要补充的内容。

【开发】xxx,检查测试用例是否覆盖性能优化所有代码改动点、异常处理逻辑是否得到有效验证?如果覆盖全面,请回邮件覆盖全面,如果需要补充,请邮件回复需要补充的内容。

【测试经理】xxx,请关注评估测试用例的策略(如性能测试前置、回归测试后置)和覆盖范围是否合理,是否存在测试盲区?检查测试用例的格式、步骤、预期结果是否规范清晰?如果覆盖全面,请回邮件覆盖全面,如果需要补充,请邮件回复需要补充的内容。

总结

任何一个测试任务都不是孤立的,我们测试的对象是整个系统,不是单个的需求,更不只是一个任务单,要在整个系统层面考虑修改点可能的影响范围,然后针对性地开展测试工作。

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

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

相关文章

web架构2------(nginx多站点配置,include配置文件,日志,basic认证,ssl认证)

一.前言 前面我们介绍了一下nginx的安装和基础配置,今天继续来深入讲解一下nginx的其他配置 二.nginx多站点配置 一个nginx上可以运行多个网站。有多种方式: http:// ip/域名 端口 URI 其中,ip/域名变了,那么网站入口就变了…

AI 的早期萌芽?用 Swift 演绎约翰·康威的「生命游戏」

文章目录 摘要描述题解答案题解代码分析示例测试及结果时间复杂度空间复杂度总结 摘要 你有没有想过,能不能通过简单的规则模拟出生与死亡?「生命游戏」正是这样一种充满魅力的数学模拟系统。这篇文章我们来聊聊它的规则到底有多神奇,并用 S…

go|channel源码分析

文章目录 channelhchanmakechanchansendchanrecvcomplieclosechan channel 先看一下源码中的说明 At least one of c.sendq and c.recvq is empty, except for the case of an unbuffered channel with a single goroutine blocked on it for both sending and receiving usin…

【大模型学习】项目练习:视频文本生成器

🚀实现视频脚本生成器 视频文本生成器 📚目录 一、游戏设计思路二、完整代码解析三、扩展方向建议四、想说的话 一、⛳设计思路 本视频脚本生成器采用模块化设计,主要包含三大核心模块: 显示模块:处理用户输入和…

【Rust】Rust获取命令行参数以及IO操作

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【Redis】Zset 有序集合

文章目录 常用命令zaddzcardzcountzrange && zrevrangezrangebyscorezpopmax && bzpopmaxzpopmin && zpopmaxzrank && zrevrankzscorezremzremrangebyrankzremrangebyscorezincrby 集合间操作交集 zinterstore并集 zunionstore 内部编码应用场…

manus对比ChatGPT-Deep reaserch进行研究类论文数据分析!谁更胜一筹?

目录 没有账号,只能挑选一个案例 1、manus的效果 Step-1:直接看结果 Step-2:看看其他文件的细节 Step-3:看最终报告 2、Deep reaserch 3、Deep reaserch进行行业分析 总结一下: 大家好这里是学术Anan&#xff…

【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解

【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解 一、前言:移动开发声明式 UI 框架的技术变革 在移动操作系统的发展历程中,UI 开发模式经历了从命令式到声明式的重大变革。 根据华为开发者联盟 2024 年数据报告显示,HarmonyOS 设备…

用提示词写程序(3),VSCODE+Claude3.5+deepseek开发edge扩展插件V2

edge扩展插件;筛选书签,跳转搜索,设置背景 链接: https://pan.baidu.com/s/1nfnwQXCkePRnRh5ltFyfag?pwd86se 提取码: 86se 导入解压的扩展文件夹: 导入扩展成功: edge扩展插件;筛选书签,跳转搜索,设置背景

初识PS(Photoshop)

初识PS(Photoshop) 1、Photoshop界面 2、常用快捷键

go语言的GMP(基础)

1.概念梳理 1.1线程 通常语义中的线程,指的是内核级线程,核心点如下: (1)是操作系统最小调度单元; (2)创建、销毁、调度交由内核完成,cpu 需完成用户态与内核态间的切…

电路图识图基础知识-高、低压供配电系统电气系统的继电自动装置(十三)

电气系统的继电自动装置 在供电系统中为保证系统的可靠性,保证重要负荷的不间断供电,常采用自动重合闸装置和备用电源自动投入装置。 1 自动重合闸装置 供配电系统多年运行实践表明,架空线路发生的故障多属于暂时性故障,如雷击…

Qt实现的水波进度条和温度进度条

一.效果 二.原理 1.水波 要模拟波浪,就要首先画出一条波浪线,正弦余弦曲线就很适合。 y=A*sin(ω*x+φ)+k y=A*cos(ω*x+φ)+k 这是正弦余弦曲线的公式,要想实现水波效果,那需要两条曲线,一条曲线的波峰对着另外一条曲线的波谷,要实现这样的曲线效果,只有让正弦曲线前移…

WEBSTORM前端 —— 第3章:移动 Web —— 第4节:移动适配-VM

目录 一、适配方案 二、VM布局 ​编辑 三、vh布局 四、案例—酷我音乐 一、适配方案 二、VM布局 三、vh布局 四、案例—酷我音乐

【Zephyr 系列 3】多线程与调度机制:让你的 MCU 同时干多件事

好的,下面是Zephyr 系列第 3 篇:聚焦 多线程与调度机制的实践应用,继续面向你这样的 Ubuntu + 真板实战开发者,代码清晰、讲解通俗、结构规范,符合 CSDN 高质量博客标准。 🧠关键词:Zephyr、线程调度、k_thread、k_sleep、RTOS、BluePill 📌适合人群:想从裸机开发进…

Kotlin-特殊类型

文章目录 数据类型枚举类型匿名类和伴生对象单例类伴生对象 数据类型 声明一个数据类非常简单: //在class前面添加data关键字表示为一个数据类 data class Student(var name: String, var age: Int)数据类声明后,编译器会根据主构造函数中声明的所有属性自动为其生成以下函数…

nssctf第二题[SWPUCTF 2021 新生赛]简简单单的逻辑

这是题目&#xff0c;下载后得到一个python文件,打开 解读代码&#xff1a; for i in range(len(list)):key (list[i]>>4)((list[i] & 0xf)<<4)result str(hex(ord(flag[i])^key))[2:].zfill(2)list[i]>>4&#xff1a;从列表中取数字同时高4位向右位…

《Discuz! X3.5开发从入门到生态共建》第3章 Discuz! X3.5 核心目录结构解析-优雅草卓伊凡

《Discuz! X3.5开发从入门到生态共建》第3章 Discuz! X3.5 核心目录结构解析-优雅草卓伊凡 3.1 系统核心目录结构 Discuz! X3.5采用模块化设计&#xff0c;主要目录结构如下&#xff1a; discuz_root/ ├─ api/ // API接口目录 ├─ config/ …

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能

【HarmonyOS 5】鸿蒙应用实现发票扫描、文档扫描输出PDF图片或者表格的功能 一、前言 图(1-1) HarmonyOS 系统提供的核心场景化视觉服务,旨在帮助开发者快速实现移动端文档数字化功能。 其核心能力包括:扫描合同、票据、会议记录并保存为 PDF 分享。拍摄课堂 PPT、书籍章…

Python_day43

DAY 43 复习日 作业&#xff1a; kaggle找到一个图像数据集&#xff0c;用cnn网络进行训练并且用grad-cam做可视化 进阶&#xff1a;并拆分成多个文件 关于 Dataset 从谷歌图片中抓取了 1000 多张猫和狗的图片。问题陈述是构建一个模型&#xff0c;该模型可以尽可能准确地在图像…