问题描述:

  测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?

  精彩答案:

  会员 土土的豆豆:

  本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位。

  个人认为,从软件开发测试生命周期上分析的话,三者从开发测试阶段应该是需求bug、设计bug、功能bug。(这里仅针对提问排比)

  需求问题可以包括设计问题和功能问题,当然还有非功能性缺陷等。

  需求bug,简而言之就是对于业务需求不清晰或者理解有偏差产生的问题。可能包括业务分析人员不专业因素、开发与测试人员思维不一致、产品未满足客户实际需求(想法)等一系列bug。

  功能问题大部分理应该是附属于需求说明书上的功能模块,因为开发、设计、实现等原因故而产生功能bug。但也不仅限于需求上列举出的功能,因为一个项目/产品,完全有可能因为相关协作的功能模块或整合的第三方程序导致产生bug。所以功能bug既可能是需求bug,也可能是需求外的bug。这里对于bug的优先级和安全级别等不作赘述。

  设计问题可以认为是开发架构师/人员在项目设计编码前遗留的“历史”问题。因为设计bug还是根据需求说明书来进行开发设计,故而一些业务逻辑上的关系、代码算法的优化、数据库/表的关联等都属于设计bug。

  个人认为,需求bug最为麻烦,也是后期维护成本最高的bug。设计bug次之,因为一个产品/项目设计层面问题较多的话,无论修复或改进多少,在代码编写结束后,开发人员很难重头再整理一套框架,即便目前没有设计bug,以后产生的风险也是很大的。

  功能bug最平凡,但是也是基础。除去客户业务需求上的变更因素,整个项目/产品的质量好坏最基本的就是取决于功能是否按需求进行了实现,其问题是否很多。我们大部分测试阶段的bug以功能问题为主。

  当然还有其他一些bug类型,本期问题所列3个bug从根本上分析不属于一个维度。但是也是很基本的概念。

  以上是我个人拙见,请大家补充指正。谢谢!

  会员 TesterChen:

  首先什么是需求Bug、设计Bug、功能bug?

  需求Bug,指由于客户需求描述不清晰或错误、需求收集人员自身原因及需求本身模糊难于分析、获取等原因,导致客户需求获取不准确,后期产品不能满足客户、用户的要求

  设计Bug,是指产品在最初设计时由于未考虑全面,而使产品在使用中存在的一些潜在的缺陷。

  功能Bug,是指计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。

  建议从以下几点进行区分:

  1、产生的时间不相同:
  需求Bug:产生于项目前期
  设计Bug:产生于项目前期或中期
  功能Bug:产生于项目中期或后期

  2、产生的原因不相同:
  需求Bug:客户需求描述不清晰或错误、需求收集人员不够专业、需求本身模糊难于分析、获取等原因
  设计Bug:系统框架、通讯模式、库表设计、编写语言等选择不当,导致后期扩展棘手、安全性低等
  功能Bug:开发工程师需求理解错误、代码编写缺陷等原因

  3、造成的影响不相同:
  需求Bug:对整个项目的影响极大,会直接拖后项目的进度、加大项目成本、降低客户对公司的评价
  设计Bug:后期功能扩展、性能、安全性等可能会遭到威胁
  功能Bug:影响用户使用体验、影响数据、资金安全

  4、处理方式不相同
  需求Bug:重新收集需求,重新设计和开发(需求Bug是对项目成本和进度影响最大的因素)
  设计Bug:重大缺陷必须修复,小设计缺陷在下一次发布时更新(一般难于修复或修复成本较大)
  功能Bug:直接修复缺陷,重新发布或更新

  5、Bug的直接责任人不相同
  需求Bug:业务人员、需求专员、项目经理等
  设计Bug:架构工程师、数据库工程师、技术经理、项目经理等
  功能Bug:开发、测试工程师

  原帖地址:http://bbs.51testing.com/thread-820993-1-1.html

版权声明:本文由会员土土的豆豆、TesterChen首发于51Testing软件测试论坛每周一问活动。

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?的更多相关文章

  1. 软件开发中的完整测试所包括的环节UT、IT、ST、UAT

    软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试ST = System T ...

  2. SVN组成中trunk,branches and tags功能用法详解

    SVN组成中trunk,branches and tags功能用法详解  我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说 ...

  3. 支持在安卓中UI(View)的刷新功能

     这是一款可以支持在安卓中UI(View)的刷新功能,Android中对View的更新有很多种方式,使用时要区分不同的应用场合.我感觉最要紧的是分清:多线程和双缓冲的使用情况.   现在可以尝试理解下 ...

  4. 关于软件开发中兼容win7注册表的解决方案

    关于软件开发中兼容win7注册表的解决方案   编写人:CC阿爸 2014-3-14 l  近来在开发一winform程序时,发现在xp 系统访问注册表一切正常.可偏这个时候,微软又提醒大家.Xp今年 ...

  5. centos6.5软件安装:RPM,SRPM与yum功能

    鸟哥的linxu私房菜读书笔记 前言: Linux上软件的安装可以以原始码的方式来安装软件,也就是利用厂商释出的 Tarball 来进行软件的安装.不过,你应该很容易发现,那就是每次安装软件都需要侦测 ...

  6. 音频软件开发中的debug方法和工具

    本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法 ...

  7. AngularJS进阶(十八)在AngularJS应用中集成科大讯飞语音输入功能

    在AngularJS应用中集成科大讯飞语音输入功能 注:请点击此处进行充电! 前言 根据项目需求,需要在首页搜索框中添加语音输入功能,考虑到科大讯飞语音业务的强大能力,遂决定使用科大讯飞语音输入第三方 ...

  8. Oracle 12c Sharding测试过程中的问题解决

    Sharding测试过程中的问题解决 1. 环境部署 软件的版本需要12.2.0.0.3及以上的版本 在配置GSM的时候报错信息不会很直观的展示出来,这对于安装部署有很大阻碍. 2. 数据导入 Dup ...

  9. [译] OpenStack Ocata 版本中的 53 个新功能盘点

    原文链接:https://www.mirantis.com/blog/53-new-things-to-look-for-in-openstack-ocata/ 原文作者:Nick Chase, Ra ...

随机推荐

  1. Windows 反弹 Shell

    NC 反弹 shell 攻击场景: Victim IP: 192.168.2.10 Attacker IP:192.168.2.11 正向 Shell 我们想要弹回Victim的Shell,使用如下命 ...

  2. Active Objects模式

    实现的思路是,通过代理将方法的调用转变为向阻塞队列中添加一个请求,由一个线程取出请求后执行实际的方法,然后将结果设置到Future中 这里用到了代理模式,Future模式 /************* ...

  3. 使用Spring CROS解决项目中的跨域问题

    CROS(Cross-Origin Resource Sharing) 用于解决浏览器中跨域请求的问题.简单的Get请求可以使用JSONP来解决,而对于其它复杂的请求则需要后端应用的支持CROS.Sp ...

  4. 【Linux】一步一步学Linux——初识Linux命令解析器(10)

    目录 00. 目录 01. Shell简介 02. Shell分类 03. 交互式shell和非交互式shell 04. 登录shell和非登录shell 05. Shell类型 06. 参考 00. ...

  5. zookeeper集群搭建及ZAB协议

    zookeeper集群搭建非常简单,准备三台安装好zookeeper服务器,在其zoo.cfg配置中分表添加如下配置 initLimit 10 集群中的follower与leader之间完成初始化同步 ...

  6. MVC-08模型

    部分7:添加数据模型. MVC模型 MVC模型包含所有应用程序逻辑(业务逻辑.验证逻辑.数据访问逻辑),除了纯视图和控制器逻辑. 通过MVC,模型可保存并操作应用程序数据. Models文件夹 Mod ...

  7. Python之TensorFlow的基本介绍-1

    一.TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经 ...

  8. PLSQL登录失败出现空白错误提示框的问题

    安装win7后其他软件运行正常,可是数据库用cmd plsplus和plsql软件都连不上,plsql报一个空白提示框 重装n遍oracle客户端,都不行. 最后发现解决方式很简单,在plsql的图标 ...

  9. Web应用和Web框架

    一.Web应用 二.Web框架 三.wsgiref模块 一.Web应用 1.什么是Web应用? Web应用程序是一种可以通过Web访问的应用程序,特点是用户很容易访问,只需要有浏览器即可,不需要安装其 ...

  10. 二叉树&满二叉树与完全二叉树

    二叉树的定义 二叉树(Binary Tree)是n(n≥0)个元素的有限集合,该集合为空或者为由一个称为"根"的元素及两个不相交的.被分别称为左子树和右子树的二叉树组成 二叉树的基 ...