技术分享 | 什么是软件缺陷

简介: 技术分享 | 什么是软件缺陷

软件缺陷常常又被称为 Bug。所谓软件缺陷就是指计算机软件或者程序中存在的某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷。

Bug 的存在会导致软件产品在某种程度上不能满足用户的需要。

在 IEEE 中对 Bug 有一个标准的定义:

  • 从产品内部看,是指软件产品开发或维护过程中存在的错误、毛病等各种问题。
  • 从产品外部看,是指系统所需要实现的某种功能的失效或违背。

缺陷种类

缺陷可以分为不同的种类:

  • 遗漏:指规定或预期的需求未体现在产品中。
  • 错误:指需求是明确的,在实现阶段未将规格说明正确实现。
  • 冗余:指需求规格说明未涉及的需求被实现了。
  • 不满意:除了上面 3 种情况外,用户对产品的实现不满意也称为缺陷。

缺陷的等级划分

在不同的企业对软件缺陷等级的划分大同小异,大致可分为五个等级:

  • 致命:指造成系统或应用程序死机、崩溃、非法退出等,会造成用户数据丢失或被破坏,功能设计与需求严重不符的问题。
  • 严重:指功能和特性没有实现,导致模块功能失效或异常退出,还有程序接口错误或者数据流错误等问题。
  • 一般:指主要功能丧失,提示信息不太正确,用户界面设计太差以及删除未提示等问题。
  • 提示:指对功能几乎没有影响,产品及属性仍可使用的问题。
  • 建议:测试人员提出的建议、质疑等问题。

缺陷报告

缺陷报告是测试执行完成后,最重要的输出之一,一份好的缺陷报告也是提高软件质量的重要保障。

不同的公司因为缺陷管理的流程不一样,可能有不同的缺陷报告模版。但是一个完整的缺陷报告通常应该包含以下内容:

  • 编号:用数字进行唯一标识缺陷,通常是在缺陷管理工具中新建 Bug 时会自动生成。
  • 状态:通常描述当前缺陷的状态,比如修复、延期等。
  • 标题:通常用一句比较简洁的话来概括 Bug,通过描述可以初步推测 Bug 原因,来提高处理的效率。
  • 类型:主要为了进一步描述缺陷产生的原因,比如功能错误、接口错误、数据库错误等。
  • 所属版本:描述当前 Bug 所在的测试版本,便于后期回归时注意测试版本。
  • 所属模块:描述 Bug 所在的业务模块,便于后期统计缺陷的分布情况,利于在进行回归测试的方法及测试策略的改进。
  • 严重级别:指 Bug 的严重程度。通常不同的严重程度给软件带来的后果、风险的影响都不一样,开发人员处理的优先级也不同。
  • 处理优先级:由开发人员根据 Bug 的严重级别来确定处理的优先级。
  • 发现人:Bug 的提交者。
  • 发现日期:一般在提交 Bug 时,由 Bug 管理工具自动生成,便于后续进行缺陷的跟踪。
  • 复现概率:指 Bug 重现的概率,便于开发定位分析。一般包括必现、偶现等。
  • 指定处理人员:根据 Bug 的类型指定处理人。通常指定具体的开发人员,如果是需求错误则需要指定产品或需求分析人员,便于后期进行跟踪。
  • 详细描述:详细描述缺陷引发的原因以及复现步骤。需要包含测试环境、前提条件、测试数据、复现步骤、预期结果、实际结果等内容。
  • 附件:为了加深描述可以添加一些附件信息,如截图、录屏、错误的日志信息等。
相关文章
|
1月前
|
SQL 安全 测试技术
『软件测试6』bug一两是小事,但安全漏洞是大事!
该文章强调了在软件测试中识别与处理安全漏洞的重要性,并详细介绍了常见的安全测试类型、测试流程及使用的主要工具,帮助测试人员有效地检测和防止安全问题。
『软件测试6』bug一两是小事,但安全漏洞是大事!
沟通 节选自《闻缺陷则喜》(此书可免费下载)
沟通 节选自《闻缺陷则喜》(此书可免费下载)
|
XML SQL 存储
2022渗透测试面试大全(过来人的全部家底)
2022渗透测试面试大全(过来人的全部家底)
2022渗透测试面试大全(过来人的全部家底)
|
设计模式 Serverless 领域建模
实战经验 | 怎样才能提升代码质量?
提升代码质量的三个有效方法:领域建模、设计原则、设计模式。
实战经验 | 怎样才能提升代码质量?
|
测试技术 API 微服务
《软件测试52讲》读书笔记 —— 互联网产品的测试策略
《软件测试52讲》读书笔记 —— 互联网产品的测试策略
255 0
《软件测试52讲》读书笔记 —— 互联网产品的测试策略
|
安全 网络协议 测试技术
『软件测试6』bug一两是小事,但安全漏洞是大事!(二)
前面我们讲过黑白盒测试和性能测试,但是呢,对于一个软件来说,安全测试也是非常重要的。就像封面所示,内容很诱人,一旦用户点击进去,就很容易让其执行非本意的操作,试想下结果……不堪设想。因此,做好软件安全测试,共同营造一个良好的软件环境是至关重要的。 在下面的这篇文章中,将讲解关于软件测试中的安全测试。一起来学习吧~
『软件测试6』bug一两是小事,但安全漏洞是大事!(二)
|
测试技术 数据库
技术分享 | 什么是软件缺陷
技术分享 | 什么是软件缺陷
|
负载均衡 架构师 Java
阿里毕玄:我在系统设计上犯过的14个错
继上篇《架构师画像》提到了自己在系统设计上犯过的一些错之后,阿里毕玄又回顾了近八年来所做的一些系统设计,看看犯的一些比较大的血淋淋的错误(很多都是推倒重来),这八年来主要做了三个基础技术产品,三个横跨三年的大的技术项目(其中有两个还在进行中),发现大的错误基本集中在前面几年,从这个点看起来能比较自豪
22389 0
|
新零售 测试技术 持续交付
直播|如何避免走进自动化测试盲区?
自动化测试能够帮助测试人员从重复、枯燥的手工测试中解放出来,但在自动化实践过程中,却发现理想和现实之间差距很大。为了帮助企业解决自动化的烦恼,深入了解分层自动化,阿里巴巴旗下一站式研发提效平台——云效,将于12月8日(周四)16:00开启《阿里巴巴持续集成持续交付之分层自动化》在线直播分享。
2906 0