● 引入软件工具。推行配置、自动化测试和缺陷跟踪等工具,将有效地分解事务性工作,可以缓解人力资源不足的困难。常见的过程管理方面的工具包括Rational公司的ClearCase,ClearQuest,CA公司的CCC/Harvest等。

  ● 建设管理和工程基础。为了解决基础薄弱的问题,需要在测试过程改进前期为相关部门和员工进行基础管理和基本软件工程的课程培训。

  ● 发动全员参与。全员参与可以分三个层面来理解:第一,站在高于项目管理的层面;第二,站在项目管理的层面;第三,站在开发人员和测试人员层面。充分调动各方面人员的积极性。

  ● 现有过程的复用。该原则可以充分利用现有过程的合理部分,提高被改进过程的可接受程度和使用价值。

  2、软件测试过程改进的具体方法

  过程改进在软件测试过程中占有举足轻重的位置,因此为了更好地保证软件质量,测试过程改进是测试人员经常要做的事情,下面列出了一些软件测试过程改进的具体方法:

  1)调整测试活动的时序关系在软件测试过程的测试计划中,不恰当的测试时序会引起误工和测试进度失控。例如,具体到某个工程实践中,有些测试活动是可以并行的,有些测试活动是可以归并完成的,有些测试活动在时间上存在线性关系等。所有这些一定要区分清楚并且要做优化调整,否则会对测试进度产生不必要的影响。

  2)优化测试活动资源配置在软件测试过程中,必然会涉及到人力、设备、场地、软件环境与经费等资源。那么如何合理地调配各项资源给相关的测试活动是非常值得斟酌的,否则会引起误工和测试进度的失控。在测试资源配置中常见的是人力资源的调配,测试部门如果能深入了解员工的专长与兴趣所在,在进行人员分配时,根据各自的特点进行分配,能对测试活动的开展起到事半功倍的效果。

  3)提高测试计划的指导性测试计划的指导性是指测试计划的执行能力。在软件测试过程中,很多时候实际的测试和测试计划是脱节的,或者说很大程度上是没有按照测试计划去执行。测试计划的完成不仅仅是起草测试大纲,而是为了确保测试大纲中计划的内容能真正被执行、真正用于指导测试工作,为了更好地完成测试活动,保证软件的质量。

  4)确立合理的度量模型和标准在测试过程改进中,测试过程改进小组应根据企业与项目的实际情况制订适合自己公司的质量度量模型和标准,做出符合自己公司发展策略的投入。但是质量度量模型和标准的确立不是马上可以进行的,而是测试过程改进小组随着测试过程的进行不断实践、不断总结、不断改进的。而质量度量模型和标准一旦确立,很多测试活动不至于陷入过度测试或测试不够的尴尬状态中,使得测试活动在公司与项目不断发展变化的氛围中保持动态平衡。

  5)提高覆盖率覆盖率越高,表明测试的质量越高。覆盖率包括内容的覆盖和技术覆盖。内容的覆盖指的是起草测试计划、设计测试用例、执行测试用例和跟踪软件缺陷。内容覆盖率越高,越能避免故障被遗漏的情况。技术的覆盖指一项技术指标要尽可能地做到测试技术的覆盖,采用科学的方法来验证某项指标,可以更好地保证产品的质量。

  除了上边讲的测试过程改进的具体方法外,我们还应注意如下事项:一是必须注意过程改进是跟公司的发展战略相关的,否则只会对测试过程产生不利的影响;二是测试过程的改进并不意味着必须投入大笔资金;三是在测试过程改进中可以参照CMM模型与技术。