【IT168技术文章】发布后bug的数量和严重性,是评估软件质量、测试工作质量的重要依据。
我们首先需要对遗漏bug的原因进行分类分析。遗漏bug的原因分为两个方面:一是引起bug的根本原因,二是bug遗漏的原因。我们分别说明一下这两个方面的分类。
首先是bug的根本原因(Root Cause),这指的是在软件开发过程中,是哪个过程引起了bug,通常的分类有:
需求分析
设计(还可以细分为数据库设计、页面设计等等)
编码
部署(例如数据库升级)
其他
这里没有“测试”,原因是测试这个过程一般是不会引起bug,如果有的测试人员引起了bug,那一般是测试人员参与了其他的过程。
总之,这样的分类方法是按照开发过程为标准,我们还可以根据实际情况添加一些别的分类。
第二种原因是“遗漏”的原因,这指的是为什么在发布前,测试人员没有把bug找出来,这和缺陷的根本原因是完全不同的。其实遗漏的原因我们可以归结于:测试没有覆盖相应的用例。我们分类的依据是:为什么没有覆盖。基本的分类有:
测试遗漏
测试用例未设计
测试用例被裁减
测试环境不同
其他
下面我们说明一下这几个分类的不同。测试遗漏指的是测试用例已经设计好了,也确定要执行,但是测试人员因为粗心等原因,没有执行用例,这是一个比较严重的失误。测试用例未设计指测试人员根本没有考虑到,应该这样测试,通常是因为经验不足,或者对系统不了解等技术问题;测试用例被裁减指测试用例已经设计好,但是由于时间、人手等资源不足,不得不选择放弃执行一部分用例,这样选择必然会面临一定的风险,这在日常的测试中比较普遍。测试环境指在测试环境中没问题,但是在生产环境里有,原因是测试环境没有完全模拟生产环境。
按照这些分类进行统计,只是第一步,我们还可以把数量比较多的类型再进行细分,从而发现bug的深层原因,指导我们的过程改进。在这个基础上,我们还需要分析每个bug的详细原因,丰富我们的知识库。