软件测试基础知识整理(八)- 软件缺陷
目录
一、软件缺陷
1.1 缺陷定义
1.2 缺陷判定标准
1.3 软件缺陷产生的原因
1.4 软件缺陷产生的根源
1.5 软件缺陷信息
1.5.1 缺陷状态
1.5.2 缺陷严重程度
1.5.3 缺陷优先级
1.6 缺陷报告模板
1.7 缺陷报告注意事项
1.8 缺陷跟踪流程
1.9 缺陷数据分析关注的问题
一、软件缺陷
1.1 缺陷定义
软件或者程序中存在的各种问题。
1.2 缺陷判定标准
- 软件没有达到需求说明书标明的功能。
- 软件出现了需求说明书指明不会出现错误的地方。
- 软件超出了需求说明书指明的范围。
- 软件出现了需求说明书虽未指明,但应该达到的目标。
- 软件难以使用,效率低下。
1.3 软件缺陷产生的原因
- 需求解释、记录或者定义错误。
- 设计文档说明存在错误或者拼写错误。
- 编码说明、程序代码有误。
- 硬件或者软件系统上存在错误。
1.4 软件缺陷产生的根源
- 需求变更
- 交流不充分
- 软件的复杂性
- 进度压力
1.5 软件缺陷信息
编号 | 属性名 | 描述 |
---|---|---|
1 | 缺陷ID | 唯一的缺陷ID,可根据该ID追踪缺陷。 |
2 | 缺陷状态 | 缺陷状态指缺陷通过跟踪修复的进展情况。 |
3 | 缺陷标题 | 描述缺陷标题 |
4 | 缺陷严重程度 | 对软件产品的影响程度,分致命、较严重、严重、一般、低 |
5 | 缺陷优先级 | 缺陷修复的先后顺序 |
6 | 缺陷所属模块 | 缺陷所属的项目和模块,要较能精准的定位至模块 |
7 | 缺陷记录者 | 提交缺陷的人员 |
8 | 缺陷提交时间 | 缺陷提交的时间 |
9 | 缺陷处理人 | 处理缺陷的处理人 |
10 | 处理结果描述 | 对处理结果的描述,描述处理情况和代码修改情况 |
11 | 缺陷处理时间 | 缺陷处理的时间 |
12 | 缺陷验证人 | 对被处理缺陷验证的验证人(回测者) |
13 | 验证结果描述 | 对验证结果的描述(通过、不通过) |
14 | 缺陷详细描述 | 缺陷的重现步骤 |
15 | 缺陷环境说明 | 对测试环境的描述 |
16 | 必要附件 | 如涉及到附件的火错误现象的图片等 |
1.5.1 缺陷状态
缺陷状态表 缺陷状态 描述 New(待提交) 缺陷刚被发现并报告,但还没有被分配或处理。 Open(待确认) 缺陷已被提交,并等待处理。 Fixed(已修复) 缺陷已被开发人员修复。 Cloesed(已关闭) 缺陷修复已完成,并确认不再需要进一步的处理。 Reopen(重新打开) 在经过验证后,缺陷再次出现或相关问题未解决,导致需要重新处理。 Postpone(延期处理) 缺陷修复的处理被延期,通常是由于优先级较低或其他原因导致。 Reject(被拒绝) 缺陷被测试团队或相关负责人员拒绝处理,通常是由于误报或不符合缺陷定义的情况。 Duplicate(重复缺陷) 已存在相同或类似的缺陷报告。 Abandon(放弃处理) 缺陷被认为无法或不必修复。
1.5.2 缺陷严重程度
缺陷严重程度表 严重等级 描述 致命错误(Critical) 缺陷导致的系统崩溃、数据丢失或不可用,以及严重的安全漏洞。 严重错误(High) 系统主要功能部分缺失,数据不能保存,系统所提供的功能或者服务受到明显影响。 一般错误(Medium) 系统次要功能没有完全实现,但不影响用户正常使用。(仅仅影响一个相对独立的功能,或者特定条件上发生) 较小(Low) 操作不方便或遇到麻烦,但不影响系统功能操作和执行(例如:错别字,文字排列不整齐等一系列小问题)
1.5.3 缺陷优先级
缺陷优先级表 优先级别 描述 立即解决(Urgent) 缺陷导致系统用不能使用或者测试不能继续,需立即修复。 高优先级(High) 缺陷严重,影响测试,需优先考虑。 正常排队(Medium) 缺陷正常排队等待修复。 低优先级(Low) 缺陷可以在有时间的时候被纠正。
1.6 缺陷报告模板
ID | 功能模块 | 严重程度 | 优先等级 | BUG类型 | 测试环境 | 状态 | 缺陷描述 | 预置条件 | 重现步骤 | 期望结果 | 实际结果 | 附件图片/日志 | 测试人员 | 开发人员 | 解决方案 | 创建日期 | 解决日期 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
QQLog_01 | 登录 | 致命 | 立即 | 功能错误 | win10 | new | QQ账号登录提示账号不存在 | QQ账号正确 | 1.打开QQ 2.输入账号密码 3.点击登录按钮 | QQ账号登录成功,进入QQ主界面 | 提示“账号不存在” | ||||||
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
注意:不同公司对于缺陷的严重程度和优先级有不同的代码表示,例如:S1(致命缺陷),P0(立即修复)等。
1.7 缺陷报告注意事项
- 缺陷报告不能有缺陷
- 表达和描述简洁、准确
- 一个缺陷一个报告
- 缺陷一定是可重现的
- 避免出现模糊的词汇
- 不能有个人感情色彩
- 出现bug过程一定要详细
1.8 缺陷跟踪流程
- 新提交的缺陷为新建状态(New),确认有效后为待确认状态(Open),经过开发人员修改后,缺陷变为已修复(Fixed)状态,此时就需要测试人员对缺陷进行回归测试,验证问题是否修复。
- 如果问题已经修复,则测试人员将该缺陷的状态置为关闭状态(Closed),同时添加回测说明如“该缺陷已解决”。
- 如果已经关闭的问题再次出现,则测试人员将该缺陷状态修改为重新打开。
1.9 缺陷数据分析关注的问题
- 哪个模块问题最多
- 哪个测试工程师测试的缺陷最多
- 各个缺陷数量占比
- 开发是否可以及时修复缺陷
- 开发人员一次修复缺陷的占比
- 软件是否能正常发布
相关文章:

软件测试基础知识整理(八)- 软件缺陷
目录 一、软件缺陷 1.1 缺陷定义 1.2 缺陷判定标准 1.3 软件缺陷产生的原因 1.4 软件缺陷产生的根源 1.5 软件缺陷信息 1.5.1 缺陷状态 1.5.2 缺陷严重程度 1.5.3 缺陷优先级 1.6 缺陷报告模板 1.7 缺陷报告注意事项 1.8 缺陷跟踪流程 1.9 缺陷数据分析关注的问题 …...

有没有想过一种可能,30岁之后,转行去做IT售前?
灵魂拷问 IT行业的变化是非常迅速的,各种新技术、新产品、新观念、新的业务模式层出不穷,不仅是我们,客户也在不断地学习进步,因此我们注定要终身学习。 IT售前这个岗位为许多IT职场人提供了一种新的选择: 你不需要成为某一方面…...
基于决策树的Ensemble方法在边缘计算中的应用
随着物联网的普及,边缘计算已成为一种重要的技术手段。在边缘计算中,数据的处理和分析都是在设备端进行的,而不是通过云端进行。这种技术可以大大降低网络带宽和响应时间,从而提高了用户体验。但是,边缘设备通常受到计…...

golang常见导致panic的场景
1、越界 常见有数组越界和字符串越界 2、空指针引用 直接引用空指针结构体的字段会引发panic,但调用成员方法里如果没引用结构体的字段不会引发panic 3、断言失败 4、map操作错误 map未初始化,可读不可写。 map的value如果是结构体指针…...
Python 修改文件权限+只读后几行 can‘t do nonzero end-relative seeks
读后几行使用File Handle : seek 文件处理 # -*- coding: UTF-8 -*-# 打开文件 fo open("runoob.txt", "rw") print "文件名为: ", fo.nameline fo.readline() print "读取的数据为: %s" % (line)# 重新设置文件读取指针到开头 fo.…...

每日学术速递5.25
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Chupa: Carving 3D Clothed Humans from Skinned Shape Priors using 2D Diffusion Probabilistic Models 标题:Chupa:使用 2D 扩散概率模型从蒙皮形状先验雕…...

GAMES202作业1
目录 Shadow MapCalcLightMVP函数useShadowMap函数Bias函数 最终效果 PCF两个采样函数PCF函数最终效果 PCSSfindBlocker函数PCSS函数最终效果 参考 先放上公式: 后面的积分项是我们在作业0中就做好的blinnphong项,我们要求的就是积分项前,等…...

Android 12.0状态栏居中显示时间和修改时间显示样式
1.概述 在12.0的系统rom定制化开发中,在systemui状态栏系统时间默认显示在左边和通知显示在一起,但是客户想修改显示位置,想显示在中间,所以就要修改SystemUI 的Clock.java 文件这个就是管理显示时间的,居中显示的话就得修改布局文件了 效果图如下: 在这里插入图片描述 …...

湍流的数值模拟方法概述
湍流,又称紊流,是一种极其复杂、极不规则、极不稳定的三维流动。湍流场内充满着尺度大小不同的旋涡,大旋涡尺度可以与整个流畅区域相当,而小漩涡尺度往往只有流场尺度千分之一的数量级,最小尺度旋涡的尺度通过其耗散掉…...

openFast中的陆上风电机组5MW_Land_DLL_WTurb参数详解
文章目录 一、openFAST是什么?二、参数截图三、参数详解 一、openFAST是什么? openFAST是一种开放源代码的工具,为风能工程师提供了用于模拟和设计风力涡轮机的框架。它可以计算风力涡轮机在各种环境条件下的性能,并提供对风力涡…...

“卷”还是“躺平”?职场人如何在工作中找到价值感?
今天不谈技术,只谈进步。 曾经看过一个回答说“职场人最好的姿势是仰卧起坐”。 卷累的就躺,休息好了再继续卷,卷是常态,“仰卧起坐”也好,“卷的姿势”也好,都是在反复“卷起”的过程中寻找一些舒适和平衡…...

《Opencv3编程入门》学习笔记—第二章
《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第二章 OpenCV 官方例程引导与赏析 openv官方提供的示例程序:具体位于..\opencv\sources\samples\cpp ..\opencv\sources\samples\cpp\tutorial_code路径下存…...
ABP VNext种子数据按顺序插入
ABP VNext种子数据按顺序插入 1.Domain层1.1 新加Author和Book实体1.2 CustomDataSeedDbMigrationService新加方法1.3新加ISowSeed接口1.4 作者和图书种子数据逻辑1.5 新加CustomDataSeedDataSeederContributor 2.EntityFrameworkCore2.1 CustomDataSeedDbContext2.2 生成迁移脚…...

Verilog | FIFO简单实现
FIFO( First Input First Output)简单说就是指先进先出,也是缓存机制的一种,下面是我总结的 FIFO 的三大用途: 1)提高传输效率,增加 DDR 带宽的利用率。比如我们有 4 路视频数据缓存到 DDR 中去,比较笨的方法是&#x…...
设计模式应用场景
设计模式简介 工厂模式(Factory Pattern):使用工厂方法创建对象,而不是使用new关键字直接实例化对象。 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关对象的接口,…...

还在老一套?STM32使用新KEIL5的IDE,全新开发模式RTE介绍及使用
Keil新版本出来了,推出了一种全新开发模式RTE框架( Run-Time Environment),更好用了。然而网上的教程资料竟还都是把Keil5当成Keil4来用,直接不使用这个功能。当前正点原子或野火的教程提供的例程虽有提到Keil5,但也是基本上当Kei…...

Java时间类(十一) -- Date类工具类 -- Java获取当天、本周、本月、本年 开始及结束时间
目录 1. 今天的日期如下: 2. DateUtils工具类的源代码: 3. 测试类 1. 今天的日期如下:...

Alma Linux 9.2、Rocky Linux 9.2现在是RHEL 9.2的替代品
随着Red Hat Enterprise Linux (RHEL) 9.2的发布,Alma Linux 9.2和Rocky Linux 9.2成为了RHEL 9.2的备选替代品。这两个Linux发行版旨在提供与RHEL兼容的功能和稳定性,以满足那些需要企业级操作系统的用户需求。本文将详细介绍Alma Linux 9.2和Rocky Lin…...

推荐5款提高生活和工作效率的好帮手
在这个数字化时代,软件工具已经深深地影响和改变了我们的生活和工作。有着各种各样的软件工具,它们都可以在特定的领域内让我们变得更加高效,完成复杂的任务。选择一款适合你的软件工具,不但可以极大地释放生产力,也可以让生活变得更加便捷。 1.桌面图标管理工具——TileIconi…...

美团小组长薪资被应届生员工倒挂7K,不把老员工当人?
一位美团的小管理爆出,无意中看到了整个部门薪资,本以为自己算比较高的,但看完之后整个人都傻眼了。小组长的职位月薪28K,而手下组员却是35K,当天晚上抽了一包烟也没想明白是为什么。 楼主表示,自己是美团的…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...