缺陷报告的有效性

写过软件的人,大概都收到过很糟糕的缺陷( bug)报告,特别来自用户的报告,而不是专职的测试人员的报告,例如:

●在报告中说“不好用;

●所报告内容毫无意义;

●在报告中没有提供足够的信息;

●在报告中提供了错误信息;

●所报告的问题是由于错误的操作而产生的;

●所报告的问题是由于其它程序的错误而产生的;

●所报告的问题是由于网络错误而产生的;



这便是为什么“技术支持” 被认为是一件可怕的工作,因为有拙劣的 bug 报告需要处理。我非常希望每一个人在报告 bug之前都读一下这篇短文,当然我也希望用户在给我报告 bug 之前已经读过这篇文章。


缺陷报告的有效性

5. 出了问题之后,我做了……

当一个错误或 bug 发生的时候,您可能会做许多事情。但是大多数人会使事情变得更糟糕。有人误删了所有的 Word 文件,在找人帮忙之前他重装了 Word,又运行了一遍碎片整理程序,这些操作对于恢复文件制造了巨大的麻烦,因为这些操作搞乱了磁盘的文件区块。如果她不做任何操作,或许还有一线希望。

  

当程序出毛病的时候,立刻停止正在做的任何操作,仔细地看一下屏幕,注意那些不正常的地方,记住它或者写下来。学着养成一种条件反射——一旦电脑出了问题,先不要动。关掉受影响的程序或者重新启动计算机都不好,最好是能保护“出错”的现场。

  

6. 我想粒子的跃迁与错误的极化有关

并不只是非专业的用户才会写出拙劣的 bug 报告,我见过一些非常差的 bug 报告出自程序员之手,有些还是非常优秀的程序员。

  

有一次我与另一个程序员一起工作,他一直在找代码中的 bug,他常常遇到一个 bug,但是不会解决,于是就叫我帮忙。「出什么毛病了我问。而他的回答却总是一些关于 bug 的意见。如果他的观点正确,那的确是一件好事。但事实上他常常是错的。这就会使我们花上半个小时在原本正确的代码里来回寻找错误,而实际上问题出在别的地方。

  

我敢肯定他不会对医生这么做。「大夫,我得了 Hydroyoyodyne 病,给我开个方子」,人们知道不该对一位医生说这些。您描述一下症状,哪个地方不舒服,哪里疼、起皮疹、发烧……让医生诊断您得了什么病,应该怎样治疗。否则医生会把您当做疑心病或精神病患者打发了。

  

做程序员也是一样。即便您自己的「诊断」有时真的有帮助,也要只说「症状」。「诊断」是可说可不说的,但是「症状」一定要说。同样,在 bug 报告里面附上一份针对 bug 而做出修改的源代码是有用处的,但它并不能替代 bug 报告本身。

  

测试人员多动动脑筋对程序员的工作是有帮助的。即使您的推断是错误的,程序员也应该感谢您,至少您想去帮助他们,使他们的工作变得更简单。不过千万别忘了报告「症状」,否则只会使事情变得更糟。


7. 真是奇怪,刚才还不好用,怎么现在又好了/span>

间歇性错误」着实让程序员发愁,也就是我们经常说的,缺陷发生频率不是100%。但大多数「间歇性错误」并不是真正的「间歇」,其中的大多数错误与某些地方是有联系的,只是不知道这些地方(引起bug的错误代码)。有些错误可能是内存泄漏产生的,有些可能是空指针造成的,有些是在特定条件下产生的。

  

同样,如果您能使 bug 重现,而程序员不能,那很可能程序运行的各自环境(如计算机配置、已安装的软件等)是不同的,这种不同引起了问题。

  

程序员想要了解任何与您发现的问题相关的事情。有可能的话,到另一台机器上试试,多试几次,两次,三次,看看问题是不是经常发生。如果问题出现在一系列操作之后,不是想让它出现它就会出现,这就有可能是长时间的运行或处理大文件所导致的错误。程序崩溃的时候,要尽可能的记住都做了些什么。

  

最重要的是:程序员想要确定他们正在处理的是一个真正的「间歇性错误」呢,还是一个在另一类特定的计算机上才出现的错误。他们想知道有关您计算机的许多细节,如程序的版本、操作系统的版本……


小结:

●bug 报告的首要目的是让程序员亲眼看到错误。如果您不能亲自做给他们看,给他们能使程序出错的详细的操作步骤。

  

●如果首要目的不能达成,程序员不能看到程序出错。这就需要bug报告的第二个目的来描述程序的什么地方出毛病了。详细的描述每一件事情:您看到了什么,您想看到什么,把错误消息记下来,尤其是「错误消息号」。

  

●当您的计算机做了什么您料想不到的事,不要动!在您平静下来之前什么都别做。不要做您认为不安全的事。

  

●尽量试着自己「诊断」程序出错的原因(如果您认为自己可以的话)。即使做出了「诊断」,您仍然应该报告「症状」。

  

●如果程序员需要,请准备好额外的信息。如果他们不需要,就不会问您要。他们不会故意为难自己。您手头上一定要有程序的版本号,它很可能是必需品。

  

●详细。信息宁多毋少!如果您说了很多,程序员可以略去一部分,可是如果您说的太少,他们就不得不回过头再去问您一些问题。

  

●慎用代词。诸如「它」,「窗体」这些词,当它们指代不清晰的时候不要用。

  

●检查。重新读一遍您写的bug报告,您觉得它是否清晰果您列出了一系列能导致程序出错的操作,那么照着做一遍,看看您是不是漏写了一步。

  

●总的来说,最重要的是要做到精确、表述清楚,确保您的意思不能被曲解。如果做相同的事情有两种方法,请说明您用的是哪一种。

◆来源:图文来自网络,如有侵权请联系删除

缺陷报告的有效性 QQ群名片 缺陷报告的有效性

来源:魔都飘雪

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年11月8日
下一篇 2017年11月8日

相关推荐