● 测试文档的质量:一方面开发文档的质量会影响测试文档的质量,另一方面,测试文档的质量也会影响后续的测试执行的质量。测试文档包括测试计划、测试设计规格说明、测试用例规格说明、测试规程规格说明等。测试人员的技能水平和在项目相关领域的背景知识的不同,都会影响测试文档的质量,例如:测试计划中没有确定测试方法、测试技术和测试范围等,直接会影响测试估算的正确性和有效性。 ● 软件代码的质量:开发文档的质量和开发人员的技能、知识水平会影响软件代码的质量。而软件代码是测试过程中重要的测试对象之一,它的质量高低直接影响了测试的执行。如果代码质量很差,那么测试执行可能并不是原来计划中的一次,而会是多次。同时,差的代码质量也意味着其中存在较多的缺陷数目,从而会增加缺陷相关的确认测试和回归测试的工作量。 ● 测试对象中可能存在的缺陷数目以及后续的确认和回归测试的工作量,这个在测试估算过程中经常容易被忽视。测试执行过程中发现的缺陷在修改完成以后,需要测试人员进行确认测试和相关的回归测试;假如在测试计划中没有考虑这些测试活动,常常会降低测试估算的精度,从而导致测试后期的测试任务非常繁重。 (4)项目参与者 项目参与者包括项目系统人员、开发人员、测试人员以及管理人员等,是测试估算的重要输入。不同项目参与者的能力是不同的。在项目团队比较稳定的情况下,测试估算可以从该团队的历史信息中获得一些经验数据,从这些数据中可以得到测试组织的生产力水平和能力,例如:测试用例执行的速率(测试用例数目/星期)、测试用例的有效性(发现的缺陷数目/测试用例数目)等。 (5)过程成熟度 组织的过程成熟度是影响测试估算的又一个重要因素,例如:开发过程的成熟度和测试过程的成熟度。软件产品的质量很大程度上取决于整个组织的过程成熟度,而不仅仅是某个人或者某部分人的能力。因此,组织的过程成熟度直接会影响测试估算,具体表现在: ● 开发过程成熟度,直接决定了开发得到的工作产品的质量,例如:软件的需求规格说明、设计规格说明、代码等工作产品的质量。软件开发得到的工作产品都可以是测试对象,同时它们也是测试的基础。这些工作产品的质量会直接影响测试估算。 ● 测试过程成熟度,决定了主要的测试阶段和活动。不同的测试过程成熟度,需要执行的测试活动是不一样的,例如:某些组织的测试执行阶段,包括了正式测试执行之前的预测试;有的组织的测试执行阶段,可能强调回归测试。因此,测试过程的定义和成熟度也会影响测试的估算。 ● 组织级别的度量数据,反映了该组织的能力,例如:组织的测试用例执行的速率(测试用例数目/星期)、测试用例的有效性(缺陷数目/测试用例)等,这些度量数据是进行测试估算的重要输入。