测试中的误报和漏报同样的值得反复修正

简介: 测试中的误报和漏报同样的值得反复修正

制品过程中,测试用例执行失败,那么不一定是发现了问题也有可能是外部因素导致的,这就是缺陷误报;在上线后,用户触发了遗漏缺陷,会引起一系列连锁反应,甚至导致资损,这些遗漏的缺陷是因为漏报导致的。

那么无论是误报,还是漏报都会导致制品团队的返工,也是最大的浪费。

误报的返工


测试过程中我们常常会遇见引起测试用例失效的原因不是被测系统的BUG导致的,而是由于一些测试环境、测试数据、外部依赖等原因导致的,虽然这些并不能定义为BUG,但是同样引起了测试工作的返工因此也需要解决误报。


误报是内部制品过程的浪费。我们在质量保障过程中,从需求阶段的开卡开始,就投入了测试工程师参与其中,针对研发工程师在完成需求过程中需要变更的接口提前准备了接口自动化测试的case,并且在完成验卡后通过流水线触发新增接口的自动化测试完成对应的质量保障活动,这一些的投入都是为了能够提高交付过程的流畅度。如果自动化测试在触发的时候出现了失效,我们更希望于这个失效状态都是被测系统的BUG导致的,但是现实中往往很多时候是由于一些外部系统的依赖、本地测试数据的污染等一些外围原因导致的,而不是被测试系统的BUG,这就是BUG误报,我们简称误报。

虽然不是被测试系统的BUG引起的测试失效,但是误报同样需要重视,因为它导致测试工作的返工。针对误报,可以通过添加技术需求卡的形式进入迭代过程阶段,这样既可以在团队中形成留痕也可以促使该种引起误报的问题不再出现。在添加完卡片后,就有研发工程师自己是情况而定是在本次迭代解决还是在未来某次迭代解决。


漏报的损失

在第一版软件评测师教程中提出的软件测试的原则就明确指出“完全的测试事不可能的,测试需要终止”。这也就导致所有的测试手段都不能穷尽所有变更中包含的BUG,所有的线上系统都是有缺陷的,我们将遗漏到客户的缺陷称作漏报。


漏报的结果就是会造成生产缺陷或者故障,从而引起一定的损失。这也和金融行业的风险与损失的概念一样。风险是损失发生的可能性,或可能发生的损失。损失本质上是一个偏于事后的概念,反映的是风险事件发生后状况,而风险却是一个明确的事前概念,反映的事损失发生前的事物发展状态。虽然说所有的交付系统都有BUG,但是我们还是寄希望于在测试过程中发现全部的BUG,虽然这还是一个不可能完成的事情,一些能被用户主动触发的BUG还是应该在制品过程中被解决。


那么当出现BUG漏报的时候,我们主观对漏报的BUG进行分级处理,针对严重级别高的漏报BUG行复盘,复盘过程是为了找出制品过程中的问题,从而弥补。保障同类问题不再出现,而不是为了追责。推荐复盘记录的一些关键要素:动作和事件时间表主要按照时间线记录发现、处理漏报BUG的动作、时间;漏报BUG的发现现象:这里重点记录是如何发现漏报BUG的,从而找出是否需要建立一些Action弥补对应的问题;级别:漏报BUG的级别,从而可以识别影响范围;后果和决定,也就是后续的需要解决该类问题不再发生的Action。


误报和漏报都是浪费


误报会引起返工,漏报会引起损失,这两种的结果都是制品过程中的浪费,因此我们应该通过各式各样的手段,防止误报的出现,阻止漏报的发生。这里面既有技术方法也有组织约束,但是每一种都是站在制品团队的技术改进之上来完成的,而不是为了寻找“背锅侠”而付出的努力。

目录
相关文章
|
6月前
|
关系型数据库 新能源 调度
【matlab测试与修正】考虑源荷两侧不确定性的含风电电力系统低碳调度
【matlab测试与修正】考虑源荷两侧不确定性的含风电电力系统低碳调度
|
搜索推荐 IDE 测试技术
如何验证程序是否完成,测试以及修正Bug?
在日常中,我们码代码都是按照需求来的,为了验证我们的工作成果是否符合项目的需求,那么验证程序是否完成、测试以及修复bug就成了我们工作中非常重要的流程。
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
237 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
242 3
快速上手|HTTP 接口功能自动化测试
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
48 5
|
3月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~