51Testing软件测试论坛

标题: 测试过程中如何区分什么是功能bug..获奖名单公布)(2012.11.13) [打印本页]

作者: lsekfe    时间: 2012-10-29 13:56
标题: 测试过程中如何区分什么是功能bug..获奖名单公布)(2012.11.13)
本周的问题为“测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?
此话题由会员wjtest提供,如果你也有问题想提出来和大家一起讨论,请点击此处>>

如果你也有问题想提出来和大家一起讨论,
请点击此处>>
说不定下期讨论的问题就是由你提出的哦,请快快参与吧!

获奖名单

奖项

获奖名单

奖励

答案链接

一等奖

土土的豆豆

50元移动充值卡

6#


作者: zb460989093    时间: 2012-10-29 14:32
功能bug是没有达到已知需求的明确功能要求。比如:需求明确说说的功能到达的是种一棵10米高的树,而实际s实现功能种出来的树是15米高。
需求bug是在整理需求的时候,没有正确描述出用户的预期效果。比如:用户说是做一个方形的桌子出来,而在整理需求的时候,描述成了做一个圆形桌子出来,后来在完成功能的人就做了一个圆形桌子出来,但根因是由于需求本身是错误的。
设计bug是在有明确且正确的需求下,设计完成这个需求的方法或者步骤是有缺陷的,导致没有完成需求的预期效果。比如需求是盖一座房子,应该是先打地基,再建楼。但是在设计上就搞错了,导致实现需求过程的不合理,最终没有完成预期的需求
作者: liuqingtao    时间: 2012-10-29 15:15
功能bug是需求明确的情况下,未达到需求所要实现的功能的bug
需求bug是整理需求时发现需求不够明确,或功能不能满足客户隐性需求等一系列关于需求的bug
设计bug是在设计功能时发现功能与需求不符,或功能存在问题等一系列bug
作者: laoxin511    时间: 2012-10-29 16:21
本帖最后由 laoxin511 于 2012-10-29 16:24 编辑

bug简单来说就是程序的漏洞,但是不同的bug归属的责任角色不同。大部分是反馈给开发的,还有一些会反馈给设计或需求人员。
功能bug是开发人员实现功能时引入的问题,它是需求明确的情况下,程序的实现需求不符,
  1是功能未实现,比如登陆功能,输入用户名密码点击登录按钮,不能加载下一个环节;
  2是需求的功能主体实现了,但是其他的一些地方仍然有潜在的缺陷,比如UI规范,比如容错性设计。
需求bug是需求人员提取需求时引入的问题。
  1是需求人员提取的需求点与用户或客户的期望不符,比如客户想要一个公司办公楼,需求人员却定义成商业购物中心;
  2需求bug还包括隐式需求不明确的情况。
设计bug是设计人员在系统设计时引入的问题。
  1是在设计与需求不符,比如需求是做一个10层的办公楼,每层100间办公室,设计图出来是100层每层10间办公室;
  2是设计思路有重大的缺陷,比如需求的资源和客户环境不兼容,比如系统架构本身存在缺陷
作者: junxtx    时间: 2012-10-29 16:22
标题: RE: 什么是bug?
什么是bug啊,新手讨教
作者: 土土的豆豆    时间: 2012-10-30 10:15
本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位。
个人认为,从软件开发测试生命周期上分析的话,三者从开发测试阶段应该是需求bug、设计bug、功能bug。(这里仅针对提问排比)
需求问题可以包括设计问题和功能问题,当然还有非功能性缺陷等。
需求bug,简而言之就是对于业务需求不清晰或者理解有偏差产生的问题。可能包括业务分析人员不专业因素、开发与测试人员思维不一致、产品未满足客户实际需求(想法)等一系列bug。
功能问题大部分理应该是附属于需求说明书上的功能模块,因为开发、设计、实现等原因故而产生功能bug。但也不仅限于需求上列举出的功能,因为一个项目/产品,完全有可能因为相关协作的功能模块或整合的第三方程序导致产生bug。所以功能bug既可能是需求bug,也可能是需求外的bug。这里对于bug的优先级和安全级别等不作赘述。
设计问题可以认为是开发架构师/人员在项目设计编码前遗留的“历史”问题。因为设计bug还是根据需求说明书来进行开发设计,故而一些业务逻辑上的关系、代码算法的优化、数据库/表的关联等都属于设计bug。
个人认为,需求bug最为麻烦,也是后期维护成本最高的bug。设计bug次之,因为一个产品/项目设计层面问题较多的话,无论修复或改进多少,在代码编写结束后,开发人员很难重头再整理一套框架,即便目前没有设计bug,以后产生的风险也是很大的。
功能bug最平凡,但是也是基础。除去客户业务需求上的变更因素,整个项目/产品的质量好坏最基本的就是取决于功能是否按需求进行了实现,其问题是否很多。我们大部分测试阶段的bug以功能问题为主。
当然还有其他一些bug类型,本期问题所列3个bug从根本上分析不属于一个维度。但是也是很基本的概念。
以上是我个人拙见,请大家补充指正。谢谢!
作者: 贺林和王岩    时间: 2012-10-30 10:36
BUG就是软件的缺陷,功能BUG顾名思义就是系统的功能未能到达要求,所以设计BUG和需求BUG都应该归属为功能BUG,他们之前没有确切的划分界限,可以将设计BUG和需求BUG同称为功能BUG。而设计BUG 和需求BUG的区分就很明显了
作者: mayi1980    时间: 2012-10-30 15:36
上面有人说了概念了,就不多说了
不过 我认为
设计bug 应该还是属于功能bug的一类,是功能bug的一个细分

即功能bug是按照需求设计,但是体现在软件中,具体的实现上有问题
需求bug是在实现上偏离了用户的实际需求
作者: 宋美娟    时间: 2012-10-30 18:41
所有不能满足用户需求的问题,就是BUG
作者: wuliangye    时间: 2012-10-31 15:43
软件缺陷是存在于软件之中(文档、数据、程序)的那些不希望或不可接受的偏差,是开发的软件与软件需求说明书、设计说明书的不一致,软件的实现未能满足应达到目标的用户潜在需求。bug的产生有很多原因,比如交流有问题、软件太过于复杂、程序员的错误、需求变化、时间的压力、文档贫乏等等,这种种原因就导致对应的bug种类也有很多种,比如需求的bug、设计阶段的bug、功能bug、配置bug、性能bug、静态文档bug等等。

1. 需求bug:比如需求本身模糊不清、需求被有意或无意的忽略、需求本身有冲突等
应对策略:对需求进行仔细分析,剔除模糊不清的需求和本身有冲突的需求,最后产生详细的需求分析说明书,并和用户确认,直到需求分析说明书通过,并作为开发人员开发的依据

2. 设计bug:比如设计过程中忽略了某些部分、设计混乱(比如在实际的系统中,某块地址规定不允许被多线程访问,而方案却被设计成以多线程方式进行,则会在此层面上产生bug,严重的会造成整个系统的崩溃)、设计模棱两可(产生的原因在于设计人员对需求没有清晰的认识,或者需求本身就是含糊不清的)等
应对策略:仔细分析需求,成立委员会进行设计评审

3.功能bug:比如GUI错误(在界面描述中,“Login”代表着进入系统,“Exit”代表着放弃登录系统,如果“Exit”表现为清楚输入框“User ID”、“User Name”中的数据,那么就是bug)、功能欠缺(比如系统应该支持Excel格式的数据导入,但是在实际应用中出现了“Data Import Error”,那么就是功能欠缺bug,这种bug产生的很大原因是由于实现人员马虎或者匆忙赶工造成的)、内存溢出bug(属于一种比较严重的软件bug类型,例如软件执行了某些强行向操作系统保护地址写入数据的指令,导致整个环境的彻底崩溃,或者数值除零导致堆栈溢出)、其他难以定位或建议性的bug(这些建议作为一种特殊类型的bug被保留在数据库中)等

需求说明书是软件缺陷的罪魁祸首,说明书编写的不全面、不完整和不准确,而且经常更改,或者整个开发组没有很好地沟通和理解,都会导致需求bug的产生;设计bug是缺陷的第二大bug,设计方案是程序员开展软件计划和构架的地方,片面、多变、理解与沟通不足都会导致设计bug的产生;如果按照严重度划分,3中bug种类中,需求bug和设计bug是致命的,功能bug是严重的。
作者: 求魔求魔    时间: 2012-10-31 17:16
小的,路过 看看!!
作者: zllogo    时间: 2012-11-1 08:56

作者: 风的颜色@蓝色    时间: 2012-11-1 10:14
需求:跟用户要求不一致
设计:跟需求不一致
功能:跟需求不一致,实现不了设计的功能
作者: TesterChen    时间: 2012-11-1 16:18
如何区分需求Bug、设计Bug、功能Bug?

首先什么是需求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:开发、测试工程师
作者: rolei    时间: 2012-11-1 16:39
本帖最后由 rolei 于 2012-11-1 16:41 编辑

“什么是功能bug,什么是需求bug,什么是设计bug”
--质量是要靠整个团队的责任。分析BUG的出处是为了防微杜渐,切不可拿做他用,更不可以此来推卸责任。

测试发现的问题都可以称之为BUG,但关于“XX的BUG”是否可以换个方法来区别:BUG来源,也就是bug's root source。因此可以由此对BUG的来源进行归类。
(往往产生的问题总是由于需求描述不清造成的,不能简单的把BUG归咎于需求,更多的应当考虑在对需求评审的过程中,设计、开发、测试是否对产生的BUG需求描述给予了足够多的重视或疑问。)

个人理解:
系统实现的表现是功能操作的展现,落脚点是需求的符合度,而系统实现复杂度和效率则由设计决定。
1)需求是对系统实现目标以及系统功能的描述(需求人员);
2)设计是对系统实现方法、层次、效果的描述(设计人员);
3)功能是对系统需求、设计的实现展现(开发人员);

从测试角度看,对待测系统的测试步骤一般可采用:
1)是否可以运行;
2)系统运行是否能够完成目标操作流程;
3)已完成流程是否符合需求的描述;
即:是否可用-->是否可操作-->是否合规,需求、设计、功能则是由提出者、设计者、实现者来分别完成,最终的验证的标准来源于需求。

正如盖房子,如果需求要求只是盖房子,设计人员就来个二层小楼,施工人员依此施工。
如果盖出来的房子是个危房,当然是房子本身的问题,也就是功能问题,由施工人员负责;
如果盖出来的房子不符合常规的房子构造,不适合人居住,当然是设计问题。
如果要求盖出来的是个平房,而结果是个二层小楼,又是什么样的问题?需求、设计,还是功能?
作者: testdc    时间: 2012-11-1 23:03
来学习的
作者: josiexue    时间: 2012-11-2 11:53
根据我自身的理解,功能上的BUG是未实现需求中要求的功能;需求BUG是需求中要求的功能相互冲突,或是不符合正常逻辑;设计BUG是指各种设计都完成后,在具体实现设计的过程中,发现设计的内容,逻辑不严密,有漏洞,或是有重复,导致系统不严谨。如在数据库设计好后,程序员编码过程中,发现需要某个字段来实现某个判断,而数据库表中无该字段时,这就是数据库设计缺陷的一种;
作者: 千里    时间: 2012-11-2 12:56
BUG的定义:
1.需求没提,功能有开发。-----需求BUG
2.需求提了,功能未开发。-----功能BUG
3.需求提了,功能开发有误。----设计BUG
4.需求提了,功能开发正确了,但效率、易用性差。 ----设计BUG
作者: senlin222    时间: 2012-11-2 13:24
需求bug:在明确需求范围时引入的问题: 需求中的各需求要求相互矛盾/需求描述的功能不符合实际要求/需求未描述但应该有的功能/调研不清楚与外部系统接口要求不一致等
设计bug:在设计实现功能的方式时由于设计不利引入的问题。比如应该用number型的用了字符型/本来应该分为2个页面的功能在一个页面实现了/对功能的输入理解不清晰,再设计阶段遗漏了逻辑
功能bug:上面说的主要是bug的来源,而功能bug是bug的类型。以上2种bug都有可能是功能bug
作者: louqqson008    时间: 2012-11-2 14:14
需求BUG:需求文档没有说明,但此功能客户有需求,开发方面(已开发或未开发);
开发BUG:需求文档正确的情况下,开发方面未开发;
功能BUG:需求文档正确的情况下,开发已完成的状态下,功能未达到需求文档的要求;
作者: 冰冷的火    时间: 2012-11-2 15:30
bug简单来说就是程序的漏洞,但是不同的bug归属的责任角色不同。大部分是反馈给开发的,还有一些会反馈给设 ...
laoxin511 发表于 2012-10-29 16:21


说得挺好的,浅显易懂。
作者: 纷泛洋丰    时间: 2012-11-3 10:03
拿到策划的offer了,整体待遇都不错~
作者: IUHK    时间: 2012-11-5 16:24
功能:单个功能有问题,东西做出来了,但是实现的时候不能按预期设计完成。
设计:单个功能没问题,东西做出来了,但是实现的时候发现和预期的需求不同。
需求:所有功能正确,实现的时候也和预期需求一样,但是和最终客户预期的不同。
作者: 丁香    时间: 2012-11-6 13:14
发现还有这么个讨论,学习了,集思广益。
作者: 丁香    时间: 2012-11-6 13:23
功能bug:软件功能上的缺陷,功能未达到需求中的要求(未实现或者不一致)、或者实现了但是有一些小问题,凡是与需求的功能不一致的皆为功能bug。
需求bug:需求中不明确的功能或者隐性需求,实际未实现的;包含需求的功能遗漏、需求不易理解有二义性等;
设计bug:软件设计过程中、或者在编码过程中的缺陷,虽然功能能够实现,但流程不合理、扩展性差、设计不符合通用标准或行业标准或一般习惯的,可以认为是设计bug。
作者: jerrygu625    时间: 2012-11-6 13:46
需求bug:用户需求定义了,但是需求分析没有实现
设计BUG:需求分析定义了,但是设计没有实现
功能BUG:设计定义了,但是没有实现
作者: caixusheng    时间: 2012-11-6 17:03
果然ok了,谢谢楼主啊
作者: wpyy    时间: 2012-11-7 11:01
来学习的
作者: gml22gzx    时间: 2012-11-7 11:21
又学习了。。。
作者: fting123    时间: 2012-11-7 22:32
新人受教了,看来以后多逛论坛才能感受测试的博大精深啊
作者: kadw85    时间: 2012-11-9 10:31
回复 18# 千里


    言简意赅
作者: 东东tony    时间: 2012-11-9 17:05
功能BUG:与设计、需求不一致
设计BUG:与需求不一致
需求BUG:需求不明确,与客户要求有出入
作者: yingyingfan6    时间: 2012-11-12 09:52
回复 5# junxtx


    只要是问题就是bug
作者: 545511360    时间: 2012-11-12 14:42
回复 2# zb460989093


    恩恩,同意这个说法。至少跟我理解的差不多。
作者: 545511360    时间: 2012-11-12 14:46
回复 5# junxtx


    bug,本意是臭虫、缺陷、损坏等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。
详细的你可以百度或者google一下嘛。
作者: ouson    时间: 2012-11-26 14:14
功能bug是没有达到已知需求的明确功能要求。比如:需求明确说说的功能到达的是种一棵10米高的树,而实际s实现功能种出来的树是15米高。
需求bug是在整理需求的时候,没有正确描述出用户的预期效果。比如:用户说是做一个方形的桌子出来,而在整理需求的时候,描述成了做一个圆形桌子出来,后来在完成功能的人就做了一个圆形桌子出来,但根因是由于需求本身是错误的。
设计bug是在有明确且正确的需求下,设计完成这个需求的方法或者步骤是有缺陷的,导致没有完成需求的预期效果。比如需求是盖一座房子,应该是先打地基,再建楼。但是在设计上就搞错了,导致实现需求过程的不合理,最终没有完成预期的需求
引用二楼
作者: 神龙大侠    时间: 2012-11-26 17:15
回复 1# lsekfe


总体来讲,   功能bug 应该包括需求bug, 设计bug,具体功能实现中的bug 等等;
具体点讲:  需求bug 是指 在需求过程中对相关功能的需求定义理解的不清晰导致的;这种情况很常见,因为刚开始,用户往往只能描述个大概情况,而在具体实施过程中又会出现要求对原先功能需求的进一步改进 ;
             设计bug 是指 在概要设计中没有全面考虑导致的疏忽;如果是结构性质的bug ,结果是致命的,可能会推倒整体返工;
             具体功能实现中的bug 是指 在功能具体实施过程中,出现的bug ,大部分由于开发人员编程水平有高有低,而导致bug有多有少,这类bug 最常见,也是测试人员通常查找的bug ;
作者: willyenillye    时间: 2012-12-28 15:07
这个分类太模糊了,我压根不支持这样的分类。

一种可能是,按照被测对象的不同分类,即如果对需求进行评审/测试,提出的是需求bug,其他亦然;
另一种可能是,在寻找缺陷原因时,将该缺陷归因为某部分工作/某些人。
作者: py0502    时间: 2013-1-14 15:53
本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位。
个人认为,从软件开发测试生命周期上分 ...
土土的豆豆 发表于 2012-10-30 10:15



    讲的好啊!学习了。
作者: gecje    时间: 2013-6-16 19:48
做个记号,下次好找!
作者: TPGJQR    时间: 2013-8-14 14:22
完全支持你,大家都会顶你




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2