【冒烟测试前置】如何把控提测质量?

news2024/11/20 11:22:56

你是否碰到过开发提测速度很快,导致项目排队,结果介入测试时,第一条用例都跑不通的情况?

你是否碰到过因为开发提测质量差,导致反复修改,反复提测,反复重复验证的情况?

你是否碰到过因为开发提测质量差,导致一个修改影响了一大票老功能,从而让项目质量岌岌可危的情况?

你是否碰到过因为开发提测质量差,导致项目后期通过压缩测试时间来保证项目进度的情况?

你是否碰到过开发拍胸脯承诺这次肯定没问题,结果测试数据稍一变通就跑不通过的情况?

不管你有没有碰到过,我反正是全都碰到过。

有人说,这开发太水了,咋不自测呢?

有些确实是没有自测导致的,但是有一些开发确实自测了,但是自测的结果是没问题的。

一方面开发自测时都是针对自己修改的内容进行自测,这种情况往往发现不了啥问题,毕竟自己对自己的代码太熟悉了。

另一方面开发自测时,大部分都是通过调试来看效果,并不是真正的用户环境,甚至连测试环境都算不上,那么这种自测的效果就很差。

那有没有什么好的解决办法呢?
下面提供几个操作建议供参考:

1.提供给开发人员自测需要的环境

比如我们是 Windows 客户端的软件,经常需要覆盖不同的 Windows 系统版本,很多开发都没有很全的系统版本的环境,所以提测的时候只会在一个他自己常用的环境进行自测。

有时候出现问题,他们的借口也可以是自己没有现成的环境,搭建环境需要时间太多等等,那好吧,我们给提供需要的各种拿来即用的环境就好了,反正我们测试也是要准备各种各样的环境的。

其实和几个开发的沟通发现,他们还是挺高兴有这些环境的,所以可能真不是人家不想自测。

那既然可以两全其美,何乐而不为呢。

2.提供开发人员自测的测试用例

我们在收到开发的提测通知后,经常的对话就是「自测没?」,「这次真的自测了。」,结果一冒烟,依然有问题,开发带着震惊的表情过来一看,不好意思,这个场景我们考虑到,但是我确实自测了呀,你看测试数据换成这样肯定没问题。

是滴,不是没有自测的错,只是测试的内容和我们预期的不一样,也就是每个人对「自测」的理解不一样,那我们明确下自测的详细要求就好了呗。

目前我们组几个同学的方法就是直接丢给开发冒烟测试的用例,必须把这些用例跑通过了才能提测。

开发其实也挺乐意这样做的,毕竟目标明确,还能避免反复低质量提测,何乐而不为呢。

3.提供提测时的前置自动化校验

上面说的两种方法都是人工干预,既然是人工干预,就会涉及到人的不可控性,为了避免人的因素造成的问题,我们又在提测系统中增加了一些必要检查点的自动化检测逻辑。

比如文件签名属性的检查,一方面这是对所有文件的通用检查要求,另一方面检查的规范要求的十分明确,那么这种就特别适合做成自动化实现,如果检查有问题,直接阻止提测,减少交互造成的时间浪费。

这地方提醒下,所有的阻止项一定要给明确的说明,避免开发不知道什么原因被阻止,也不知道怎么修改,那就尴尬了。

4.提供冒烟测试的自动化用例

在一些自动化落实程度比较高的项目中,如果已经有主要用例完成了自动化用例覆盖,完全可以把自动化执行接入到提测流程中,提测前必须过自动化用例检查。

这样一方面可以节省开发准备环境的时间,另一方面开发对用例的关注程度也可以减弱了,所有的结果和问题都可以在自动化用例实现上进行完善。

其实对于一些要求开发进行充分单元测试的项目,上面这些担心都不是必要的,因为我们提供的解决方法都包含到单元测试的要求里面了。

但是基于国内的现状,能完整开展单元测试的项目并不多,那么质量保证的任务就全部落到测试人员的身上了。

有同学可能对上面的方式有一些疑问,比如测试是不是做的太多了,提测质量的要求本来就是需要开发做到的,现在他们做不到,却还让测试帮忙额外做这么多事情,太没有道理了。

其实之前我也是这么想的,后来发现测试工程师的主要工作职责其实就是质量保证,那么所有和质量保证相关的事情,测试都可以去推进,这也是很多公司衍生出 SQA 的原因。

那如果从质量保证的角度想想,是不是上面做的这些事情就很有必要了,只是把一些测试人员需要做的事情前置了,但是带来的好处却是比投入要大的多,毕竟谁都知道早期发现问题的修改成本要比后期发现再修改的成本低的多。

以上,关于冒烟测试你有什么看法和想法,欢迎给我留言讨论。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

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

相关文章

sql数据类型,约束以及单表查询

嘎嘎学撒 数据类型约束条件DML 数据操作语句一、插入数据INSERT二、更新数据UPDATE三、删除数据DELETE四、MySQL单表查询五、关键词 数据类型 常见的数据类型 数值类型: 整数类型 TINYINT SMALLINT MEDIUMINT INT BIGINT 整型可以指定是有符号的和无符号的&#xf…

如何快速做跨业务测试?

当业务任务多且人力资源不充足的情况下,不同业务的同学可能需要去不同的业务进行临时支援,可能在时间方面有长有短,但是如何迈出第一步是很多人需要关心的一件事。 本文以实际跨业务测试经验(订单业务测试人员如何测试售后业务&a…

【操作】国标GB28181视频监控EasyGBS平台更新设备信息时间间隔

国标GB28181协议视频平台EasyGBS是基于GB28181协议的视频监控云服务平台,可支持多路设备同时接入,并对多平台、多终端分发出RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。平台可提供视频监控直播、云端录像、云存储、检索回放、智能告警、语音对讲、平台…

[Python进阶] Pyinstaller打包程序时为程序添加图标

5.5 Pyinstaller打包程序时为程序添加图标 5.5.1 程序图标的好处 增强可识别性:图标是一种视觉语言,能够提高应用程序的可识别性,使其在众多应用程序中更容易被用户找到和识别。 帮助用户理解应用程序功能:图标可以快速传达应用…

硬件基本功--电阻/电容/电感/二极管

一、电阻 电阻的主要参数:阻值、精度、封装、功率、耐压 电阻在电路中的作用:分压、限流、采样、偏置等等 阻值:103 10*1000 10KΩ 电阻流过电流,就会有压降,从而产生功率损耗 电阻封装、功率、耐压的关系&#xff1…

青云1000----华为昇腾310 注意事项

青云1000帮助文档 只是一部分,后续遇到的问题会补充 注意事项!!!! type-c只用于数据传输不能供电DC供电和锂电池不能同时供电,会烧掉风扇正负级不要插反 账户密码 HwHiAiUser 密码Mind123 TypeC USB …

接口测试——接口协议抓包分析与mock_L2

目录: 抓包工具charles抓包工具fiddler抓包工具证书配置app抓包实战练习接口测试实战练习 1.抓包工具charles 工具介绍 支持 SSL 代理支持流量控制支持重发网络请求,方便后端调试支持修改网络请求参数支持网络请求的截获并动态修改可以自动将 json 或…

七、栈与队列(stack and queue)

文章目录 一、栈与队列基础二、例题(一)栈1.[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/description/)(1)思路(2)代码(3)复杂度分析 2.[225. …

海大校园学习《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著

海大校园学习《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著

pytorch固定随机数中种子

1、添加到yolov7的utils/general.py文件最下面 import pkg_resources as pkg def check_version(current0.0.0, minimum0.0.0, nameversion , pinnedFalse, hardFalse, verboseFalse):# Check version vs. required versioncurrent, minimum (pkg.parse_version(x) for x in …

【数据结构--八大排序】之归并排序

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

中国社科院与美国杜兰大学完成了我的金融硕士梦

一个人从出生就被赋予着太多的期待,比如爸爸妈妈从小没有完成的梦想,哥哥姐姐失败的课程,为了实现这些期待,人们忙着奋斗、拼搏、追逐,马不停蹄去做有用的事,结交有用的人,不敢虚度半寸光阴&…

第1章 数据结构绪论

1.1 开场白 1.2 你数据结构怎么学的 1.3 数据结构起源 早期人们都把计算机理解为数值计算工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该是先从具体问题中抽象出一个适当的数据模型,设计出一个解此数据模型的算…

crypto:丢失的MD5

题目 得到一个md5.py 运行一下,发现报错,修改一下 运行之后又报错 报错原因是算法之前编码 正确的代码为 import hashlib for i in range(32,127):for j in range(32,127):for k in range(32,127):mhashlib.md5()m.update((TASC chr(i) O3RJMV c…

Makerbase SimpleFOC ESP32 例程12 双霍尔电机位置控制

Makerbase SimpleFOC ESP32 例程12 双霍尔电机位置控制 第 1 部分 硬件介绍 1.1 硬件清单 序号品名数量1MKS ESP32 FOC V1.0 主板12LA034-040NN07A 霍尔电机23DC24V电源14USB 线1 硬件清单如下图所示: ESP32 FOC V1.0主板说明书等更多资料请加入企鹅&#xff…

1039 到底买不买

描述 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子&#xff1…

对比学习的锚网络和自动生成标签

文章目录 锚网络自动生成标签(词组) 锚网络 在对比学习(Contrastive Learning)中,“锚网络”(Anchor Network)通常是指一个用于生成数据样本的表示的网络。锚网络的主要作用是将输入数据样本转…

链表入门(单链表讲)

链表 1.链表1.1 链表概念及其结构1.2 链表的分类 2.单链表代码实现2.1 单链表的定义2.2 单链表的初始化2.3 单链表的新增结点2.4 单链表的打印2.4 单链表的插入2.4.1 头插2.4.2 尾插2.4.3 任意位置插入 2.5 单链表的删除2.5.1 头删2.5.2 尾删2.5.3 任意位置删除 2.6 单链表的查…

华为网络技术基础笔记

2023-2024 一、9/81.典型拓扑2.分层架构3.流量分析4.网线 二、9/15三、9/19 一、9/8 1.典型拓扑 Topolpgy 拓扑 结构 ①总线型 ②星型 网络 要 有 “ 冗余 ”性。 ③树型 ④环型网络(口字型网络) ⑤全互联(全网状) ⑥部分网…

代码随想录 Day7 字符串1 LeetCode T344反转字符串 T541 反转字符串II 151翻转字符串的单词

本文更详细解析来自于:代码随想录 (programmercarl.com) LeetCode T344 反转字符串 链接:344. 反转字符串 - 力扣(LeetCode) 题目思路 这题的思路很简单,只需要创建两个指针,一个指向首字母,一个指向末字母,两两进行交换即可,这里我们要说的就是交换,可…