精华内容
参与话题
问答
  • 软件缺陷

    2019-09-08 10:54:53
    软件缺陷 软件缺陷的定义 软件缺陷,通常又被叫做Bug或者defect,即为软件或程序中存在的某种破坏正常运行能力的问题、错误、其存 在会导致软件产品在某种程度上不能满足用户的需求。 软件缺陷是指存在于软件...

    软件缺陷

    软件缺陷的定义

    软件缺陷,通常又被叫做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)错误的修改影响的模块较多,带来的风险较大(遗留) 修改性价比太低

    缺陷报告中提出的问题很难重现

    展开全文
  • 软件缺陷报告模板

    2018-06-14 15:32:14
    严重性(Severity)顾名思义就是软件缺陷对软件质量的破坏程度,即此软件缺陷的存在将对软件的功能和性能产生怎样的影响。 在软件测试中,软件缺陷的严重性的判断应该从软件最终用户的观点做出判断,即判断缺陷的严重...
  • 在这项研究中,我们调查了许多开源软件项目中设计模式与软件缺陷之间的关系。 设计模式实例是从这些开源软件项目的源代码存储库中提取的。 软件缺陷度量是从这些项目的错误跟踪系统中提取的。 通过对提取的数据进行...
  • 文章目录软件缺陷软件缺陷种类1.软件缺陷的定义2.软件缺陷的种类划分1、功能不正常2、软件在使用上感觉不方便3、软件的结构未做良好规划4、提供的功能不充分5、与软件操作者的互动不良6、使用性能不佳7、为做好...

    软件缺陷和软件缺陷种类

    1.软件缺陷的定义

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

    2.软件缺陷的种类划分

    按照软件缺陷的产生原因,可以将其划分为不同的缺陷类别:

    1、功能不正常

    简单地说就是所应提供的功能,在使用上并不符合产品设计规格说明书中规定的要求,或是根本无法使用。这个错误常常会发生在测试过程的初期和中期,有许多在设计规格说明书中规定的功能无法运行,或是运行结果达不到预期设计。最明显的例子就是在用户接口上所提供的选项及动作,使用者操作后毫无反应。

    2、软件在使用上感觉不方便

    只要是不知如何使用或难以使用的软件,在产品设计上一定是出了问题。所谓好用的软件,就是使用上尽量方便,使用户易于操作。如微软推出的软件,在用户接口及使用操作上确实是下了一番功夫。有许多软件公司推出的软件产品,在彼此的接口上完全不同,这样其实只会增加使用者的学习难度,另一方面也凸显了这些软件公司的集成能力不足。

    3、软件的结构未做良好规划

    这里主要指软件是以自顶向下方式开发,还是以自底向上方式开发。如果是以自顶向下的结构或方法开发的软件,在功能的规划及组织上比较完整,相反以自底向上的组合式方法开发处的软件则功能较为分散,容易出现缺陷。

    4、提供的功能不充分

    这个问题与功能不正常不同,这里指的是软件提供的功能在运作上正常,但对于使用者而言却不完整。即使软件的功能运作结果符合设计规格的要求,系统测试人员在测试结果的判断上,也必须从使用者的角度进行思考,这就是所谓的“从用户体验出发”。

    5、与软件操作者的互动不良

    一个好的软件必须与操作者之间可以实现正常互动。在操作者使用软件的过程中,软件必须很好地响应。例如在浏览网页时,如果操作者在某一网页填写信息,但是输入的信息不足或有误。当点击“确定”按钮后,网页此时提示操作者输入信息有误,却并未指出错误的哪里,操作者只好回到上一页重新填写,或直接放弃离开。这个问题就是典型的在软件对操作互动方面未做完整的设计。

    6、使用性能不佳

    被测软件功能正常,但使用性能不佳,这也是一个问题。此类缺陷通常是由于开发人员采用了错误的解决方案,或使用了不恰当的算法导致的,在实际测试中有很多缺陷都是因为采用了错误的解决方法,需要加以注意!

    7、为做好错误处理

    软件除了避免出错之外,还要做好错误处理,许多软件之所以会产生错误,就是因为程序本身对于错误和异常处理的缺失。例如被测软件读取外部的信息文件并已做了一些分类整理,但刚好所读取的外部信息文件内容已被损毁。当程序读取这个损毁的信息文件时,程序发现问题,此时操作系统不知该如何处理这个情况,为保护系统自身只好中断程序。由此可见设立错误和异常处理机制的重要性!

    8、边界错误

    缓冲区溢出问题在这几年已成为网络攻击的常用方式,而这个缺陷就属于边界错误的一种。简单来说,程序本身无法处理超越边界所导致的错误。而这个问题,除了编程语言所提供的函数有问题之外,很多情况下是由于开发人员在声明变量或使用边界范围时不小心引起的。

    9、计算错误

    只要是计算机程序,就必定包括数学计算。软件之所以会出现计算错误,大部分出错的原因是由于采用了错误的数学运算工时或未将累加器初始化为0.

    10、使用一段时间所产生的错误

    这类问题是程序开始运行正常,但运行一段时间后却出现了故障。最典型的例子就是数据库的查找功能。某些软件在刚开始使用时,所提供的信息查找功能运作良好,但在使用一段时间后发现,进行信息查找所需的时间越来越长。经分析查明,程序采用的信息查找方式是顺序查找,随着数据库信息的增加,查找时间自然会变长。这就需要改变解决方案了!

    11、控制流程的错误

    控制流程的好坏,在于开发人员对软件开发的态度及程序设计是否严谨。软件在状态间的转变是否合理,要依据业务流程进行控制。例如,用软件安装程序解释这类问题最方便直观。用户在进行软件安装时,输入用户名和一些信息后,软件就直接进行了安装,未提示用户变更安装路径、目的地等。这就是软件控制流程不完整导致的错误问题。

    12、在大数据量压力下所产生的错误

    程序在处于大数据量状态下运行出现问题,就属于这类软件错误。大数据量压力测试对于Server级的软件是必须进行的一项测试,因为服务器级的软件对稳定性的要求远比其它软件要高。通常连续的大数据量压力测试是必须实施的,如让程序处理超过10万笔数据信息,再来观察程序运行的结果。

    13、在不同硬件环境下产生的错误

    这类问题的产生与硬件环境的不同相关。如果软件与硬件设备有直接关系,这样的问题就是数量相当多。例如有些软件在特殊品牌的服务器上运行就会出错,这是由于不同的Server内部硬件了不同的处理机制。

    14、版本控制不良导致的错误

    出现这样的问题属于项目管理的疏忽,当然测试人员未能尽忠职守也是原因之一。例如一个软件被反映有安全上的漏洞,后来软件公司也很快将修复版本提供给用户。但在一年后他们推出新版本时,却忘记将这个已解决的bug-fix加入到新版本中。所以对用户来说,原本的问题已经解决了,但想不到新版本升级之后,问题又出现了。这就是由于版本控制问题,导致不同基线的merge出现误差,使得产品质量也出现了偏差。

    15、软件文档的错误

    最后这类缺陷是软件文档错误。这里所提及的错误,除了软件所附带的使用手册、说明文档及其它相关的软件文档内容错误之外,还包括软件使用接口上的错误文字和错误用语、产品需求设计PD、UI Spec等的错误。错误的软件文档内容除了降低产品质量外,最主要的问题是会误导用户!

    3.软件缺陷的属性

    1.按照严重程度分:

    一般分为5个等级:
    系统崩溃,严重,一般,次要,建议

    2.按优先级分:

    修正优先级:高,中,低

    3.Bug定级示例
    1级,系统崩溃
    定义:严重阻碍测试和开发工作
    对应优先级:最高
    具体可分为:
    1.功能完全没有实现
    2.应用闪退/崩溃无法运行
    3.应用必现安全模式,无法运行
    4.其他导致功能无法测试的问题
    
    2级,至关重要
    定义:非阻碍用例执行的严重问题
    对应优先级:高
    具体可分为:
    1.简单操作应用闪退/崩溃,卡死
    2.数据丢失
    3.严重影响系统,自身功能无法运行
    4.严重数值计算错误
    5.数据库损坏或无法保存配置
    6.安全性问题(包括数据加密等)
    
    3级,主要
    定义:功能存在缺陷,但不影响应用和系统的稳定性
    对应优先级:中
    具体可分为:
    1.内存泄露(长时间不用的对象需要被回收,不被回收占内存)
    2.功能实现逻辑覆盖不全面
    3.非必现,但复现概率超过50%的闪退/崩溃和安全模式
    
    4级,一般
    定义:对应用熟悉度高才能感知到的问题,对应用基本功能实现无影响
    对应优先级:中
    具体可分为:
    1.轻微数值计算错误
    2.功能实现有误,与产品文档不完全贴切
    3.用户简单操作,即可明显感知的UI问题
    
    5级,较小
    定义:界面,性能缺陷
    对应优先级:低
    具体可分为:
    1.操作界面错误(提示显示规则,刷新规则是否与文档一致) 
    2.边界条件显示错误       
    3.提示信息和界面效果展示错误(包括未给出信息、信息提示错误等) 
    4.复现率低于5%的闪退/崩溃和安全模式       
    5.插件兼容和性能未优化问题       
    6.非正常操作导致UI显示异常
    
    6级,建议
    定义:对于产品的意见或者建议
    对应优先级:低
    具体可分为:
    1.对于产品设计方面的意见和建议
    2.对于产品界面优化方面的意见和建议
    3.对于产品需要优化增强用户体验方面的意见和建议
    
    4.按照测试种类分:

    逻辑功能类,性能类,界面类,易用性类,安装,兼容性类

    5.按照功能模块分:

    注册,登录,购物车,分类,订单,个人信息

    6.软件缺陷类型

    在这里插入图片描述

    7.按照解决方案分

    在这里插入图片描述

    8.按照Bug生命周期

    新建,确认,解决,重新验证,关闭,重新打开

    在这里插入图片描述

    4.缺陷报告(Bug报告,提的Bug)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.Bug的处理

    在这里插入图片描述

    6.测试用例执行和故障管理流程图

    在这里插入图片描述

    展开全文
  • 软件缺陷预测综述

    2020-03-09 17:28:32
    软件缺陷预测综述,张启航,武斌,软件缺陷预测是软件工程领域一个重要的问题,其结合人工智能方法对代码是否含有缺陷进行快速判断,提升了软件开发的效率和软件的
  • 软件缺陷报告的严重性对缺陷的解决具有关键作用。随着软件规模的不断扩大,使用开源的软件缺陷跟踪系统成为海量缺陷信息数据的主要处理方法。分析缺陷报告严重性在数据仓库中的作用,是处理软件缺陷的重要内容。通过...
  • 针对液压支架电液控制系统软件缺陷问题,从软件测试方法入手,分析了液压支架电液控制系统软件结构特点,构建了软件缺陷管理框架,确定了软件测试方案,对软件缺陷进行了分类,设计了软件缺陷数据库的数据结构及软件缺陷...
  • 因此,在第一阶段对软件缺陷的预测已成为软件工程领域的主要兴趣。 在过去的二十年中,已经提出了各种依赖于软件指标的软件缺陷预测(SDP)方法。 装袋,支持向量机(SVM),决策树(DS)和随机森林(RF)分类器...
  • 软件缺陷管理

    2018-12-23 14:01:04
    软件缺陷管理是学习软件测试不可缺少的一部分,希望通过这个ppt能够让你对缺陷管理有了大概地了解
  • 1.软件缺陷 软件的缺陷类型是根据缺陷的自然属性划分的,一般使用缺陷发生的位置来标识,如表所示。 2.软件缺陷严重程度 缺陷严重程度指软件缺陷对软件质量的破坏程度,即此软件缺陷的存在将对软件的功能和性能产生...

    1.软件缺陷

    软件的缺陷类型是根据缺陷的自然属性划分的,一般使用缺陷发生的位置来标识,如表所示。

    在这里插入图片描述

    2.软件缺陷严重程度

    缺陷严重程度指软件缺陷对软件质量的破坏程度,即此软件缺陷的存在将对软件的功能和性能产生怎样的影响。软件缺陷的严重性判断应该从软件最终用户的观点做出判断,即判断缺陷的严重性要为用户考虑,考虑缺陷对用户使用造成的恶劣后果的严重性。一般地要求三级(含三级)以上缺陷在发布前必须解决。
    缺陷严重程度的分类如表所示。
    在这里插入图片描述

    3.软件缺陷优先级

    缺陷优先级是表示处理和修正软件缺陷的先后顺序的指标,即哪些缺陷需要优先修正,哪些缺陷可以稍后修正。缺陷优先级别是给管理者做决策使用的,因为缺陷的修正顺序是个复杂的过程,有些不是纯粹的技术问题,其将直接导致工作安排的优先顺序。项目经理或者部门经理正是通过参考缺陷优先级来安排开发人员的工作顺序的,使得项目风险降低、项目成本降低,解决问题更高效。如表所示:
    在这里插入图片描述
    关于缺陷的严重程度和优先级别的关系,在很大程度上影响着缺陷修复策略

    软件缺陷状态

    通过各种缺陷发现手段确定的缺陷,可以使用如下状态来标志和跟踪,如表所示:
    在这里插入图片描述

    展开全文
  • 软件缺陷 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。因此软件缺陷就是软件产品中所存在的问题,最终表现为用户...

    软件缺陷

    从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。因此软件缺陷就是软件产品中所存在的问题,最终表现为用户所需要的功能没有完全实现,没有满足用户的需求。

    软件缺陷的根源

    交流不充分、软件的复杂性、开发人员的错误、需求的变化、进度压力

    软件缺陷的信息

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

    软件缺陷的信息包括:

    • 缺陷ID:唯一的缺陷ID,可以根据该ID追踪缺陷。
    • 缺陷状态:缺陷状态指缺陷通过一个跟踪修复过程的进展情况。
    • 缺陷标题:描述缺陷的标题。
    • 缺陷的严重程度:对软件产品的影响程度,分致命、较严重、严重、一般、低。
    • 缺陷的优先级:缺陷修复的先后顺序,即哪些缺陷有限修正、稍后修正。
    • 缺陷所属模块:缺陷所属的项目和模块,要能较精确的定位至模块。
    • 缺陷记录者:提交缺陷的人员姓名。
    • 缺陷提交时间:缺陷提交的时间。
    • 缺陷处理人:处理缺陷的处理人。
    • 处理结果描述:对处理结果的描述,描述处理情况和代码修改说明。
    • 缺陷处理时间:缺陷处理的时间。
    • 缺陷验证人:对被处理缺陷验证的验证人(回测者)。
    • 验证结果描述:对验证结果的描述(通过、不通过)。
    • 缺陷详细描述:缺陷的重现步骤。
    • 缺陷环境说明:对测试环境的描述。
    • 必要的附件:如涉及到附件的或错误现象的图片等。

    软件缺陷分类——缺陷状态

    • 提交(Submited,已提交的缺陷)
    • 打开(Open,确认“提交的缺陷”,等待处理)
    • 拒绝(Rejected,拒绝“提交的缺陷”,不需要修复或不是缺陷、重复缺陷、无法重现)
    • 修复(Resolved,缺陷被修复)
    • 关闭(Closed,确认修复的缺陷,将其关闭)
    • 推迟(Later,可在以后解决,但要确定修复日期或版本)

    软件缺陷分类——缺陷严重程度

    1. Low:表面性错误(如错别字等)
    2. Medium:影响一个相对独立的功能;仅仅在特定条件上发生;与产品需求定义不一致;断断续续的出现问题
    3. High:功能点没有实现,或不符合用户需求;数据丢失
    4. VeryHigh:频繁的死机,系统大部分功能不可用
    5. Critical:系统瘫痪、异常退出、死循环、严重的计算错误等

    软件缺陷分类——缺陷的优先级

    1. Low:最低优先级,时间和资源允许时修改
    2. Medium:低优先级,不会延迟发布,但是会在以后修正这个错误
    3. High:中等优先级,如果这个错误存在与系统中,会制约开发和测试的活动的进行,如果先前没有修复它,那么需要在发布前修复它
    4. VeryHigh:高优先级,错误对这套系统的能力产生严重的影响
    5. Urgent:最高优先级,在这个错误影响下,系统几乎不可用

    软件缺陷分类——Bug类型

    1. 系统缺陷:由于程序引起的死机,异常退出;程序死循环;程序错误,不能执行正常工作或重要功能,使系统崩溃或资源不足
    2. 数据缺陷:数据计算错误;数据约束错误;数据输入、输出错误;严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装或重新启动不属更正方法)
    3. 数据库缺陷:数据库发生死锁;数据库的表、缺省值未加约束条件;数据库连接错误;数据库中的表有过多的空字段
    4. 接口缺陷:数据通信错误;程序接口错误
    5. 功能缺陷:功能无法实现;功能实现错误;严重地影响系统要求或基本功能的实现,且没有办法更正(重新安装或重新启动不属更正方法)
    6. 安全性缺陷:用户权限无法实现;超时限制错误;访问控制错误;加密错误
    7. 兼容性缺陷:与需求规定配置兼容性不符合
    8. 性能缺陷:未达到预期的性能目标;性能测试中出错,导致无法继续进行测试
    9. 界面缺陷:操作界面错误;打印内容、格式错误;删除操作未给出提示;长时间操作未给出提示;界面不规范;操作者不方便或遇到麻烦,但不影响执行工作功能的实现
    10. 建议:功能建议;操作建议;建议性的改进要求
    展开全文

空空如也

1 2 3 4 5 ... 20
收藏数 12,961
精华内容 5,184
关键字:

软件缺陷