当前位置: 首页 > article >正文

如何修复软件中的BUG

笔者上一篇博文《如何开发出一款优秀的软件》主要讲了如何开发一款优秀的软件及相应的必要条件。但对一个已上线,已经成型的产品,该如何解决存在的bug呢?这是本文要阐述的内容。
在这里,首先说一下bug的种类及bug严重程度分类,请看下面的图一与图二:

在这里插入图片描述
在这里插入图片描述

如上图,分别为bug的种类及bug严重程度分类,通常遇到bug,都是按bug严重程度分类,比如我们用到的jira和禅道管理软件,按优先级依次解决致命bug、严重bug……而把一般bug、轻微bug放后。通常这样的做法也没有问题,但笔者认为软件是一个整体,如果粗略的这样分,可能会混淆我们的思路,不利于我们解决问题。我们不应该因为bug属于Medium而忽视它,说不定一个小的Medium可能后面隐藏着影响全局的大文章。我们就要静下心来,好好考虑一下。在这里笔者建议按bug类型来将bug进行归类,全方位的分析一下所有的bug。那么接下来,笔者就述说一下,如何正确解决软件中的bug问题,步骤如下:
第一:将所有bug统计在一起,并进行归类,按图一中的方法进行分类。即按功能类、功能缺陷类、性能类等11大类(可根据实际情况,增加分类)进行分类。

第二:梳理整体软件架构,并标识出bug所在位置。软件架构包括前端架构,后端架构、数据库部署架构,消息中间件部署架构,缓存架构、负载均衡架构等。
第三:分析软件架构。分析软件设计架构,部署架构,看是否合理;针对标准规范类bug,看框架设计是否遵循了行业标准协议,或者自定义的协议是否规范;对于设计缺陷类bug,查看设计中的不合理的地方;对于安装部署类bug,要详细看看相应软件的部署环境,操作系统,中间件等版本及功能支持情况;对于配置相关类bug,要仔细检查部署及配置情况,找出疏漏;对安全类bug,要从安全设计方案里排查解决及安全框架及代码编写;对兼容性类bug,要从设计及代码级别审查,比如如果用到了适配器设计模式,那么这种设计是否考虑周全等等;对于性能类bug,需要全面分析设计架构及部署架构,包括但不限于数据库表结构设计,负载均衡设计、异步设计及各种中间件设计等;对于功能缺陷类bug,查看设计方案,是否属于设计时漏选,还是编写代码时没有实现相应功能,必要时还需要查看需求文档等;对于功能类bug,也需要检查设计方案是否合理,业务逻辑是否合理,部署方案是否合理;功能不稳定,是否存在大模块问题,及业务模块拆分不合理,相同功能模块没有拆分出来公用,设计及编码冗余,是否存在业务模块设计,软件架构设计不合理问题,关于这点说明,请参见《如何开发出一款优秀的软件》中相应内容的论述。

以上是笔者关于解决软件bug问题的三步方法,其实解决软件bug的方法最重要的是规范开发软件,避免或者减少bug的产生,关于这点请参见《如何开发出一款优秀的软件》中相应内容的论述。


http://www.kler.cn/a/297745.html

相关文章:

  • 鸿蒙(API 12 Beta6版)GPU加速引擎服务【介绍与开发准备】
  • Qt工程实践_06_Qt MSVC2O17编译器下的程序添加VS2017生成的动态链接库方法
  • 《生物学教学》
  • YOLOv8安装配置教程(Windows版)
  • PMP--一、二、三模--分类--14.敏捷--技巧--DoDDoR
  • 【C语言】揭开计数制的面纱:深入浅出二进制及二进制计算
  • C++学习笔记(15)
  • Gorilla/Mux 中的 Session 管理:实现自定义中间件
  • 解锁SQL基础应用新境界:从入门到精通的扩展实践指南(SQL扩展)
  • 力扣题解2181
  • SprinBoot+Vue教务管理系统的设计与实现
  • 深度学习中的常用线性代数知识汇总——第一篇:基础概念、秩、奇异值
  • SpringBoot闲一品交易平台
  • 运营如何判断账号是否起号失败?
  • 前端测试(Vue)
  • 支持向量机 (Support Vector Machines, SVM)
  • 速盾:高防 cdn 分布式防御攻击?
  • 第四届“长城杯”网络安全大赛 暨京津冀网络安全技能竞赛(初赛) 全方向 题解WriteUp
  • 智慧园区,为园区多场景提供智能化赋能
  • SpringBoot 时间格式校验问题