开发如何尽可能的避免BUG

一 : BUG的范围

想要尽可能的避免BUG,首先需要知道BUG大概的分类,可以简单概括成3类

1 : 阻断性BUG

该类型BUG为不应该出现的问题,即会影响正常的流程,进而测试无法进一步测试。
如:系统报错异常,服务器崩溃,数据库死锁,死循环等等。

2 : 缺陷性BUG

该类型BUG,主要体现在非正常流程出现的问题。即正常流程可以使用,但是有点误操作就会崩溃。
该类型的问题,为最常见也是最多的BUG。
如:页面参数未校验,系统提示语错误,查询失效等等。

3 : 建议性BUG

该类型BUG,前提是需要以用户角度实操系统,才能提出更符合用户操作系统的BUG。需要对系统的业务更加熟悉,深耕业务实际场景,并有一些创新性的思维等。
如:页面的操作是否需要模糊查询,页面样式是否居中,业务操作流程是否可以缩短等等。

二 : BUG产生的原因
1、没有进行自测(Web/App自测)
自测指的是用测试人员使用的页面测试,而非postman这种接口测试工具。
阻断性的BUG、一般缺陷性的BUG,基本都是可以通过自测提前发现的。
2、没有修改联动的功能
目前很多的系统,其功能点都不是单一功能,而是有联动关联关系的。
其逻辑类似于 省市区三级联动,如果修改了“市”那前后的联动自然也要同步修改。
所以在开发过程中,并不能只着眼于当前开发的功能。
更要分析当前功能是否有关联(功能的数据来源点、及数据使用点),站在全局的角度看开发的功能,才不会顾此失彼。
3、必要的参数,前后端都要加校验
对于系统的参数,增加校验的目的,是需要业务操作人员按照系统设定的方向走。
如果没有校验,走偏了,很容易引起系统阻断性BUG。
参数校验大致可分三种:非空校验、长度校验、合规校验
非空校验:对于业务必要的参数,一定要增加校验
长度校验:较为常见的类似于输入框、文本框等等。
表的字段设置50,假设没有校验,数据库就会报错而引起阻断性BUG。
合规校验:对于特殊规范的参数,如身份证,手机号,和一些特殊工号等等,可采取正则校验。
4、SVN/GIT提交代码,需要检查提交的内容是否有误
这一点也是很多人容易忽视的一点,最后临门一脚,太过自信,不去检查自己提交的内容,而导致不应该提交的也提交了。
自己测试时候,为了方便而注释某些代码,提交的时候不做检查,就会导致测试有问题。
需要渐渐的养成习惯,以减少不必要的BUG。
5、过需求的时候,要分析需求是否合理、还要看是否有遗漏
在开发需求的时候,有时候做完之后,才会发现可能不太合理,或者漏了某个功能。
这就需要在开发之前,即需求评审时,对需求的细节进行分析。
是否满足业务要求,是否符合业务操作习惯,功能流程是否合理,需求点是否遗漏等等。
同第二点相似,站在全局的角度、用户的角度看需求,才能在源头避免需求本身的问题,进而减少BUG。
6、要注意页面显示的内容是否合理,*号,标点符号等
在前端开发时,并非功能不报错即可。同时也需要注意的是页面是否合理。
如:页面显示某个字段没对齐,页面中文冒号英文冒号,页面样式与系统整体不同。
必填字段是否有*号,审核退回/不通过时备注加*号等等。
把自己当做用户使用系统,来发现使用过程中,页面的不合理之处。
7、提测之前,后端需要告知测试老师正常流程,同时要告知特殊情况及提示信息等
经常会碰到一些不是BUG的问题,而被测试老师提成了BUG。
在开发完成之后进行提测之后,一般都是告知测试老师具体的测试流程,而特殊情况,恰恰是容易忽略的。
这就需要开发人员在告知时,进行特殊说明,进而减少这种不是BUG的BUG。
8、提测之前需要清理脏数据
在提测之前,需要清理一下无用的脏数据,以防止对正常流程产生影响。
其实,如果第3点做的比较充足,那也可以满足脏数据的存在。
9、存在关联必填项
也可同第2点内容,某一个内容必填,当内容变动,会关联其他内容必填。
比如:审核退回,星号要根据 审核状态 进行判断是否显示。
审核原因,仅在退回的时候是必填项等。
10、测试需要按照生产业务操作新建测试账号。以便复现生产问题
有时会方便测试,RBAC相关信息会随意创建,这种方式虽然可行,但是并不适用于生产问题的复现。
当然测试的目的就是要看非正常情况,系统的处理。
随意创建的RBAC信息需要有,但生产相同或相似的RBAC信息同时也需要存在。
11、所有的导出,除特殊情况外,页面数据内容和数据量应和导出一致
这是经常会被忽视的一个细节问题。向上归纳,其实也是属于第2点,不过这种情况算是一种典型。
比如业务要求页面增加一个查询条件,大部分人都认为只是查询修改。
其实如果第2点想的多,联动的 重置、导出等功能也是需要修改的。
也存在一些特殊情况,这就需要开发、需求人员做到第7点。
比如业务要求导出按照某种政策文件格式,这种情况如果不及时告知,测试人员一定会认为是BUG的。
12、后端数据存储和前端数据回显应保持一致
这种情况,理应不该出现的。向上归纳,其实也是属于第1点,不过这种情况算是一种典型。
自测不应局限于程序是否报错,而应体现是数据是否正常落地。
13、后端开发除数据修改外,不要手动修改数据库
有的时候我们会手动修改数据库的内容。
这种情况一定要谨慎,错误的程序会导致脏数据,手动修改数据,如果修改的不恰当,同样是会产生脏数据的。
对于数据库的修改,一定要谨慎!!!

如有不正确之处,还望指正!书写不易,觉得有帮助就点个赞吧!☺☺☺

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在线遗漏bug率在不同行业和项目中会有所不同,难以简单地给出一个业内一般的具体数字。这是因为线上遗漏bug率受到多种因素的影响。 首先,项目规模与复杂度会直接影响线上遗漏bug率。大型复杂项目通常会有更多的代码,更多的功能模块和更多的潜在问题,因此其线上遗漏bug率可能相对较高。 其次,开发团队的技术水平和经验也是一个重要因素。经验丰富的开发团队通常能够更好地识别和解决潜在问题,从而降低线上遗漏bug的概率。 另外,项目的测试与审查过程对于降低线上遗漏bug率也至关重要。严格的测试策略、完善的代码审查流程和有效的Bug跟踪系统都可以帮助发现和解决潜在问题,减少线上遗漏bug的发生。 总的来说,业内对于线上遗漏bug率没有一个具体的标准。每个项目都有其独特性和复杂性,线上遗漏bug率的大小取决于多种因素。因此,提高团队的技术水平,加强测试和代码审查流程,优化Bug跟踪和修复机制等都是降低线上遗漏bug率的有效方法。 ### 回答2: 在线上遗漏bug率在软件行业内是一个常见的问题。由于各种原因,完全消除bug是不太可能的。在实际开发过程中,我们会尽量减少bug的数量并提高软件质量,但无法做到百分之百的无bug。 在线上遗漏bug率的多少因公司、项目、开发团队等不同而异。在业内,一般认为每千行代码遗漏的bug数量为1~5个是比较常见的情况。当然,这只是一个粗略的估计,实际情况可能会有所差异。 影响在线上遗漏bug率的因素很多。首先是项目的复杂程度。复杂的项目通常容易产生更多的bug。其次是开发团队的水平和经验。经验丰富的开发人员通常能够更好地避免和解决bug。另外,开发过程中使用的工具、测试流程和质量控制机制也会影响bug率。 为了降低在线上遗漏bug率,我们可以采取一些措施。首先是重视代码质量,编写高质量的代码是减少bug的关键。其次是加强测试环节,包括单元测试、集成测试和系统测试,以尽早发现和解决bug。此外,定期进行代码审查、持续集成和自动化测试也可以提高软件质量并减少bug的数量。 总之,在线上遗漏bug率在软件行业内是一个普遍存在的问题。尽管我们会采取各种措施来降低bug率,但无法完全消除。我们需要努力提高开发质量和测试流程,以确保软件的稳定性和可靠性。 ### 回答3: 线上遗漏bug率在软件开发行业中是一个普遍存在的问题,无法给出一个固定的准确数字来表示。其多少直接取决于项目的复杂度、开发团队的技术水平、代码测试与质量保证的程度等因素。 一般来说,在软件开发过程中,开发团队会通过需求分析、设计、编码、测试等多个环节来尽可能减少和排查bug。然而,由于间和资源的限制,无法完全避免bug出现。部分bug可能在开发过程中没有被发现,进而在线上环境中才被用户或者运维人员发现。 对于一些复杂度较高的软件项目,由于涉及的逻辑和功能较多,线上遗漏bug率可能会相对较高。例如,大型互联网平台、金融系统等,其对安全性和稳定性的要求较高,线上遗漏bug率往往会受到更加重视。 为了降低线上遗漏bug率,开发团队通常会采取一系列的措施,如增加代码测试覆盖率、引入自动化测试工具、进行持续集成与部署等。这些措施可以帮助开发团队在开发过程中及发现和修复bug减少线上遗漏bug的可能性。 总之,线上遗漏bug率的具体多少无法简单确定,它取决于各种因素的综合影响。但在软件开发行业中,开发团队通常会努力采取措施,尽可能减少线上遗漏bug的发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

message丶小和尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值