软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?
问题描述:
测试过程中如何区分什么是功能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?的更多相关文章
- 软件开发中的完整测试所包括的环节UT、IT、ST、UAT
软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试ST = System T ...
- SVN组成中trunk,branches and tags功能用法详解
SVN组成中trunk,branches and tags功能用法详解 我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说 ...
- 支持在安卓中UI(View)的刷新功能
这是一款可以支持在安卓中UI(View)的刷新功能,Android中对View的更新有很多种方式,使用时要区分不同的应用场合.我感觉最要紧的是分清:多线程和双缓冲的使用情况. 现在可以尝试理解下 ...
- 关于软件开发中兼容win7注册表的解决方案
关于软件开发中兼容win7注册表的解决方案 编写人:CC阿爸 2014-3-14 l 近来在开发一winform程序时,发现在xp 系统访问注册表一切正常.可偏这个时候,微软又提醒大家.Xp今年 ...
- centos6.5软件安装:RPM,SRPM与yum功能
鸟哥的linxu私房菜读书笔记 前言: Linux上软件的安装可以以原始码的方式来安装软件,也就是利用厂商释出的 Tarball 来进行软件的安装.不过,你应该很容易发现,那就是每次安装软件都需要侦测 ...
- 音频软件开发中的debug方法和工具
本文系作者原创.如转载,请注明出处. 谢谢! 音频软件开发同其他软件开发一样,都需要去调试.音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法 ...
- AngularJS进阶(十八)在AngularJS应用中集成科大讯飞语音输入功能
在AngularJS应用中集成科大讯飞语音输入功能 注:请点击此处进行充电! 前言 根据项目需求,需要在首页搜索框中添加语音输入功能,考虑到科大讯飞语音业务的强大能力,遂决定使用科大讯飞语音输入第三方 ...
- Oracle 12c Sharding测试过程中的问题解决
Sharding测试过程中的问题解决 1. 环境部署 软件的版本需要12.2.0.0.3及以上的版本 在配置GSM的时候报错信息不会很直观的展示出来,这对于安装部署有很大阻碍. 2. 数据导入 Dup ...
- [译] OpenStack Ocata 版本中的 53 个新功能盘点
原文链接:https://www.mirantis.com/blog/53-new-things-to-look-for-in-openstack-ocata/ 原文作者:Nick Chase, Ra ...
随机推荐
- web应用中实现同一个账号,后面登录的会把前面登录的挤下线
在web应用中假如没有做会话控制,会出现这样的情况,A登录了账号,B也登录了账号,都是同样的账号,A修改了信息,B会看到修改的信息,这样的用户体验不好,B会觉得我没有修改啊,为什么信息会改变.而做会话 ...
- python学习-62 类属性的增 删 该 查
类属性 1.类属性 类属性又称为静态变量,或者是静态数据.这些数据是与它们所属的类对象绑定的,不依赖于任何类实例. 2.增 删 改 查 class zoo: country = 'china' def ...
- java.IO.EOFException异常
错误代码为: 43 boolean booleanResult = dis.readBoolean();//dis为DateInputStream的实例 44 System.out.println(b ...
- 『Go基础』第1节 Go语言简介
1. Go语言简介 Go语言起源于2007年, 并于2009年开源. Go语言是一门全新的静态类型开发语言, 具有自动垃圾回收, 丰富的内置类型, 错误处理, 并发编程等特征.
- @Autowired 和 @Resource注解, 一个接口有多个实现类的时候Spring注入遇到的问题
先说下我遇到的问题,有一个接口 CompensationService, 有两个实现类 MusicCompensationStrategyImpl 和 TakeDeliveryCompensati ...
- spring boot 中@Autowired注解无法自动注入的错误
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/huihuilovei/article/de ...
- DBCP数据库连接池初探
1. 概述 数据库连接是很“宝贵的”,如果每次获取Connection都去创建数据库连接,使用之后就断开,再次使用又重新创建,程序效率是很低的.因为Socket连接的建立很消耗资源. 所以需要数据库连 ...
- Java 之 函数式接口
函数式接口 一.概念 函数式接口在 java 中是指:有且仅有一个抽象方法的接口. 函数式接口,即适用于函数式编程场景的接口. 而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用 ...
- Java System Reports
You use Java System Reports as a problem detection and analysis tool to: ● Monitor the AS Java ...
- android RecyclerView的Grid布局案例
1.先创建activity_grid.xml 和 activity_grid_item.xml <?xml version="1.0" encoding="utf- ...