1、术语解释

测试程序:提供给测试组测试的程序;

测试计划:对测试程序(构件、应用程序、系统等)及其目标进行简要说明;

测试bug:不符合测试需求的错误,也是缺陷;

错误跟踪系统:是某个程序或应用系统,使得项目组可以报告、管理以及分析错误报告和错误趋势,如Rational ClearQuest是一个错误跟踪系统

2、为什么要提交bug

在得到一个详尽的测试程序后,剩下的工作是执行测试计划了。但是由于任何由人编写的程序都不可避免的存在着不符合测试需求的错误,也是bug。因此需要一个方法来跟踪、分析和展示那些测试活动,避免偏离小。这种方法称之为错误跟踪系统。它主要是有效的管理缺陷,实现以下作用:

1)减少由于缺陷报告不明确而被开发组驳回的情况;

2)加快缺陷的处理速度;

3)提高测试的可信度;

4)加强测试组与开发组在整个项目过程中的团队合作

3、如何才能提交好的测试bug

在有些组织里,程序员几乎会把一半的测试bug返回给测试组,因为那些错误不可再现、没有发现错误、同设计要求一致,或者错误报告根本无法操作。如果错误报告有如此高的返回率,基本可以认为是过程崩溃,需要立即解决:因为编写这些报告浪费了时间;会影响程序员和测试人员之间的团队凝聚力;糟糕的是失去改进产品质量的机会。

有些错误总是不可再现的或提出质疑的。有些错误只是间断地在模糊的或极端的条件下表现出来。有时候,测试环境和程序员之间的不一致会导致“在我的系统上工作良好”的反应。在需求不清楚的项目中,在一定的测试条件下,对“正确”行为的观点可以存在合理的不同。有时候,当真正的问题在于糟糕的测试过程、测试数据或不正确的测试用例时,测试人员可能错误解释测试测试结果和报告错误。

为了防止这类问题,要提交好的测试bug,作为一个好的测试人员,必须遵循以下八个步骤:

1) 结构:无论你是做探索性的或是描述性的、手工的或自动的测试,都要认真仔细的测试;

2)再现:尽量三次再现故障。如果问题是间断的,那么好报告问题发生的概率;例如,每3次出现一次,每3次出现2次等;

3) 推广:确定系统其他部分是否可能出现这种错误,以及使用不同的数据是否可能出现这种问题,特别是那些存在严重影响的问题。

4)总结:简要描述客户或用户的质量体验和观察到的一些特征。

5)压缩:精简任何不必要的信息,特别是冗余的测试步骤。

6)去除歧义:使用清晰的语言,尤其要避免使用那些有多个不同或相反含义的词汇。

7)中立:公正地表达自己的意思,对错误及其特征的事实进行描述,避免夸张或忽略的语句,引起过度的注意力或忽视。

8)评审:至少有一个同行,好是一个有经验的测试工程师或测试经理,在你提交测试报告或测试评估报告之前先自己读一遍。

好的测试bug描述是告诉读者测试人员发现了什么,而不是测试人员做了什么。因此只需要根据上述八个步骤写下少的必需重现步骤。