|
尽管软件经过了测试员的测试,但是软件发布后,用户仍然会发现一些Bug,软件公司收到客户的质量抱怨,很多人士都将这一切错误怪罪到测试人员的工作疏忽,尽管这有一定的道理,但是,光让测试员自己“背黑锅”其实是有失公正的。
分析这些遗漏的Bug的特征,检查软件测试、开发、项目管理流程,可以在今后的软件项目中积累经验。
为什么软件测试后会遗漏Bug?主要来自以下四种情形:
(1)软件测试用例设计不完整,测试覆盖率不高。客户偶然执行了软件的某些操作,而这些操作没有被测试员测试到。
(2)测试员过分依赖程测试说明书,机械地执行测试。由于测试人员可能是新手,他们完全按照测试说明书执行测试,忽略了使用程序中输入变量的边界值进行测试,而用户正好使用了边界值进行操作。
(3)测试环境和用户的使用环境不一致。虽然在测试人员的测试环境中软件不会有错误,但是如果用户的使用环境与测试环境不一致,将会发现新的Bug。这在软件的离岸外包测试中经常出现。
(4)测试发现的软件Bug没有被正确处理。如果开发人员没有及时、正确地处理测试发现的Bug,忽略了一些Bug,而想当然地认为新的Build中这些Bug已经被修正了,就会带来Bug隐患。
针对以上遗漏Bug的特征,可以找出对应的防范措施,降低软件测试后遗漏Bug的风险。
(1)设计覆盖率高的测试用例。将客户最经常使用的功能写入测试用例,可以参照用户需求说明书创建测试用例。
(2)测试人员提高测试能力,既要测试输入变量的正常值,也要测试边界值和非正常值。采用等价类和边界值测试相结合的方法测试。
(3)保持测试环境和用户使用环境的一致性。用户需求说明书中通常包括软件的运行环境,测试环境应该保持一致,或者采用一些测试工具来模拟或仿真用户的使用环境。
(4)规范Bug的处理和跟踪流程。只有测试人员才有权关闭Bug跟踪数据库的Bug,开发人员只负责确认和修正Bug。在软件发布之前,确保满足发布条件,例如功能Bug全部被处理,其他Bug数量在发布条件允许范围内。
最后,由于软件测试是一种被动的软件质量保证活动,软件测试只能证明软件存在Bug,无法发现全部的Bug,而且由于测试时间、人员、成本的原因,软件测试的深度和广度都是有限的,软件测试后遗漏Bug属于预料之中。理解用户使用需求,加强测试用例设计,提高测试技术水平,优化Bug管理流程,将可以使软件测试后遗漏的Bug降低到最小程度。 |
|