你会靠谱的进行(Bug)错误报告吗?

瘢痕终端
• 阅读 3204

你会靠谱的进行(Bug)错误报告吗?

我们知道,在软件项目中经常会有各种或大或小的Bug,更甚一点出现Error。那么如何清晰无异议的提出Bug呢?是不是经常遇到别人给你说某某地方有个Bug,然后就没有然后了...你是什么反应?或者一个功能表面上看起来都是正常的,但他说结果错了,然后呢,然后也没然后了,你去看了一下,好像都正常,没有报错什么的,这时候你是什么反应?

常见的两种提Bug的情况:

  • 第一种,只说错误现象。在没有明显的错误情况下,报告错误而不说正确的结果应该是什么,没有应该正确的结果(预期结果)对比,光说错误相当于污蔑。

  • 第二种,描述笼统。

  • 第三种,Bug point缺乏上下文。比如说,某个页面里的一个功能按钮有bug,如果直接报告这个功能按钮,你是一下子反应不过来的,你的系统分为很多大模块,然后下面有小模块,然后下面有很多页面,这个页面里有很多功能按钮,甚至很多页面都有相同的按钮,那么到底是说哪个页面的功能按钮有Bug呢?

下图是我司禅道项目管理系统中今天分配给我的一个真实任务:
你会靠谱的进行(Bug)错误报告吗?

部分具体是指哪些?位置从哪调整到哪?新增的薪资模块又是什么,放哪?有没有想骂人的冲动?? 如果不想详细表达好歹可以来一张示意图吧….

比如,张三创建了一个Bug给李四

标题:挂了

内容:我今天在玩XXXX网的时候,发现XXXX网站挂了。

这个Bug对问题的描述太过笼统,开发人员根本无从下手。李四拿到这个Bug,也是哭笑不得,试了试网站的各个页面,好像也都正常。他于是把这个Bug又推给张三,“哪里挂了?”

过了一会儿,张三回复“在我的机器上挂了”。

李四跑到张三的座位上,想看看“犯罪现场”。

张三:我刚重启了机器……

两人等到启动完毕,打开网页,发现一切正常。

张三:(纳闷了)昨天晚上的确是挂了。网页上还有一些错误信息。我当时正在干什么来着,好像是在留言或在论坛上发帖子,我现在也记不清了。让我再玩玩,等碰到了再叫你。

李四:这样九条浪费了两个人各一个小时的时间,最后什么进展也没有。一个好的Bug报告应该是这样的:

标题:购物网站的某个具体页面(URL),在回复中提交大于100KB的文字时会出错内容有以下几点:

环境:
在Windows XP下,使用IE7。允许Cookie。购物网的版本是1.2.40。
重现步骤:
1)用[用户名,密码]登录。这一用户在系统中是一般用户。
2)到某一产品页面(链接为:……)。
3)选中一个帖子,例如:帖子号为579。
4)回复帖子,在内容中粘贴100KB的文字内容(文本内容见附件)。
结果:网站出错,错误信息为:[略]
预期结果:网站能完成操作,或者提示用户文本内容过大。[在附件中加入100KB的文本文件]。

测试人员还可以附上其他分析,团队应该鼓励测试人员追根溯源。如果看到测试人员发来这样的Bug报告,那么开发人员就能够很快地重现这一问题,从而有效地分析和解决问题。

那么,靠谱受欢迎的Bug报告要怎么提?

软件项目管理工具通常支持多种类型的记录,“任务(Task)”和“缺陷(Bug)”是最基本的两种记录,任务=要做的事情,缺陷=意外发生的故障。当软件工程师完成了预定的任务,达到“代码完成”之后,团队的成员主要用Bug这种类型的记录来交流。在一定规模的软件项目中,一份好的错误报告,至少要满足以下几点。

  1. Bug的标题,要能简要说明问题。

  2. Bug的内容要写在描述中,包括:

    1. 测试的环境和准备工作。

    2. 测试的步骤,清楚地列出每一步做了什么。

    3. 实际发生的结果。

    4. (根据软件功能说明书和用户的期望)应该发生的结果。

  3. 如有其他补充材料,例如相关联的Bug、输出文件、日志文件、调用堆栈的列表、截屏等,应保存在Bug对应的附件或链接中。

  4. 还可以设置Bug的严重程度(Severity)、功能区域等,这些都可以记录在不同的字段中。

在实际生活中,在没有规范的前提下,请尽量做的规范一点,心中有佛,随处修行

文章首发于我的微信公众号,关注可获得每次最新推送
你会靠谱的进行(Bug)错误报告吗?


《构建之法》读书笔记之一

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Karen110 Karen110
3年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Optional源码解析与实践
1导读NullPointerException在开发过程中经常遇到,稍有不慎小BUG就出现了,如果避免这个问题呢,Optional就是专门解决这个问题的类,那么Optional如何使用呢?让我们一起探索一下吧!2源码解析
Peter20 Peter20
4年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这