编写优秀Bug报告的艺术及案例分析
编写优秀Bug报告的艺术及案例分析
---Rex Black原著《Fine art of writing a good bug report 》
---Kiki翻译于2005/5/28
- 组织Structure:测试人员应该采用深思熟虑的,小心谨慎的方法执行测试,并且做详尽的记录。这样可以促使他们对测试下的系统有很好的认识。当错误发生的时候,一个有组织的测试人员能够知道最早出现问题的地方。
- 重现Reproduce:测试人员在编写bug report之前必须在检查问题是否可重现。如果错误不可再重现,仍然应该写下来,但是必须说明问题的偶然性。一个好的处理原则就是在编写bug report之前反复尝试3次。
- 隔离Isolate:在尝试编写bug report之前,必须试着隔离错误。可以采用改变一些变量的方法,如系统的配置,它可能可以改变错误的症状。这些信息可以为开发人员着手调试提供思路。
- 归纳Generalize:在测试人员发现了一个已隔离的,可重现的问题后,应该对问题进行归纳。同一个问题是否出现在其他的模块或其他的地方?同一个故障是否有更加严重的问题?
- 对比Compare:如果测试人员以前曾经验证过现在出错的测试用例,那么他就应该检查以前的测试结果以检查相同的条件是否通过以前的测试。如果是的话,那么这个问题就象是一个回归的错误。注意由于同一测试条件有可能出现在多个测试用例中,这个步骤就不仅仅只是检查一个测试用例在以前的多个结果。
- 总结Summarize:在bug report的第一行写上错误的总结是非常关键的。测试人员要花些时间思考已发现的错误对客户有何影响。这不仅仅要求测试人员编写的报告要能够吸引读者,使和管理层的沟通清晰,还要能够帮助设置错误修复的优先级别。
- 精简Condense:在bug report的初稿完成后,测试人员应该反复阅读它,集中剔除那些没有关系的步骤或词语。隐含的或模糊的说明和那些由于对没有任何关系的细节或者那些在重现错误过程中不需要的步骤而消磨报告欢迎程度的无穷唠叨都不是bug report的目标。
- 消除歧义Disambiguate:测试人员在精简空话的同时或其之后随即应该再仔细检查报告是否有会产生误解的地方。测试人员应该尽量避免使用模糊的,会产生歧义的和主观的词语。目标是使用能够表述事实,清楚的,不会产生争执的词语。
- 中立Neutralize:如文中所述,作为坏消息的传递人,和善地提交消息是一个挑战。如同所有的错误总结一样,独立的bug report在措辞方面应该保持公正。攻击开发人员,指责潜在的错误,企图诙谐或使用挖苦将引起开发人员的憎恶,并且使注意力从“提高产品质量”这个大的目标上转移开了。谨慎的测试人员只用Bug report来描述事实。
- 检查Review:一旦测试人员感觉bug report是他能够编写的最好版本,他应该将报告再给一个或多个同行进行检查。他的同事们也应该给出一些建议,为了澄清问题不断地提问,如果适当的话,甚至可以挑战“错误成灾”的结论。在允许的时间里,测试小组应该尽可能提交最好的bug report。
Good |
Bad |
概要(Summary)
Arial, Wingdings和 Symbol字体破坏了新文件。
重现问题的步骤(Steps to Reproduce):
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中4行文字,点击字体的下拉菜单,选择Arial.
4. 所有的文字转变成了控制字符,数字和其他一些二进制的数据.
5. 尝试了3次,每次都可以重现这个问题。
隔离(Isolation)
这个问题是新出现在build 1.1.018;相同的测试用例是在builds 1.1.007 (System Test entry) 和 1.1.017中通过测试的.
使用Wingdings和Symbol字体也可以重现这个问题,但Times-Roman, Courier New和Webdings字体都没有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
|
在格式一些文字成Arial字体时,我创建的新文件中所有的内容被毁坏了。 |
Good |
Bad |
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2. 然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
|
在格式一些文字成Arial字体时,讨厌的bug捣毁了我创建的新文件中所有的内容,浪费了我的时间。 |
Better |
Good |
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下。
|
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2. 然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
这个问题在Solaris下没有出现。
|
Better |
Good |
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下。
|
Better |
Good |
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试.
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
Better |
Good |
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
Better |
Good |
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中文字,点击字体的下拉菜单,选择Arial.
4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,浪费了用户的时间.
5. 尝试了3次,每次都可以重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下。
|
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 我打开 SpeedyWriter编辑器, 接着创建了一个文件。
2.然后我输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”, 每次采用bold, italic, strikethrough, 和underline不同的效果。
3. 我选中了文字,点击字体的下拉菜单,选择Arial。
4. 这个讨厌的bug把所有的文字变成了毫无意义的垃圾,浪费了用户的时间。
5. 我尝试了3次,每次都能够重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。我保存此文件再关闭它,然后再重新打开,这个错误还是存在。
如果在未将文字变成“Arial”之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下。
|
Better |
Good |
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中4行文字,点击字体的下拉菜单,选择Arial.
4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,包括控制字符,数字和其他一些二进制的垃圾数据,浪费了用户的时间.
5. 尝试了3次,每次都可以重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
|
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中文字,点击字体的下拉菜单,选择Arial.
4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,浪费了用户的时间.
5. 尝试了3次,每次都可以重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下。
|
Better |
Good |
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中4行文字,点击字体的下拉菜单,选择Arial.
4. 所有的文字转变成控制字符,数字和其他一些二进制的数据.
5. 尝试了3次,每次都可以重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,不会产生这个错误。
这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
|
概要
Arial, Wingdings和 Symbol字体破坏了新文件
· 重现问题的步骤:
1. 启动SpeedyWriter编辑器, 接着创建了一个文件.
2. 输入了4行文字, 每次重复输入“The quick fox jumps over the lazy brown dog”,
3. 选中4行文字,点击字体的下拉菜单,选择Arial.
4. 这个讨厌的bug捣毁了所有的文字,变成了一些毫无意义的垃圾,包括控制字符,数字和其他一些二进制的垃圾数据,浪费了用户的时间.
5. 尝试了3次,每次都可以重现这个问题。
隔离
这个问题是新出现在build 1.1.018的;相同的测试用例在builds 1.1.007 (System Test entry) 和 1.1.017中通过了测试。
相同地步骤下,Wingdings和Symbol字体同样也有这个问题。
基于模糊的猜测,这个可能只是一个关于格式化的问题。保存此文件再关闭它,然后再打开文件,这个错误还是存在。
在转换字体之前保存文件,将不会产生这个错误。
在已经存在的文件里,是不会产生这个错误。
这个错误只出现在Windows98平台下,在Solaris, Mac或其它地Windows平台下不出现这个问题。
|
编写优秀Bug报告的艺术及案例分析的更多相关文章
- 如何用 Robotframework 来编写优秀的测试用例
介绍 这篇文档将会是一篇在「高层面」的怎么用 Robotframework 来编写优秀测试用例的原则.至于如何使用 Robotframework 来与您的待测试系统相作用这样的细节讨论是不包含在这篇文 ...
- Bug报告提交规范
首先声明,bug的测试规范应该在公司的正式文档建立.本建议非正式文档,有些内容可能不正确,有些内容可能需要继续商榷,甚至有些内容同公司规范有冲突.如果发现问题,直接忽略本文相应内容.本帖本意仅就工作中 ...
- Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类
Mybatis环境搭建中的案例分析public static void main (String[] args) throws Exception { //读配置文件 //第一个: 使用类加载器,只能 ...
- 098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类
098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类 本文知识点:编写并测试Subject类 说明: ...
- 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类
099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...
- Approach for Unsupervised Bug Report Summarization 无监督bug报告汇总方法
AUSUM: approach for unsupervised bug report summarization 1. Abstract 解决的bug被归类以便未来参考 缺点是还是需要手动的去细读很 ...
- K米APP案例分析
关于 K米 -- 的案例分析 产品 K米的APP (全国KTV点歌,手机直播,互动,交友,预订)的Android客户端 第一部分 调研,评测 评测: 软件的bug,功能评测,黑箱测试 • 下载并使用, ...
- 《深入理解Java虚拟机》-----第5章 jvm调优案例分析与实战
案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU.16GB物理内存,操作系统为64位CentOS 5.4 , Resin ...
- [BUAA2021软工助教]案例分析作业总结
目录 一.作业链接 二.优秀作业推荐 A+作业推荐 A作业推荐 三.总结 所有案例分析总结 特色与优点 问题与建议 不同类产品案例分析Bug汇总 CSDN问答社区.Stack Overflow.Seg ...
随机推荐
- Xshell5 评估过期,需要采购,不能使用
Xshell5 评估过期,需要采购,不能使用 标签: Xshell linux 2017年10月10日 13:13:1029507人阅读 评论(9) 收藏 举报 版权声明:本文为博主原创文章,未经博主 ...
- Device Tree碎碎念
首先推荐elinux.org上一篇关于Device Tree的文章: http://elinux.org/Device_Tree_Usage 这是一篇关于Device Tree的入门文章.对英文犯怵的 ...
- Elasticsearch 5.2.x 使用 Head 插件连接不上集群
如果访问elasticsearch出现跨域的问题,如下: 修改elasticsearch.yml文件 vim $ES_HOME$/config/elasticsearch.yml # 增加如下字段 h ...
- C++标准模板库(STL)介绍:string的基本用法
1.带空格的字符串的输入 getline(cin, str)
- python3实现mysql导出excel
Mysql中'employee'表内容如下: # __Desc__ = 从数据库中导出数据到excel数据表中 import xlwt import pymysql class MYSQL: def ...
- C#DateTime好用但不常用的用法
获取某年的某一个月天数 DateTime.DaysInMonth(year, i);
- [转]一图读懂JVM架构解析
每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行.但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它.作为开发人员,了解JVM的架构是非常重 ...
- 使用jquery.mCustomScrollbar自定义滚动条(2)
参考博客:http://www.qianxingzhem.com/post-1602.html 接着上篇,另一个使用的例子,使用js来初始化滚动条,并且div中的内容可变化.需要调用相应的方法, 代码 ...
- 客户端负载均衡Feign之四:Feign配置
Ribbon配置 在Feign中配置Ribbon非常简单,直接在application.properties中配置即可,如: # 设置连接超时时间 ribbon.ConnectTimeout=500 ...
- 淘宝购买的“公网IP盒子”企业版存在很多问题
现在罗列了几点问题希望官方尽快能得到解决 1:不支持PPPoE拨号(必须让路由器先拨号后再用这个设备上网)2:不支持双线双IP接入3:配置界面不能设置密码(知道内网IP就可以进了)4:不能代理独立IP ...