本文链接: 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. 最长双回文串——manacehr

    题目 [题目描述] 顺序和逆序读起来完全一样的串叫做回文串.比如 acbca 是回文串,而 abc 不是(abc 的顺序为 “abc”,逆序为 “cba”,不相同).输入长度为 n 的串 S,求 S  ...

  2. Linux串口参数设置

    linux串口编程参数配置详解 1.linux串口编程需要的头文件 #include <stdio.h>         //标准输入输出定义#include <stdlib.h&g ...

  3. java web 简单的权限管理

    spring ,springMvc ,mybatis 简单权限管理 其实只需要3张表..admin_group  ,function,group 表

  4. fsockopen函数被禁用的解决方法

    判断fsockopen 是否可用:function_exists('fsockopen');如果没有开启 一.开启fsockopen函数 修改php.ini,将 disable_functions = ...

  5. P4332 [SHOI2014]三叉神经树(LCT)

    Luogu4332 LOJ2187 题解 代码-Tea 题意 : 每个点有三个儿子 , 给定叶节点的权值\(0\)或\(1\)且支持修改 , 非叶子节点的权值为当有\(>=2\)个儿子的权值为\ ...

  6. Kibana6.2.x 插件理解

    官方地址:https://www.elastic.co/guide/en/kibana/current/development-uiexports.html Type Purpose hacks An ...

  7. IIS Express被局域网访问

    在 文件夹 C:\Users\administrator\Documents\IISExpress\config 下面 applicationhost.config 文件里 找到相应的项目 如 < ...

  8. shell入门基础必备

    作者:KornLee 2005-02-03 15:32:57 来自:Linux先生    1.建立和运行shell程序   什么是shell程序呢? 简单的说shell程序就是一个包含若干行 shel ...

  9. restframework CBV试图的4种方式

    day100 上节回顾 1 APIView流程 2 序列化组件(restframework) 1 # 自定义序列化组件 class BookSerializers(serializers.Serial ...

  10. python+splinter实现12306网站刷票并自动购票流程

    python+splinter实现12306网站刷票并自动购票流程 通过python+splinter,实现在12306网站刷票并自动购票流程(无法自动识别验证码). 此类程序只是提高了12306网站 ...