8.2.1报告缺陷就像写新闻

发表于:2007-06-12来源:作者:点击数: 标签:
8.2.1报告缺陷就像写新闻 凯列班有个故事讲的是他最喜欢的缺陷。故事大概是这样的: 我一个月前在实验室中发现了这个缺陷,然后报告了它。没有人注意到;所以在优先分配中,他们把它标记为被“推迟”。上个星期我们最大的客户也发现了它,突然之间,这个缺陷

8.2.1报告缺陷就像写新闻

凯列班有个故事讲的是他最喜欢的缺陷。故事大概是这样的:

我一个月前在实验室中发现了这个缺陷,然后报告了它。没有人注意到;所以在优先分配中,他们把它标记为被“推迟”。上个星期我们最大的客户也发现了它,突然之间,这个缺陷就引发了一场危机。现在,我们需要交付一个维护版本,这就意味着我要整个周末都呆在实验室里检查所做的修复。为什么他们在我第一次报告的时候没注意到这个缺陷呢?

真正的原因是什么呢?最常见的原因就是缺陷报告写得不清楚,没有把影响充分传达给优先分配小组,所以所报告的缺陷被关闭了。凯列班的经理普洛斯彼罗对于凯列班的故事则有着不同的看法:“为什么凯列班不能把他的缺陷报告写得清楚些,足以让团队能够对它们有所行动呢?”(因此,和前面一样,普洛斯彼罗在他的下一个项目中没有选择凯列班。)

从凯列班的经验中得出的教训可以用Kaner、Bach和Pettichord的名言来总结:

你的主张驱动你所报告的缺陷的修复

你所写的任何一个缺陷报告都是一个呼唤修复此缺陷的宣传文档。

有的缺陷永远也不会被修复。你的责任不是去保证所有的缺陷都被修复了。你的责任是以一种能让读者理解问题全部影响的方式精确地报告缺陷。

你研究得好不好,报告写得好不好,这些通常都会对缺陷修复的概率有着很重大的影响。

详细描写缺陷就像是写新闻报道(或者网页)。它是新闻学。标题就像是头条新闻,你应该希望大多数读者从来也不看“下面的内容”。新闻记者的6个基本问题:什么、哪里、怎么、谁、为什么和什么时候,需要在一两句摘要中都能覆盖到。

了解你的读者

你的缺陷报告的第一个读者就是优先分配小组(优先分配已经在第4章中讨论过)。他们会看到一个看起来像图8-4那样的查询。

 



图8-4要持续关注读者在优先分配时看到的是什么。读者所看到的并不是所有的细节,他们仅能看到那些适合查询结果列表的内容。你应当根据缺陷的显示格式编写缺陷

优先分配小组中包括了项目中最忙的人。通常他们都只花不到1分钟的时间来评审每个缺陷(每日进行优先分配的一个重要原因就是为了保持列表的长度,从而使每个工作项都能获得它们所应获得的关注)。在那个时候,你的缺陷报告的命运也就注定了和凯列班的缺陷报告的命运一样。如果凯列班能够在缺陷报告的质量上再多花一点时间的话,他的工作价值(和他的绩效打分)就能提高很多。

从历史中学习

阅读缺陷报告,尤其是在它们已经被优先分配之后阅读它们,是向你的项目和读者学习的一个好办法。优先分配的审计会议是另一个方法,你了解到在实践中什么对于涉众是重要的。下面是一些在使用你的缺陷数据库时的提示:

·执行你感兴趣的缺陷的重现步骤。这是一个很好的方法,你能够从中学习到受测软件的一些更有趣的情形(还能学习如何编写清晰的步骤)。

·阅读注释,注意其他团队成员是如何回答缺陷报告的,从中学习他们认为什么重要以及如何改进你的报告风格。

·研究已关闭的缺陷报告,注意从缺陷报告的方式来看,哪些缺陷被修复了,哪些缺陷没被关闭,基于它们被报告的方法。如果希望你的缺陷也被修复,那么就要像历史上的那些得到修复的缺陷那样报告缺陷。

·如果你在做一个已有的解决方案,应该阅读技术支持日志,查看其中记载的应检查的错误和支持你的缺陷的故事。

SOAP:一个来自医学的类推

软件领域借用了医疗实践中的“优先分配”这一术语,因此看一下它用于医疗时的情景也是合适的。医学人士掌握了一个描述临床报告的首字母缩写SOAP(它与Web服务无关)。这是从马里兰大学药学学校的医学课程提纲中的摘录:

对于每个病人……护理问题(一个或多个),应写进展注释(以SOAP格式),并且应包括以下内容(参见图8-5)。

 



图8-5在思考表格和健康交谈历史的字段时,SOAP记忆法是个有用的方法。标题(Title)和症状(Symptom)是主观信息(S);发现的构建版本(Found In \[Build\])、发现的环境(Found-in Environment)和重现步骤(Steps to Reproduce)等字段是客观信息(O);优先级(Priority)、严重程度(Severity)、区域路径(Area Path)和根本原因(Root Cause)是评估(A),而迭代(Iteration)和修复(Fix)是计划(P)

主观(Subjective)信息:支持所确定的问题的主观信息;

客观(Objective)信息:支持所确定的问题的客观信息;

评估(Assessment):对于问题的评估,包括病源、严重性、当前治疗的高效性/毒性、治疗学上替代方案的列表、每个方案(治疗学上和经济上)的优点和缺点的讨论以及推荐的根本原因;

计划(Plan):对所确定的问题进行管理的计划,包括实现和后续对问题的监控和治疗学响应的特定大纲。

好工匠会观察其他好工匠(包括其他学科的工匠)做什么。在你报告缺陷和评审缺陷报告时,SOAP是一个应当使用的好模型。让我们看一看VSTS在用于CMMI过程改进的MSF中所提供的标准缺陷报告表单。



回书目   上一节   下一节

原文转自:http://www.ltesting.net

...