关闭

项目管理之bug数减少原因分析和解决办法

标签: 项目管理开发经验
16301人阅读 评论(0) 收藏 举报
分类:

前言:

离开原来项目组快有两个月了,现在突然回想起项目组的对缺陷(bug)管理的一些方法。ps:在这个项目组待了快三年,因为个人原因离开。见证了原来的杂乱无章到现在的相对比较正规,但是缺陷的数量和缺陷问题的质量都提高的很多。项目管理人员也有换过。下面就总结一下。

1、bug分类:

a、需求本来就有问题而产生的代码缺陷。这类问题源头是需求或产品这一块没有分析清楚。
b、代码实现和需求相差很大的缺陷。这类问题也是比较常见的,开发人员的思维与需求或产品人员的思维还是有很大差距的。
c、很复杂的需求代码实现在某些逻辑上有缺陷。这类问题有可能是开发人员不想实现完全,也有可能需求过于复杂,在系统设计阶段就没有分析出所有情况。
d、对框架特性不熟悉、对数据结构、开发语言的数据类型不熟悉,导致出现缺陷。这类问题对开发经验比较少的开发人员容易出现。
e、粗心导致的缺陷。人孰能无过。
f、系统架构上的缺陷。这类问题一般很少,出现的话是大面积的。

2、我们的解决办法:

2.1、如果是a类解决方法,我在项目中是碰见很多,也可能和我接触的需求人员经验有关。他们有很多需求并没有从客户那边完全挖掘出来,这样导致当开发完代码到整个流程测试阶段出现很多问题没有考虑的隐藏的需求,往往导致整个代码从写,代价非常惨烈。我这边解决方法是:因为我对项目开发的系统非常了解,当需求人员讨论需求的时候组长也参与讨论,多和他们沟通尽量将需求点分析透彻。那如果对系统不是很了解的话,这个时候就需要经验来进行判断和对需求人员的一个考验。要求需求人员不仅要专注于自己负责的功能的需求也要对其他功能的需要也要了解。
2.2、b类问题,这类问题应该每个项目中都会碰到,我们是通过编写系统设计和画流程图的方式,达到开发人员对需求的彻底理解,而且我们使用集中办公的方式减少电话、邮件沟通的语言歧义。还有是通过开发组长对组员代码的一个逻辑检查,其实后面的问题也使用到这一方法。
2.3、c类问题,这类问题是b类问题的轻微版,还是系统设计、流程图没有很细化。导致代码考虑不周全。如果是开发人员不想实现的话,这个时候就需要约喝茶了。这类缺陷是很致命,因为这类的问题需要大量的测试案例才能测试出来。或者需要非常细致的组类代码检查,才能发现。
2.4、d类问题,这类问题主要是通过代码检查来进行发现,还有通过测试也可能发现,还有通过培训提高开发人员的基础知识。我在这个项目中真实的碰到一个,因为作为开发组长,帮组员看的一个问题。问题现象大致是:一个订单完成的条件,正常是订单发货的数量大于等于实际下单的数量表示订单已经完成,但是代码表现为订单发货的数量小于订单下单时的数量也将订单置为完成。而且测试那边不是每次都能呈现该问题,只有该订单有多个商品的时候,并且每个商品都发货了才会出现。这个问题就是因为使用了错误的数据结构导致的。对框架的不了解我这边也碰到过,spring框架中service层的类默认是单例的,也就是线程不安全的,不能有类的局部变量,但是在项目开发中出现过类的局部变量。
2.5、e类问题,这个首先一个养成对自己开发完代码的检查习惯,我们这边有进行组内检查、组与组之间检查还有架构师亲自检查。这三种检查对检查的粒度也不一样,组内检查的话会很细时间也很长,组组检查,主要是听,听被检测者对代码的一个描述。架构师亲自检查的话,只能核心代码进行检查,也是核心功能的代码。
2.6、f类问题,首先这种问题很少出现,而且改起来也很快。加强对整个项目的架构框架的熟悉,关注使用的框架是否有漏洞。这类问题我们项目中也碰到过,就是2016年的struts2的两个重大漏洞。乌云网都有详细的介绍。我们只能将lib包升级。

2
0
查看评论

Bug产生的原因有

开发人员完成功能后,需要自测: 开发过程中:每个工程师都希望能再前期就能将功能梳理完毕 自测意思是只在自己的手机上 Code Review 没有命名规范和代码规范。 对输入输出的数据不做验证。 Bug...
  • u011904605
  • u011904605
  • 2016-08-01 16:02
  • 1446

深入BUG分析

BUG不是纸面数据,数据为王的时代,BUG应该为测试、应该为质量提供更多的信息。
  • u012841352
  • u012841352
  • 2016-05-31 06:25
  • 2353

一款工具助你减少java代码bug

场景: 今天收到了一封邮件,生成环境出现了“/by zero”错误,这个错误足足经过两天的排查才找到了原因,能否在上线前就尽量规避一些错误呢? 那个问题产生的原因如下: if(Math.abs(rowRecord.getBenefitmoney())==(Math.abs(rowRecord....
  • lk_blog
  • lk_blog
  • 2015-05-31 15:18
  • 2253

软件测试之BUG分析定位概述(QA如何分析定位BUG)

你是否遇到这样的场景?QA发现问题后找到DEV说: 不好了,你的程序出问题了! DEV(追查半小时之后): 唉,是你们测试环境配置的问题 唉,是你们数据不一致 唉,是你们**程序版本不对 唉,是**产品线的问题 当时的日志呢? 当时cpu有异...
  • kaka1121
  • kaka1121
  • 2016-05-30 16:33
  • 6082

Android Bug收集解决方案分析

一.概述本文主要介绍Android平台下bug类型和产生原因、崩溃捕获和收集解决方案、以及bugly的使用方法。Android平台下bug类型主要有Crash、ANR、卡顿、服务器异常等。要实现Android Bug捕获和收集的困难主要有这么几个:1、如何捕获崩溃;2、如何获取堆栈信息;3、将错误日...
  • u010963246
  • u010963246
  • 2017-04-05 13:52
  • 1013

解决bug的一些总结

今天我们就来说说,程序员的日常工作之一解bug,解bug时间与正常编码时间几乎都快符合二八法则了,当然是bug占八了。         接下来笔者会围绕bug产生的原因,各种类型的bug修复方案,以及如何必免大部分bug的产生,来一探bug的真面目,希望能对...
  • java3182
  • java3182
  • 2018-01-05 23:03
  • 59

测试人员如何减少产品的遗留bug

1、需求评审阶段 1、根据需求文档查找是否与当前业务冲突的需求; 2、从用户体验角度出发,检查是否符合用户的使用习惯; 3、将需求细分功能点,将功能点进行优先级排序; 2、设计评审阶段 代码设计评审: 1、检查是否有漏掉的功能未评审; 2、检查逻辑判断的顺序是否合理; 3、检查是否考虑用缓存、事...
  • lihongbo1008
  • lihongbo1008
  • 2015-07-27 14:02
  • 415

电脑能上qq,不能上网,打不开网页---问题分析

背景: 昨天不知道自己的电脑“犯了什么错”,能上qq但是不能上网,打不开网页,找不到自己想用的资料,这就忍了,更着急的是博客还没有写完,想想都觉得“恐怖”,还很影响心情,就各种杀毒,各种配置也没管用。焦急呀( ⊙ o ⊙ )! 今天早晨来了,别人可以上网,自己的电脑依旧如此,听完英语要学习其他的知识...
  • ytm15732625529
  • ytm15732625529
  • 2016-11-21 10:48
  • 556

App崩溃原因定位分析

当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上。crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和内存映像,这样就能够通过解析这些信息进而定位crash发生时的代码逻辑,从而找到App闪退的原因。通常来说,crash产生来源于两种问题:违反i...
  • jyt199011302
  • jyt199011302
  • 2016-10-16 11:30
  • 1099

BUG总结1

碰到bug首先不能急,稳下心来,将自己的程序梳理一遍! 1. 今天变成碰到这个,上网搜了一下,发现是野指针的问题,遇到不知道自己野指针在哪,C++里面就在每一步后面加一个cout 每一步都加,这样就知道是哪一步有问题,当找到那一步后,仔细推敲,就知道问题了。 最后发现4输不出来,仔细...
  • patrick_star_cowboy
  • patrick_star_cowboy
  • 2018-01-26 13:36
  • 18
    欢迎关注个人微信号
      欢迎关注微信账号:在路上的coder .每天一篇java相关或互联网相关的文章




    个人资料
    • 访问:825729次
    • 积分:2955
    • 等级:
    • 排名:第14098名
    • 原创:87篇
    • 转载:4篇
    • 译文:0篇
    • 评论:26条
    资源分享地址
    个人博客地址
    博客专栏
    最新评论