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

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

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

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

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

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

缺陷种类

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

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

缺陷的等级划分

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

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

缺陷报告

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

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

  • 编号:用数字进行唯一标识缺陷,通常是在缺陷管理工具中新建 Bug 时会自动生成。
  • 状态:通常描述当前缺陷的状态,比如修复、延期等。
  • 标题:通常用一句比较简洁的话来概括 Bug,通过描述可以初步推测 Bug 原因,来提高处理的效率。
  • 类型:主要为了进一步描述缺陷产生的原因,比如功能错误、接口错误、数据库错误等。
  • 所属版本:描述当前 Bug 所在的测试版本,便于后期回归时注意测试版本。
  • 所属模块:描述 Bug 所在的业务模块,便于后期统计缺陷的分布情况,利于在进行回归测试的方法及测试策略的改进。
  • 严重级别:指 Bug 的严重程度。通常不同的严重程度给软件带来的后果、风险的影响都不一样,开发人员处理的优先级也不同。
  • 处理优先级:由开发人员根据 Bug 的严重级别来确定处理的优先级。
  • 发现人:Bug 的提交者。
  • 发现日期:一般在提交 Bug 时,由 Bug 管理工具自动生成,便于后续进行缺陷的跟踪。
  • 复现概率:指 Bug 重现的概率,便于开发定位分析。一般包括必现、偶现等。
  • 指定处理人员:根据 Bug 的类型指定处理人。通常指定具体的开发人员,如果是需求错误则需要指定产品或需求分析人员,便于后期进行跟踪。
  • 详细描述:详细描述缺陷引发的原因以及复现步骤。需要包含测试环境、前提条件、测试数据、复现步骤、预期结果、实际结果等内容。
  • 附件:为了加深描述可以添加一些附件信息,如截图、录屏、错误的日志信息等。

更多技术文章:  https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=hwyun&timestamp=1649923865

相关文章
|
测试技术 数据库
技术分享 | 什么是软件缺陷
技术分享 | 什么是软件缺陷
|
人工智能 项目管理 UED
50年软件经验收获的64个教训
1970年,我在大学上了第一门编程课(当然是FORTRAN)。在过去的半个世纪中,我花了很多时间从事软件工作:需求,设计,用户体验,编程,测试,项目管理,编写文档, 过程改进领导,撰写7本书和许多文章,进行咨询和培训。 当然,在这过程中还存在一些附带问题,例如获得有机化学博士学位(我的论文的三分之一是计算机代码)并担任研究科学家几年。 但基本上我是一个软件专家。 在过去的这段时间里,我积累了许多有关软件业务的见解。 在这里,我提供其中的64课。 也许您会发现它们像我一样有帮助。
285 0
经验分享:5个可以轻松实践的高效工作秘诀
工作产出 = 单位时间产能 × 有效工作时间,本篇文章介绍了如何提高工作效率,希望每个人都能找到属于自己的高效之路。
1146 0
经验分享:5个可以轻松实践的高效工作秘诀
|
测试技术 程序员
程序猿自测的重要性(职业素养必备)
        程序猿自测的重要性(职业素养必备)                老帅         事情源于工作中最近一次对研发流程的优化,原有流程是这样的:                 问题出在编码结束阶段,编码结束后,在业务部门进行测试的时候,发现程序不能正常运行,无法开展测试工作。
1315 0
|
SQL 监控 Oracle
最近的几个技术问题总结和答疑(五)
最近收到了几个朋友的提问,我简单总结了一下。问题1: 首先是有个朋友问到,单引号,双引号在有些场合通用,有些场合会提示错误。 我做了一个简单的测试,当然只是一个相对片面的解读,能够说明问题即可。
967 0
|
监控
最近的几个技术问题总结和答疑(九)
    最近的琐事比较多,而提问题的朋友还是不少,很多消息都没有来得及回复,各种事情一堆起来,不少问题想起来已经过了好几天了,所以还是来整理一篇技术问答为好。     首先是很多朋友问我关于半自动化搭建Data Guard的脚本,我写了几篇文章来介绍思路,自己也提了不少的改进,团队内部也沟通过了,一直迟迟没有发布出来是因为我觉得目前的实现方式可能对于我的工作能够极大提高,但是很多朋友使用的环境可能没有中控的概念,所以不是很通用,所以我想做一些改变,还有一个是里面的有些逻辑我想改改,至少简化一下。
939 0
|
SQL 索引
最近的几个技术问题总结和答疑(三)
突然发现最近忙里偷闲也回答了一些微信好友的问题。有的在公众号提问,有的私信给我。简单整理了一下。 问题1: 之前使用expdp和impdp导出导入数据库statistics时遇到一个bug,无法impdp导入,后来只能不导入statistics,待导入数据后自己收集对象统计信息,但问题是收集的统计信息和原来有些差异,特别是直方图信息有差异,导致sql执行计划有变化,不知到杨总有没有遇到过?又该怎么处理呢? 答: 报错是因为跨版本了吧,有的时候有这种情况,我们生产是不用直方图的。
1144 0

热门文章

最新文章