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

标签:  软件测试   python   编程语言   数据分析   java

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 缺陷数据分析关注的问题

  • 正在测试的软件哪个模块的问题最多
    测试人员中谁报告的软件缺陷最多
    各类缺陷所占的数量百分比分别是多少
    开发人员能及时修复软件缺陷吗
    开发人员一次正确修复缺陷的百分比是多少
    正在开发的软件能否在计划的时间内正常发布

推荐阅读

  • 测试用例设计方法,现在才知道还有这么多

  • 测试用例的定义和等价类划分还记得吗

  • 软件测试分类有那些,你还知道吗

  • 五大软件测试模型外加测试用例深度解析,这些你真的会了么?

  • 禅道管理工具是怎么使用的?

欢迎将文章分享到朋友圈
如需转载,请在后台回复“转载”获取授权

版权声明:本文为qqqqqkmbnjjhb原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qqqqqkmbnjjhb/article/details/109202394

智能推荐

每日一点小知识(静态资源)

题目场景: 最终会输出什么: 原因分析: 不能从静态上下文中引用非静态字段"x"。 总结: 静态资源包括静态成员变量、静态成员方法、静态代码块,用关键字static进行修饰,静态资源只能使用静态资源,普通资源可以使用静态资源和普通资源。...

点餐系统---卖家端---订单

使用 ibootstrap 进行前端界面样式简单选择http://www.ibootstrap.cn/ freemarke 模板渲染的简单使用(循环,判断) 卖家端订单 controller层 freemarke的使用(列表显示 list) 分页的使用 在ibootstrap中寻找到分页的样式 设定一个当前页数值currentPage,和size 设定各种功能(分页) 取消订单 ”/s...

超级简陋的计算器

又学了一天,感觉一天都不知道在干嘛,都在写这个菜鸟计算器。 参考:https://blog.csdn.net/sakurakider/article/details/76283801 昨天随便弄了个计算器界面之后就睡觉了,实现我完全不会,今天早上早早起来就为了搞定它,是越搞越头疼,优先级问题我居然想不到栈,我学到狗身上了,都还给老师了,service使用我居然也能忘,真的蠢,忘了吃饭,忘了睡觉也不...

【python入门】协方差详解cov(X),cov(X,Y)

首先看看均值,样本方差,样本协方差公式区别                                         其中样本方差公式中为什么除的n-1而不是n,样本协方差同样除的是n-1而不是...

CPP(c++)单链表基本操作代码

之前我们分享了,单链表的应用 传送门:单链表(详细版) ps:有一句我从17年就很喜欢的话, “愿你拥有大风和烈酒,也享受孤独与自由”, 送给来看我blog的人,希望你今天、明天都可以坚定自己,并且为自己开心。 下面我们分享一下严蔚敏《数据结构》中的算法实现 node.h linklist.h linklist.cpp mian.cpp 运行: 下次见!...

猜你喜欢

Java中的volatile

使用volatile是另一种使得class线程安全的方法,类似于synchronized,atomic wrapper。线程安全是一个方法或者类实例同时被多个线程使用,但是不会产生任何问题。 如下面代码 假设两个线程使用SharedObj,这两个线程在不同的处理器上运行,每个线程拥有sharedVariable变量的本地副本,如果一个线程修改这个值,修改后的值并不会马上反馈到main memory...

C++的四种智能指针

C++的四种智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 1.auto_ptr(C++11已弃用) 2.unique_ptr(替换auto_ptr) 3.shared_ptr 4.weak_ptr 1.auto_ptr(C++11已弃用) auto_ptr 是C++标准库提供的类模板,当auto_ptr对象生命周期结束时,auto_ptr类的析构...

Vue基本语法

三、Vue基本语法 1. v-bind 现在数据和DOM已经被建立了关联,所有的东西都是响应式的。我们在控制台操作对象的属性,界面可以实时更新。 我们可以使用v-bind来绑定元素属性! 动态绑定效果测试 2. v-if v-else 改变type数据,视图层判断进行显示 3. v-for v-for 循环语句中可以使用{{index}}获取数组的下标 4. v-on 事件绑定...

3、Spring AOP

1、Spring AOP 面向切面编程,是OOP面向对象编程的补充和完善 通过抽取一些系统级(非业务代码)的功能,以达到解耦和重复利用,如日志、事务、权限、缓存等 2、AOP相关概念 横切关注点 对哪些方法在什么时候进行拦截,拦截后怎么处理,这些被称为横切关注点 Aspect(切面) 类时对象的抽象,切面就是横切关注点的抽象,把非业务代码功能放到一个类中形成切面,包含切入点、通知 Pointcut...

服务监控系统项目整合

一、构建和配置微服务 1、导入pom坐标依赖 这里引入了 io.micrometer 的 micrometer-registry-prometheus 依赖以及 spring-boot-starter-actuator 依赖,因为该包对 Prometheus 进行了封装,可以很方便的集成到项目中 2、配置application.yml 这里 management.endpoints.web.exp...

玻璃钢生产厂家贵港玻璃钢种植池厂家直销西安玻璃钢前台生产厂家河池玻璃钢人物雕塑生产厂家昭通玻璃钢景观雕塑制作南通玻璃钢花箱加工黄冈玻璃钢机械外壳价格百色玻璃钢垃圾桶制造贵州玻璃钢机械外壳多少钱赤峰玻璃钢景观雕塑日照玻璃钢雕塑制作信阳玻璃钢茶几公司眉山玻璃钢花池定做海东玻璃钢天花吊顶制造丹东商场美陈厂亳州玻璃钢前台哪家好合肥玻璃钢造型公司重庆不锈钢雕塑批发随州玻璃钢人物雕塑多少钱绵阳玻璃钢机械外壳通化玻璃钢动物雕塑厂家广元玻璃钢休闲椅厂家宜春玻璃钢坐凳制造重庆玻璃钢餐桌椅厂乌鲁木齐玻璃钢机械外壳哪家好林芝玻璃钢种植池定做鄂州玻璃钢公仔雕塑崇左玻璃钢坐凳保山玻璃钢座椅多少钱山南玻璃钢外壳加工来宾玻璃钢外壳哪家好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化