如图9-3所示,在18个无效缺陷里,重复缺陷占比例高,其次是用法错误。所以要进一步了解造成重复缺陷比例高的原因并予以改进。例如,可通过一些方法来提高测试团队之间的沟通,来有效降低重复缺陷。但有些重复缺陷是很难避免的,尤其是那些显示不同错误信息,但造成问题的代码是相同的缺陷。这些缺陷在很多测试专家眼里可以认为是有效缺陷。

  用法错误的无效缺陷,在测试过程中应该尽量避免。这要求测试人员要对测试案例有正确的理解而避免不必要的用法错误。另一方面,有些用法错误的缺陷可以转换成提高实用性的有效缺陷。

  例如,小艾在安装测试时安装失败,小艾认为是安装代码的问题而报告了这个缺陷。开发人员在经过调查后发现是小艾不小心输入了错误的数据库密码而导致安装失败,认为是用法错误而返回缺陷。小艾咨询了安装测试负责人,安装负责人认为虽然是测试人员用法错误,但从使用性上来讲,客户会遇到相同问题,产品应该能够在客户输入错误密码时提示客户,并禁止进一步安装。终,开发人员接受了安装负责人的建议并修改了代码。而小艾所开的缺陷也成为提高使用性的有效缺陷。

  2、按严重性分析缺陷

  缺陷按问题的严重程度分为以下几个等级。

  一级严重:是指缺陷造成整个应用或功能不工作,从而导致产品不能交付。

  二级严重:是指缺陷造成功能输出结果错误。

  三级严重:是指缺陷造成功能没有按预期方式实现。

  四级严重:是指功能上需要加强。

  在测试过程中,一级和四级严重缺陷应占比例较少,二级和三级严重缺陷比例应该占大多数。这是因为大部分一级严重缺陷在开发过程的单元测试中应该被发现和解决,而不应该流入到测试流程。

  如图9-4所示,一级严重缺陷占39%,二级严重缺陷占33%,三级严重缺陷占21%,四级严重缺陷占7%。在此图中,可以发现一级严重缺陷的比例偏高。需要分析一下为什么会出现这种状况,是否有些缺陷应该在开发过程的单元测试中发现。应该把分析结果反馈给相关开发人员,并共同完善单元测试的测试范围,尽量让一级严重缺陷在早期发现并修复。