阿里测试总监,8年经验浅谈 bug 的那点事~

Posted 程序员二黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里测试总监,8年经验浅谈 bug 的那点事~相关的知识,希望对你有一定的参考价值。

一、bug由来

虫子爬进主机引起继电器短路,导致机器故障。真正的缺陷是:主机散热孔少装了块金属丝,这样才能防止虫子爬到主机。
  

二、什么是bug

bug是缺陷的一种表现形式,而一个缺陷是可以引发多种bug的。软件测试,为了发现软件中的错误而运行软件的过程。

bug评判点

  • 1)软件未达到客户需求文档 的功能和性能

  • 2)软件出现客户需求不能容忍的错误

  • 3)软件的使用未能符合客户的习惯和工作环境(易用性兼容性)

  • 4)软件超出需求文档的范围(需求bug)

Bug分类:

  • Defect,缺陷:存在于软件中的偏差,一静态形式存在于软件内部,可被激活;

  • Failure,失效:软件运行时产生的外部异常行为结果,表现为与客户需求不一致,功能终止,用户无法完成所需要的应用;

  • Error,错误:存在编写错误的代码,语法错误和逻辑错误。

  • Fault,故障:软件运行中出现的状态,可引起意外情况,若不加处理,可产生失效,是一个动态行为。

下面看一些常见的分类:

划分方式一:

  • 代码错误 设计缺陷 界面优化 配置相关 安装部署 性能问题 标准规范 测试代码 其它

划分方式二:

  • 功能类(function) 性能类(performance) 界面类(UI) 易用性类(usability) 兼容性类(compatibility) 其它(else)

三、为什么要提交bug

  • 1)加快缺陷的处理速度;

  • 2)提高测试的可信度;

  • 3)加强测试组与开发组在整个项目过程中的团队合作;

  • 4)有效的错误跟踪法,为后续Bug分析和产品质量的度量提供依据;

四、bug描述

1)需简要清晰,缺陷的必要信息。如果做得不好,会造成迷惑,并增加沟通成本。

2)解决方法:bug模板

3)好的bug描述应该包括9个基本部分:

概述(简要指出程序错误的依赖关系,不要太长或太短)、项目(版本号)、所属模块、优先级别、严重等级(致命、严重、一般、提示)、可重复性(不可再现、每3次出现2次、必现)、测试条件(软件-硬件配置-环境信息-操作系统-数据库-浏览器)、操作过程和附件(图片、数据和日志)、预期结果

五、常见bug处理

1)相类似的bug,根本原因不同,哪怕表象一样,也要log两个或两个以上

2)重复的bug, log之前在bug库找,将结果告诉伙伴,避免被开发打回

3)不可重现的bug,要log详细描述清楚操作步骤、症状、测试环境等,这样对于再次重现也有一定的参考性

4)小问题bug,也要log。不解决就会持续,小问题会影响客户信心

其他:发现的缺陷的数量说明不了软件的质量、不要指望找出软件中所有的缺陷、不要期望修复所有发现的缺陷

六、生命周期

new、open、fixed、re-open、delay、reject、closed.

七、bug分析

  • 1)模块的缺陷分布,一般用柱状图或饼状图,就是每一个功能模块发现bug的比例,发现bug最多的模块证明在发布以后需要更多的维护。

  • 2)缺陷的起因分布,一般用柱状图或饼状图,一般可分为架构缺陷、功能缺陷、易用性缺陷、性能缺陷、安全性缺陷、需求缺陷、界面文字缺陷。一般如果架构缺陷占的比例较大,则说明设计有很大问题。

  • 3)按照不同发现人员的缺陷分布,一般用柱状图或饼状图,一般分为测试人员发现,开发人员发现,beta测试发现,外部客户发现。如果测试人员发现的bug低于某个比例,证明质量保证测试不足。

  • 4)缺陷差额分析,就是已经发现的和已经解决的曲线关系,以时间为横轴,两者越接近说明产品质量越高

  • 5)按照时间段的缺陷分布,一般用时间为横轴的曲线图表示,主要说明在哪个阶段发现的bug最多,对测试总结有指导意义。

八、bug预防

保证质量最好的方式是预防Bug,防范于未然

  • 1)建立Bug预防体系:根因分析,总结不同的项目常发现共同性的类似bug,提前告知开发,事前预防。并持续维护更新。

  • 2)制定规范开发:代码规范,代码审核,单元测试,代码重构规范,开发自测。

  • 3)WEB方面的预防:分辨率、浏览器兼容性、出错提示显示代码信息、文字缩略和折行、重复提交、脚本攻击跨站攻击、敏感信息禁止缓存、密码加密、日志级别Info级别…

最后,下面是我整理出来的一份软件测试工程师发展方向知识架构体系图。

希望大家能在这个成长过程中收益良多。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

由于CSDN上传图片大小有限,有需要的朋友可以关注我的公众号:程序员二黑,回复1,即可获取原图。

下面是一份配套的软件测试资源包:

上面是一些配套资源,对于软件测试的的朋友来说应该是最全面最完整的备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

关注我的微信公众号:程序员二黑,即可免费获取!

最困难的时候,也就是我们离成功不远的时候!如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们的群:785128166 大家一起讨论交流学习。

推荐阅读

高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救?

清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+

字节跳动软件测试岗,前两面过了,第三面HR天坑!竟然跟我说……

以上是关于阿里测试总监,8年经验浅谈 bug 的那点事~的主要内容,如果未能解决你的问题,请参考以下文章

一个小BUG引发的思考。(论开发与测试之间的那点事)

关于软件测试工作的那点事

浅谈HTTP缓存与CDN缓存的那点事

python与中文的那点事

python pip安装的那点事

python pip安装的那点事