测试执行通常都是处于软件测试生命周期的关键路径上,它不仅在测试过程中占有重要的地位,并且也会花费大量的测试时间。针对测试执行而进行的计划,即测试执行进度计划,是进行测试执行进度控制的基础。在进行测试执行进度计划制订的时候,需要考虑哪些因素会影响测试执行活动,以及如何针对不同类型的测试人员,进行测试执行进度计划的调整。
在实际的软件测试过程中,测试资源、测试质量、测试时间之间是相互制约的。测试执行进度计划的制订,需要在这三者之间进行平衡。例如:假如项目产品发布的时间是确定的,或者根据市场或客户的需求是受到限制的,那么在有限的时间内,需要在有限的测试人力资源和其他的测试资源与测试质量之间进行来平衡,即测试执行进度计划的制订,需要我们在有限的测试时间内,利用现有的测试资源,达到既定的测试质量。
根据笔者在软件测试行业中多年的测试经验和测试管理方面的一些理解,在制订测试执行进度计划的时候,至少需要考虑下面的这些因素:过程的成熟度、测试的时间范围、测试的资源、产品的质量、测试的文档等。
1 过程成熟度
首先,影响测试执行进度计划制订的因素是组织的过程成熟度,包括开发过程的成熟度和测试过程的成熟度。软件产品的质量需要通过整个软件开发过程来保证,而不是某个人或者某部分人的职责。因此,组织的过程成熟度,直接会影响测试执行进度计划的制订,具体表现在:
开发过程成熟度,直接决定了开发得到的工作产品的质量,比如软件的需求文档、设计文档、代码等质量。任何软件工作产品,都可能是我们的测试对象,同时也是我们测试的基础。这些工作产品的质量,会直接影响我们的测试工作量和测试执行进度计划的制订;
测试过程成熟度,决定了主要的测试活动和测试阶段,简单的说,测试执行过程中我们应该做什么。对于测试执行阶段,不同的测试过程 成熟度,需要采用的测试活动是不一样的。例如:有的测试执行明确定义了正式测试执行之前的预测试;而有的测试执行可能更强调回归测试。而这些因素,也会影响测试执行进度计划的制订;
测试过程的成熟度,也会影响测试执行过程中的输出工作产品,例如:缺陷报告、测试总结报告等。对这些文档的要求,也需要在测试执行进度计划中进行考虑。
过程成熟度定义的测试执行相关的度量,例如:测试用例执行的速率(测试用例数目/星期)、测试的有效性(缺陷数目/测试用例)等,它们是进行测试工作量估算的基础,因此在测试执行进度计划制订中需要谨慎考虑。
2 测试的时间
其次,测试时间是制订测试执行进度计划的基础。这里的测试时间,指的是测试执行需要在什么测试时间范围之内完成。在有的项目测试执行过程中,软件测试执行的截至时间是确定的,例如:软件产品必须在2007-12-31之前交付给客户,所有的测试活动都必须在这个时间之前完成。在这种情况下,测试的时间范围已经无法进行选择,我们必须在测试资源、测试质量和测试范围等方面进行平衡。
3 测试的规模
第三,在制订测试执行进度计划的时候,需要详细考虑测试对象的规模。测试对象的规模是我们进行测试工作量估算的基础,这同样适合测试执行的测试任务。针对测试执行的测试规模,可以从下面几个方面进行考虑:
测试执行过程中需要执行的新设计的测试用例的数目;
测试执行过程中需要执行的回归测试用例数目;
测试对象中可能存在的缺陷数目,以及针对这些缺陷可能需要进行的回归测试;
测试用例的执行是针对多种不同的测试平台,还是只针对一种测试平台;
4 测试的资源
第四,在确定了测试时间和测试规模以后,接下来需要考虑测试执行涉及的测试资源问题。测试资源的范围很广,包括测试人力资源、测试仪表、测试平台等。
测试执行活动需要有合适的测试人员来完成。根据组织内已经定义的相关度量或者项目组成员以前的经验值,和估算的测试规模大小,来确定需要的测试人员数目;
测试执行过程中需要的测试平台数目和已有测试平台数目。假如测试平台数目无法满足测试执行的要求,需要在测试执行进度计划中体现,因为这很可能需要测试时间来解决这个问题;
测试执行过程中需要使用的测试仪表和已有的测试仪表。和测试平台一样,也需要在测试执行进度计划中体现,并提供合适的解决方案;
5 产品的质量
我们在前面的“过程成熟度”部分,已经涉及到了测试文档和测试对象的质量问题。这里,我们将更加详细的讨论它们是如何影响测试执行进度计划的制订:
开发文档的质量:是指在开发过程中输出的文档质量,比如软件需求文档、概要设计文档、详细设计文档等。由于这些开发文档是测试设计的基础,同时设计得到的测试相关文档是测试执行的基础,它们将直接影响测试执行的效率和有效性;
测试文档的质量:一方面开发文档的质量会影响测试文档的质量,另一方面,测试人员的技能水平和在项目相关领域的背景知识等,都会影响测试文档的质量,从而影响测试执行的效率和有效性;
软件代码的质量:开发文档的质量和开发人员的技能、知识水平能力会影响软件代码的质量。而软件代码是我们测试执行运行的真正的对象,它的质量高低直接影响了测试执行进度计划的制订。比如由于测试对象质量很差,导致测试执行并不是原来计划中的一次,而需要进行多轮的测试;
测试执行对象中可能存在的缺陷数目以及后续的回归测试,它们在测试执行进度计划制订过程中经常容易被忽视。测试执行过程中发现的缺陷,在修改完成以后,需要测试人员进行验证测试和相关的回归测试;
假如在测试执行进度计划中没有考虑这些质量因素,常常会导致测试后期的测试任务非常繁重,从而影响测试执行的效率和测试质量。
6 测试的文档
测试执行过程和测试执行完成之后,都需要需要输出一些测试相关的文档,比如测试过程中需要提交的缺陷报告、测试执行结束之后提交的测试总结报告和测试版本发布报告等,这些文档都需要测试人员花费时间和工作量来完成: