本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html

由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确,后来通过多看美国人开的bug,就慢慢掌握开bug的技巧了,慢慢的就比较轻车熟路了。这篇文章就来总结一下我平时开bug的技巧, 其实中文的也比较类似了。


1. 开bug的一些原则

  1. 除非百分之百确定,否则不要用should,不要有你认为是XXXX的句子,尽量用陈述句,因为这样万一是As Designed,会被开发人员骂XX。
  2. 少用定语从句! 外国人真的很少用定语从句,可以考虑简化为前置形容词或者拆分成两个句子,具体可以看这篇文章。https://zhuanlan.zhihu.com/p/32301914
  3. if/after,尽量尽量不要用这两个词,因为阅读顺序是从左往右的,if和after又在后面,不利于阅读, 非要用的话,这两个词前面的句子不要太长;
  4. Repro steps句子也不要太长,长句子分成好几个短句子,尽量短描述清晰, 不重要的步骤不需要放图;
  5. 遇到比较奇怪的bug,需要贴上更多的信息,比如url/哪个资源/浏览器,最好再录个视频(防背锅);

2. 一些重点词汇

经常开bug的话,也是可以找到一些技巧的,常见的情况就那几种,当XXXX,出现了XXXX;不应该出现XXXX;什么功能坏掉了;什么东西会导致XXX结果。常用的句型都可能是类似的。我就总结了以下几个常用的词汇/句型,然后句子示例是搜集的美国人写的句子。由于工作隐私问题: 就删除了一些关键句子,是不影响句子阅读的。

should:

  • The saved list should show the actual report selected.
  • Scroll bar shouldn't be showed up when xxxx;

动名词:

  • Clicking on the refresh button in saved list blade refreshes the xxxx.
  • clicking on xxxx in xxxx makes it switch to "loading..."
  • split by using Properites fails for "xxxxx"
  • Cohorts are not being used when xxxxxx
  • Adding request filters seems to be broken

when:

  • selected events are deselected when xxxxx
  • xxxxx appear as modified when opening
  • Getting data... is shown when no data is found
  • Wrong chart when splitting by xxxxx

happen:(多用在repro steps)

  • This seems to be happening across all our reports.

There be:

  • There are no xxxxx when just requests are selected
  • there's no selection for "xxxxx"
  • There is no feedback when saving report

Broken:

  • Adding request filters seems to be broken
  • time range dropdown in notebook is broken
  • Sort by xxxx is broken in the grid control
  • SplitBy for some dimensions is broken

特定的XXX:

  • Open Users for a resource that only has custom events and requests.
  • Click on one of the Add these filters on any Request clusters.
  • open a report with custom time range
  • The settings popup is hidden behind the new ME chart in Edge

if/after:

  • Dropdown stuck after closing custom time range window
  • Charts are not refreshed after deleting xxx
  • Queries keep UX stuck if time range changed xxx

make:

  • clicking on xxxxx in filters makes it switch to "loading..."
  • Saved list items don't have tooltips which makes it impossible to read reasonable lenght names

3. 开bug的几个步骤

  1. 确定稳定重现的步骤
  2. 确定bug的几个关键因素 (发生什么页面,严重优先级,先决条件)
  3. 要是有先决条件,确定用什么 副词,when?if?或者什么重要的单词 Fail?Broken?Loading?should?There be?make?show?动名词作主语?
  4. 完成标题,保证动词/特定词汇的准确性,不要出现语法错误,分享两个网址,如何主动积累词汇学习如何积累词汇,批改网避免语法错误;
  5. 描述repro steps, 可参考上面的句子
  6. 可以补充期望是什么样子? 实际是什么样子? 要是不改可能会造成什么影响?
  7. 要是自己能定位问题,可以进行抓包,贴log,贴console,是哪一次PR导致错误;

本文希望对您有所帮助,如何问题可联系我的个人微信

写英文bug的经验总结的更多相关文章

  1. SCI&EI 英文PAPER投稿经验【转】

    英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...

  2. 架构师写的BUG,非比寻常

    部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...

  3. 没错,老板让我写个 BUG!

    前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动.这可是我特长啊:终于可以光明正大的写 bug 了

  4. 13 年的 Bug 调试经验总结

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  5. 13 年的 Bug 调试经验总结 【转载】

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug.最近,我回顾了我所有的194个条目(从13岁开始),看看有什么经验教训是我可 ...

  6. 13 年的 Bug 调试经验总结(来自蜗牛学院)

    在<Learning From Your Bugs>一文中,我写了关于我是如何追踪我所遇到的一些最有趣的bug. 最近,我回顾了我所有的194个条目,看看有什么经验教训是我可以学习的.下面 ...

  7. 嵌入式码农的10年Bug调试经验,值得一看

    下面这些都是我经历过的会导致难点bug的问题: 1.事件顺序.在处理事件时,提出下列问题会很有成效:事件可以以不同的顺序到达吗?如果我们没有接收到此事件会怎么样?如果此事件接连发生两次会怎么样?哪怕通 ...

  8. 捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?

    摸不了鱼了 2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班.刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理 ...

  9. 脚本写一行echo也能写出bug ? glob了解一下

    背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...

随机推荐

  1. hdu1845(a^b的因子和%p)

    题目链接:http://poj.org/problem?id=1845 思路: 1.整数唯一分解定理: 任意正整数都有且只有一种方式写出其素因子的乘积表达式. a=(p1^k1)*(p2^k2)*(p ...

  2. 从100PV到1亿级PV网站架构演变(转)

    http://www.linuxde.net/2013/05/13581.html 一个网站就像一个人,存在一个从小到大的过程.养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原 ...

  3. linux中sigsuspend和pause的区别

    pause和sigsuspend都是用于等待信号的发生 简单的说,sigsuspend = unblock + pause sigsuspend 函数是用于需要先接触 某个信号的阻塞状态 然后等待该信 ...

  4. Scene is unreachable due to lack of entry points and does not have an identifier for runtime access via -instantiateViewControllerWithIdentifier解决办法

    使用Storyboard时出现以下警告: warning: Unsupported Configuration: Scene is unreachable due to lack of entry p ...

  5. angularJs增加行的操作

    <!-- 编辑窗口 --> <div class="modal fade" id="editModal" tabindex="-1& ...

  6. DataGrip 使用--方法-..../

    tip1: 关键字 自动 大写--

  7. C语言中结构、联合、枚举的说明

    复杂的数据类型 一般的步骤: 1.声明模板 2.定义变量,分配内存空间 3.初始化 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  8. 数据层——ImageData层

    layer { name: "data" type: "ImageData" top: "data" top: "label&qu ...

  9. hdu 6287

    选出来比较合适的博客 https://blog.csdn.net/Tony5t4rk/article/details/80490711 https://blog.csdn.net/Game_Acm/a ...

  10. oracle count(*) 和count(列)性能

    一直以为oracle中count(列)比count(*) 快,这篇文件解释了一下: http://blog.csdn.net/szstephenzhou/article/details/8446481