测试结果分析与改进
当(阶段)测试结束后,测试管理人员可以进行测试成果的分析。有关预定目标与实际执行结果的差异,可作为下一版软件测试检讨改进的依据。譬如预定开立的测试个案数是否达成目标,执行与通过数是否可接受?投入的测试甚至除错人力是否足够?均可视状况计算依标准工作量,作为未来执行测试工作之预估标准。经由分析软件错误的生命周期,可以研究缩短的方法,例如加速除错与重测周期,或在分析设计阶段减少错误发生的机率,以缩短测试时程。
由测试结果可分析出不同测试的效益,与应改进之处。以下表为例。单元测试耗用大部份的人力,可能使整合与系统测试不完全。再以发现的错误数观之,整合测试发现一个错误的成本远低于另两项。由此可见在有限的人力时间下测试,单元测试做得太多,整合测试又太少。此意谓着对于单元测试所需耗用的人力资源过度乐观,或是在测试工作的配置不尽理想,应予改进。
测试人力时数 | 测试人力分布比率 | 错误个数 | 错误分布比率 | 平均时数/错误数 | |
单元测试 | 227.104 | 58.6% | 49 | 39.51% | 4.635 |
整合测试 | 87.212 | 23.3% | 54 | 43.55% | 1.615 |
系统测试 | 70.184 | 18.1% | 21 | 16.94% | 3.342 |
合计 | 384.5 | 100% | 124 | 100% | 3.2 |
除了以上的测试成效分析。如行有余力时应再对错误发生的原因加以分析,力求从问题的根源加以解决。这包含测试工作的改进与开发工作的流程改进。以前者而言,可考虑对测试人员施以较充分的训练,避免测试工作因准备不周浪费宝贵的人力与时间。测试标准程序的建立,也有助于测试工作效率的提升。至于后者,可由错误发生的原因研究预防之道。例如对需求变更未确实记载,导致设计错误的问题发生,或是软件的设计未加充分的考虑再撰写程序,导致设计不良造成的大量错误,均应加以预防,如此可望从根本解决软件的问题。
结语
欲提升软件品质与生产力,得先掌握现况。测试工作既是必要之恶,就需拟定最好的方法来面对。有关软件测试方法论的书籍文章为数固然不少,在应用上仍须因应自身的情形加以调整。品管大师戴明认为:获得好品质不能靠检验,而是来自改善工作流程。因此,测试工作只是一项起步。如何藉由测试工作,了解改善软件品质与生产力之道,才是我们追求的目标。愿祝各位软件品质的捍卫者,在工作岗位顺利前进,为测试工作赢得荣耀,更为你们的成功产品喝采。