Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件缺陷是什么以及缺陷的管理

软件缺陷是什么以及缺陷的管理

作者头像
用户7466307
发布于 2020-06-17 14:13:21
发布于 2020-06-17 14:13:21
3.2K0
举报

1

软件测试缺陷

软件缺陷的定义
  • 软件缺陷,通常又被叫做Bug或者defect,即为软件或程序中存在的某种破坏正常运行能力的问题、错误、其存在会导致软件产品在某种程度上不能满足用户的需求。
  • 软件缺陷是指存在于软件(程序、数据、文档)中的那些不符合用户需求的问题。
软件缺陷的表现形式

1、软件未达到需求规格说明书标明的功能 2、软件出现了需求规格说明书指明不会出现错误的地方 3、软件的功能超出了需求规格说明书指明的范围 4、软件出现了需求规格说明书虽未指明,而应该达到的目标 5、软件测试人员认为软件难以理解,不易使用,运行速度慢,或者最终用户体验不好。

  • 具体表现形式如下:
  • 1、 软件未达到需求规格说明书标明的功能

1、计算器说明书一般声称该计算器将准确无误地进行加、减、乘、除运算。 2、如果测试人员或用户选定了两个数值后,随意按下了“+”号键,结果没有任何反应。

2、软件出现了需求规格说明书指明不会出现的错误

1、若在测试过程中发现,因为电池没电而导致了计算不正确。 2、但软件需求规格说明书中明确指出在任何情况下都不允许出现计算不正确的情况出现。

3、软件的功能超出了需求规格说明书指明的范围

1、若在进行测试时,发现除了规定的加、减、乘、除功能之外,还能够进行求平方根的运算, 而这一功能并没有在说明书的功能中规定。

4、软件未达到需求规格说明书虽未指明而应该达到的目标

1、假如计算器说明书指明计算器不会出现崩溃、死锁或者停止反应,而在用户随意按、敲键盘后,计算器崩溃了。

5、 软件测试人员认为软件难以理解、不易使用、运行速度慢、或者最终用户认为不好

1、测试人员或最终用户发现计算器某些地方不好用,比如,按键太小、显示屏在亮光下无法看清等。

软件缺陷产生的原因

软件缺陷产生是不可避免的,造成软件缺陷产生的原因主要归纳如下:

1、需求解释、记录或者定义错误 2、设计文档说明存在错误或者拼写错误 3、编码说明、程序代码有误 4、硬件或者软件系统上存在错误

软件缺陷产生的根源
  • 需求的变化 需求说明书、设计文档、程序的变更
  • 交流不充分 客户与开发人员、开发人员与测试人员等
  • 软件的复杂性 功能复杂、开发复杂、测试复杂
  • 开发人员的错误 对需求的理解、开发压力、能力与经验
  • 进度压力 项目周期比较紧

软件缺陷的信息

为了便于缺陷的定位、跟踪和修改,要对所发现的缺陷,按照缺陷的严重程度、优先级、发现阶段、 修复阶段、缺陷的性质、所属功能模块、系统环境等方面进行分类和统计。

缺陷的状态
  • new:“新建状态”。

测试人员新建缺陷,称之为“new”状态。

  • open: 意为“打开状态”。

开发人员接收到缺陷后确认该缺陷,并且会打开,称之为“open”状态。

  • fixed:意为“修复状态”。

开发人员打开缺陷后进行修复的状态称之为“fixed”状态。

  • closed:意为“关闭状态”。

测试人员发现该缺陷已被开发人员修改,并且修改正确,会关闭该缺陷,称之为"closed"。

  • rejected:意为“拒绝状态”。

开发人员接收到测试人员新建的bug后,不认同该bug,可以拒绝修改,称之为“rejected”

  • postpone:意为“拖延状态”。

开发人员接收到测试人员的bug后,如遇到临时有事的情况,可以延后修复,称之为“postpone”

缺陷的严重程度
缺陷的优先级
缺陷的分类

软件缺陷修复相关

并不是所有的缺陷,开发人员都会进行修复

  • 开发人员拒绝修改的缺陷 程序员无法重现或者现象难以捕捉 --- 缺陷详细描述 没有明确的报告以说明重现缺陷的步骤---缺陷报告 程序员无法读懂的缺陷报告 ---标题 由不受信任的测试人员提出---缺陷提交人
  • 不是所有缺陷都会修改 市场的压力使得产品最终发行有时间限制 测试人员错误理解或者不正确操作引出的缺陷(FAQ) 错误的修改影响的模块较多,带来的风险较大(遗留) 修改性价比太低 缺陷报告中提出的问题很难重现

2

缺陷管理

认识缺陷报告

1、 缺陷报告的重要性

  • 软件缺陷的描述是软件缺陷报告的基础部分,需要使用简单、准确、专业的术语来描述缺陷。否则,它就会含糊不清,可能会误导开发人员,影响开发人员的效率,也会影响测试人员自身的声誉,准确报告缺陷是非常重要的。

清晰准确的软件缺陷描述可以减少开发人员退回来的缺陷数量,可以节省开发人员和测试人员的时间。 提高软件缺陷修复的速度,使项目组能够有效地工作。 提高测试人员的可信任程度,可以得到开发人员对有效缺陷的及时响应。 加强开发人员、测试人员和管理人员的协同工作,让他们更好的工作

2、 缺陷报告的注意事项

  • 尽量确保缺陷可以重现 如果提交的缺陷无法重现,会影响开发人员的工作效率。
  • 简洁、准确、完整 测试人员在提交缺陷报告时,要站在开发人员的角度上思考问题,要确保开发人员能迅速定位问题,而不会产生理解上的歧义。
  • 一个缺陷一个报告

 有的测试人员喜欢在一个缺陷报告里提交多个缺陷,这种习惯不提倡,原因有以下两点: 不便于分配。   比如缺陷报告有2个缺陷,分别属于不同的开发人员,到底该分配给谁呢? 不便于验证。   比如一个缺陷报告里面有2个缺陷,缺陷1已经解决,缺陷2还没有解决,那么这个缺陷报告该不该关闭呢?

3、 缺陷书写规范

  • 标题:应保持简短、准确,提供缺陷的本质信息

尽量按缺陷发生的原因与结果的方式书写; 避免使用模糊不清的词语,例如:“功能中断,功能不正确,行为不起作用”等。应该使用具体文字说明缺陷的症状; 为了便于他人理解,避免使用俚语或过分具体的测试细节。

  • 复现步骤:应包含如何使别人能够很容易的复现该缺陷的完整步骤。

为了达到这个要求,复现步骤的信息必须是完整的、准确的、简明的、可复现的。常见问题: 包含了过多的多余步骤,且句子结构混乱,可读性差,难以理解; 包含的信息过少,丢失了操作的必要步骤;

  • 复现步骤的正确书写方式:

提供测试的环境信息; 简单地一步步引导复现该缺陷,一个步骤包含的操作不要多; 每个步骤前使用数字对步骤编号; 尽量使用短语或短句,避免复杂句型句式; 复现的步骤要完整、准确、简短; 将常见步骤合并为较少步骤; 按实际需要决定是否包含步骤执行后的结果。

  • 实际结果: 是执行复现步骤后软件的现象和产生的行为。

实际结果的描述应向标题信息那样,要列出具体的缺陷症状,而不是简单地指出“不正确”或“不起作用”。

  • 期望结果:描述应与实际结果的描述方式相同。通常需要列出期望的结果是什么。
  • 附件:对缺陷描述的补充说明,可以是以下一些类型:

缺陷症状的截图; 测试使用的数据文件;

  • 其他:

选择合适的缺陷严重性属性; 按相应的规定,填写相应的字段信息

3、1 避免常见错误

避免使用我、你等人称代词,可以直接使用动词或必要时使用“用户”代替 避免使用情绪化的语言和强调符号; 避免使用诸如“似乎”、“看上去可能”等含义模糊的词汇,而需要报告确定的缺陷结果; 避免使用自认为比较幽默的语句,只需客观地描述缺陷的信息; 避免提交不确定的测试问题,自己至少需要重现一次再提交。 反面的示例: 上海人:哪能查询到的结果和查询条件不搭噶的。 北京人:哥们好不容易输入一堆个人详细信息后,点击保存后全瞎了

3、2 缺陷报告
3、3 缺陷处理流程
3、4 缺陷跟踪
  • 新提交的缺陷为新建状态,确认有效后为打开状态,经开发人员修改后,缺陷变为已修复(待验证)状态。此时就需要测试人员对缺陷进行回归测试,验证问题是否修复。
  • 如果问题仍然存在,则测试人员将该缺陷的状态修改为重新打开;
  • 如果问题已经修复,则测试人员将该缺陷的状态置为关闭状态(验证通过),同时添加回测说明如“该缺陷已解决”。
  • 还有一种情况:开发人员认为缺陷在当前版本可以暂不修改,而考虑在后续版本中再做修正,缺陷的对应状态为延期。
  • 对于这种情况,项目负责人应召集开发人员、测试人员和其他项目相关人员进行讨论,如果讨论结果为同意则延期,如果不同意,则重新打开缺陷。
3、5 缺陷统计
  • 缺陷按活动分布
  • 缺陷按严重程度分布
  • 缺陷按引入源分布

3、6 缺陷数据分析

  • 1)缺陷数据分析关注的问题 2)缺陷数据分析的重要性 3)缺陷数据分析的数据指标
  • 3、7 缺陷数据分析关注的问题
  • 正在测试的软件哪个模块的问题最多 测试人员中谁报告的软件缺陷最多 各类缺陷所占的数量百分比分别是多少 开发人员能及时修复软件缺陷吗 开发人员一次正确修复缺陷的百分比是多少 正在开发的软件能否在计划的时间内正常发布
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试test 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件测试缺陷报告内容_软件测试缺陷分析
1 组织Structure:测试人员应该采用深思熟虑的,小心谨慎的方法执行测试,并且做详尽的记录。这样可以促使他们对待测试系统有很好的认识。当错误发生的时候,一个有组织的测试人员能够知道最早出现问题的地方
全栈程序员站长
2022/10/01
1K0
软件测试缺陷报告内容_软件测试缺陷分析
如何编写缺陷报告_测试缺陷报告模板
概述:标识并描述发现的缺陷,具有清晰、完整和可重现问题所需的信息的文档。 理解:测试人员发现缺陷,将缺陷记录在《缺陷报告》中,通过缺陷报告将缺陷告知给开发人员,并对缺陷进行跟踪和管理。缺陷报告是测试人员与开发人员之间重要的沟通方式。
全栈程序员站长
2022/09/27
2K0
如何编写缺陷报告_测试缺陷报告模板
技术分享 | 什么是软件缺陷
软件缺陷常常又被称为 Bug。所谓软件缺陷就是指计算机软件或者程序中存在的某种破坏正常运行能力的问题、错误或者隐藏的功能缺陷。
霍格沃兹测试开发
2022/03/28
6250
如何理解软件缺陷?
软件缺陷(software defect)是对软件产品预期属性的偏离现象。它包括检测缺陷和残留缺陷。每一个软件组织都知道必须妥善处理软件中的缺陷。这是关系到软件组织生存、发展的质量根本。 一、软件缺陷(software defect)分类标准 1.1 缺陷属性 缺陷标识(Identifier):缺陷标识是标记某个缺陷的一组符号。每个缺陷必须有一个唯一的标识。 缺陷类型 (Type):缺陷类型是根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度 (Severity):缺陷严重程度是指因缺陷引起的故障对软
程序源代码
2018/03/09
2.7K0
软件测试与软件缺陷的基础知识
● 对于软件开发来说,软件测试通过找到的问题缺陷帮助开发人员找到开发过程中存在的问题以便修改,也可以预防下次类似缺陷的产生。
Srlua
2024/10/16
1400
软件测试与软件缺陷的基础知识
软件缺陷报告[通俗易懂]
理解:测试人员发现缺陷,记录,通过缺陷报告将缺陷报告给开发人员,并对缺陷进行跟踪管理。缺陷报告是测试人员与开发人员之间重要的沟通方式
全栈程序员站长
2022/10/02
4850
软件缺陷报告[通俗易懂]
缺陷和缺陷报告_质量缺陷报告
①软件未实现产品说明书要求的功能 ②软件出现了产品说明书指明不该出现的功能 ③软件实现了产品说明书未提到的功能 ④软件未实现产品说明书虽未明确提及但应该实现的目标 ⑤软件难以理解、不易使用、运行缓慢或者(从测试角度看)最终用户会认为不好
全栈程序员站长
2022/10/02
6830
缺陷和缺陷报告_质量缺陷报告
软件缺陷管理
在软件开发和测试过程中,缺陷(通常称为“bug”)是不可避免的。了解和有效管理这些缺陷对于确保软件质量至关重要。本文详细介绍了缺陷的定义、衡量标准以及如何准确地描述和提交缺陷。
Heaven645
2024/09/28
2083
软件缺陷管理
软件测试--缺陷报告
缺陷报告是描述软件缺陷现象和重现步骤地集合。软件缺陷报告Software Bug Report(SBR)或软件问题报告Software Problem Report(SPR)
用户7880705
2021/01/08
1K0
测试常见面试题(功能测试部分)
1在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
找Bug
2022/07/22
1.8K0
超全干货 | 软件测试岗技术笔试
一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
红目香薰
2022/11/29
4930
二十五个软件测试经典面试题,你确定不收藏一波?
1、在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试?
新梦想IT职业教育
2019/09/12
1.1K0
软件缺陷因素及基本常识
软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们这些测试工程师们必须采取强有力的检测措施来检测未发现的隐藏的软件缺陷。
漫谈测试
2024/08/26
1100
软件缺陷因素及基本常识
软件测试习题(附答案)
1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低                               (   A   )
红目香薰
2022/11/29
1.8K0
软件测试常见面试题汇总
1. 一条软件缺陷(或者叫Bug)记录都包含了哪些内容? 如何提交高质量的软件缺陷(Bug)记录?
全栈程序员站长
2022/09/27
5620
程序员面试之软件测试面试问答
1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? 首先,将问题提交到缺陷管理库里面进行备案。 然后,要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据; 如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷; 根据用户的一般使用习惯,来确认是否是缺陷; 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷; 合理的论述,向测试
互联网金融打杂
2018/04/03
1.6K0
软件测试工程师经典面试题[通俗易懂]
  软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验) 。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复!
全栈程序员站长
2022/09/14
4590
第一章 软件测试入门基础
第一章 软件测试入门基础 本章重点 1、了解软件测试背景及职业规划 2、掌握软件测试的入门基础知识 3、了解软件测试与软件开发的关系 4、理解软件测试的缺陷与要素 一、软件测试背景及职业规划 背景 1、对于软件缺陷不仅有功能上的缺陷还有页面缺陷以及性能缺陷 2、60年代起,为表明程序的正确开始进行测试,直到近几年国内的测试行业也在逐步规范,分工越来越细,测试行业发展也会越来越好 职业规划 1、测试工程师–高级测试工程师—测试经理 岗位描述: (1)、参与软件产品的需求分析,编写测试计划,设计测试数据和测试用例; (2)、预先评估软件产品的风险并能提出有效规避方案 (3)、完成对产品的集成测试,对产品的功能、性能测试、压力测试等; (4)、跟踪测试结果,对修改后的软件版本进行验证。 (5)、根据提交的测试报告分析数据,提出初步的结论 2、测试人员的技术需求 编程基础;测试理论、技术;自动化测试工具;数据库;操作系统;测试管理工具;配置管理工具;Linux相关知识 二、入门基础知识 软件测试定义 使用人工和自动手段来运行或者测试某个被测对象的过程,其目的在于检验被测对象是否满足用户规定的需求或者是弄清楚预期结果与实际结果之间的差异。 软件测试对象:包含很多方面,不仅仅测试是软件,而且包括程序、数据、文档、配置文件等等。需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。
张哥编程
2024/12/07
1640
第一章 软件测试入门基础
软件测试基础笔记
(1)单元测试 - 模块测试,检查每个程序单元能否正确实现详细设计说明中的模块功能等。
wangmcn
2022/10/30
3830
软件测试缺陷报告_软件测试缺陷分析
软件缺陷是计算机或程序中存在的会导致用户不能或者不方便完成功能的问题、错误、或者隐藏的功能缺陷。缺陷的存在会导致产品在某种程度上不能满足用户的需要
全栈程序员站长
2022/10/01
1.5K0
软件测试缺陷报告_软件测试缺陷分析
相关推荐
软件测试缺陷报告内容_软件测试缺陷分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档