软件能否交付?让测试数据来回答
软件开发完成后何时能够交付,不仅取决于用户提出的交付节点(或者市场的需求),更重要的是看软件的质量是否满足要求。
而软件的质量可以通过测试的质量来回答。
以下两个测量指标可以提振我们交付软件的信心。
测试的充分性
如果软件测试是充分或者是有效的,那么软件中的大部分缺陷都已经被发现,遗留在软件中的缺陷数量会很少,这也就意味着软件的产品质量较高,软件交付后不会出现太多问题。
所以如果我们确认软件的测试是充分或者是有效的,那么我们的软件就是可以交付的。
为了度量测试的充分性,我们可以使用以下几个测量项:
测试用例执行率。
测试执行的需求覆盖率。
测试发现的缺陷密度。
测试发现的缺陷按触发原因分类。
缺陷发现数量的收敛情况。
测试执行的需求覆盖率表征测试用例的设计质量,测试用例执行率表征测试用例的执行质量,一般都会要求这两个测量只为100%,以表明测试用例的设计和执行情况都比较好。
测试发现的缺陷数量在整个测试过程中呈现正态分布,当测试结束时测试所发现的缺陷数目应当是处于收敛的状态,这才意味着此时的测试可以终止,测试是充分的。
对发现缺陷的触发原因进行分析,同样可以辅助确认测试的充分性。比如,如果缺陷的触发类型呈现多样性,说明测试类型比较全面。
对于测试的缺陷密度,我们通常会将其与组织的测试性能基线进行比较,只有在组织测试性能基线范围之内的测试缺陷密度,我们才会认为这样的测试是充分和有效的。
产品发布准则
如果说测试的充分性能够建立我们对软件质量的信心,那么产品发布准则就是更直接的衡量软件能否交付的指标。
我们可以使用以下几个指标作为产品发布的准则:
测试用例执行通过率达到98%。
未解决的缺陷中没有严重程度为1的缺陷(严重程度1为最严重的缺陷)。
未解决的缺陷权重小于55:(严重程度为2的缺陷数×3 + 严重程度为3的缺陷数×2 + 严重程度为4的缺陷数×1)< 55。
其中测试用例执行通过率越高,在我们好的测试用例设计的前提下,表明软件的质量水平较高。而且遗留的缺陷中没有最严重的缺陷,缺陷的水平也处于较低的水平。
总之,交付软件不能仅仅因为交付节点到了或者已经完成了测试就能够进行,而是要让测试数据来回答是否能够交付。
这正是:
软件是否能交付,质量要能靠得住
不能全凭感觉走,指标数据要满足
参考书目:软件测试管理,作者:郑文强,马均飞,出版社:电子工业出版社