前面讲过:测试计划、测试用例、测试工具、测试体系结构、测试覆盖度量,以及相对稳定的测试系统,有了这些内容,作为测试经理或测试项目负责人仍然不能放松。你需要收集执行数据,调整优先级,适应项目变化。由于数据和变化太多,需要一定的方法进行跟踪测试结果和各种变化。
1、错误跟踪系统
描述错误会花费很多时间,但描述不清楚或不做描述,将使测试可能带来的质量完善无效。因此使用错误跟踪系统使交流变得容易。
1)编写良好的、标准化的错误报告,比形式随意的邮件、对话等效果好。
2)如果使用数据库错误跟踪系统,可以方便地进行统计和分析。
3)可以排定优先级来决定修改顺序,相关部门和人员参与决定这一问题。
4)在软件生存周期内跟踪错误修改情况,防止遗漏。
5)可以分析错误发展趋势。
6)把未解决的问题及早通知技术支持人员,便于他们开展工作。
2、故障描述
故障描述一般包括三部分,概要陈述、再现步骤和隔离尝试。
概要陈述:简洁陈述、切中要害,能够吸引读者。使用一两句话来描述错误,给客户或系统用户留下深刻印象。之所以称作陈述是因为说明的事项不应包含猜测。
再现步骤:对于如何再现故障提供准确描述。再现步骤要求简明但完全,不含糊且准确。该信息作为开发人员调试的第一步,再现问题。如果错误是经多步才可能出现,就有不出现的可能性,改变环境可能使问题不复现。例如从测试实验室转到开发实验室。一般认为,验错需要重复以上步骤3~4次,并至少有2次观察到错误发生,这样进行描述的错误报告才比较可靠。包含了不出现的情况,说明问题的层次深,对程序的逻辑结构、系统环境影响等尚不能完全确定。
隔离尝试:说明为了影响程序行为,测试人员尝试了哪些改变。系统表现如何。此处可以解释做某种隔离尝试的理由,可以包含猜测。一般来说这一步是开发测试与最终验收确认测试或第三方验收确认测试的差别。最终验收确认测试或第三方验收确认测试一般只关注测试结论:与用户需求规格说明等是否相符、差别程度如何?不关注错误原因及缺陷细节:需求分析错误、设计错误还是编程错误?错在哪里?
1)错误报告描述风格
错误应当时记录,如果熟悉错误报告的风格,就不会漏掉应该记录的细节;如果事后再回想再现步骤,可能难以清楚表述;如果再重新测试,可能执行环境和前提条件已经发生了变化。这样等于浪费时间。如果错误发生了变化,说明原来的测试覆盖不完整。
好的错误报告告诉读者测试人员发现了什么,而不是测试人员做了什么。
防止过于简单,含糊不完整;也要防止概要陈述散乱,步骤冗余,缺乏隔离。
2)编写错误报告的十个步骤
(1)测试方式:无论你做探索性或依据描述性用例的、手工的或自动的测试,都要认真仔细地测试。
(2)再现:一般再现三次,说明测试几次再现了三次。
(3)隔离:确定可能影响再现的变量,例如配置变化、工作流、数据集,说明它们如何改变错误的特征。
(4)推广:确定系统其他部分是否可能出现这种错误,与隔离结合确定是否存在更严重的问题,注意错误集中现象是否存在,及同一个开发者的错误相似,他/她开发的模块容易出现类似的错误。