TA的每日心情 | 怒 2019-12-27 13:32 |
---|
签到天数: 15 天 连续签到: 1 天 [LV.4]测试营长
|
软件测试过程也就是软件测试生命周期,它严重影响着软件开发的效率和软件产品的质量。测试技术解决了测试采用的方法和技术问题,测试管理保证了各项测试活动的顺利开展。软件测试过程改进主要着眼于合理调整各项测试活动的时序关系,优化各项测试活动的资源配置以及实现各项测试活动效果的最优化。在软件测试过程中,过程改进被赋予了举足轻重的地位,在测试计划、实施、检查、改进的循环中,过程改进既是一次质量活动的终点,又是下次质量活动的原点,起着承上启下的作用,因此软件测试过程改进对于软件质量的提高相当重要。
1、软件测试过程改进的概念
测试过程的改进对象应该包括三个方面:组织、技术和人员。测试过程改进需要对组织给予特别关注,因为过程都是基于特定的组织架构建设的,而且组织设置是否合理对过程的好坏有决定性的影响。软件测试组织的不良架构通常表现在:
● 没有恰当的角色追踪项目进展。
● 没有恰当的角色进行缺陷控制、变更和版本追踪。
● 项目在测试阶段效率低下、过程混乱。
● 只有测试经理了解项目,项目成了个人的项目,而不是组织的项目。
● 关心进度,而忘记了项目的另外两个要素—— 质量和成本。
上述问题可从组织上找出原因。因此在测试过程改进中可以先将测试从开发活动中分离出来,把缺陷控制、版本管理和变更管理从项目管理中分离出来。此外,需要给测试经理赋予明确的职责和目标。技术的改进包括对流程、方法和工具的改进,它包括组织或者项目对流程进行明确的定义,杜绝随机过程,引入统一的管理方法,并使用标准的经过组织认可的工具和模板。人员的改进主要是指对企业文化的改进,它将促使建立高效率的团队和组织。
由于测试过程改进是一项长期的、没有终点的活动,而且要获得改进过程的收益也是长期的过程,所以在起步实施测试过程改进时,要充分考虑战略,并根据公司的战略目标确定测试部门的战略,描绘远景。将测试过程改进与公司战略目标相联系,是改进成功实施的必要条件,也是各公司在实施测试过程改进中获得的最佳实践。在研究过程中,组织的规划内容通常包括:
● 绘制远景:如提升管理成熟度,提高测试生产率,促使部门测试能力达到公司领先水平。
● 战略分析:如在部门内制订三年计划。以内部人员为主,引入适当的培训,通过一年半到两年的内部过程,使得VER/VAL及其他相关过程域改进并达到CMMI3成熟度,适时进行评估,最终目标为CMMI4。
● 优缺点评估:上述战略方法的优点在于前期以内部改进为宗旨,避免了拔苗助长带来的风险,可以使过程改进更符合组织的实际情况。但缺点是不以正式评估作为目标,可能导致领导关注力度减弱,过程改进的动力不足,因此需要过程改进的负责人具有坚韧的斗志和持之以恒的信念。
在改进的不同时期和阶段,选择的策略也不同,组织应根据实际情况进行选择。下面列举在研究过程中收集的可供参照的主要策略方法:
● 重诊断,轻评估。要以诊断和解决测试过程中的实际问题作为测试过程改进的目的,不能盲目追求商业评估。在以往实施ISO9000的过程中曾发现,组织拿证书的愿望常常会冲淡“过程改进”的真正目的。
● 实施制度化的同时,建设企业文化。实施全面制度化的管理是过程改进的有效保障,制度和组织文化总是互相依存,没有良好的文化保障,制度化将困难重重;而没有制度的支撑,文化也将是无本之木。
● 引入软件工具。推行配置、自动化测试和缺陷跟踪等工具,将有效地分解事务性工作,可以缓解人力资源不足的困难。常见的过程管理方面的工具包括Rational公司的ClearCase,ClearQuest,CA公司的CCC/Harvest等。
● 建设管理和工程基础。为了解决基础薄弱的问题,需要在测试过程改进前期为相关部门和员工进行基础管理和基本软件工程的课程培训。
● 发动全员参与。全员参与可以分三个层面来理解:第一,站在高于项目管理的层面;第二,站在项目管理的层面;第三,站在开发人员和测试人员层面。充分调动各方面人员的积极性。
● 现有过程的复用。该原则可以充分利用现有过程的合理部分,提高被改进过程的可接受程度和使用价值。
2、软件测试过程改进的具体方法
过程改进在软件测试过程中占有举足轻重的位置,因此为了更好地保证软件质量,测试过程改进是测试人员经常要做的事情,下面列出了一些软件测试过程改进的具体方法:
1)调整测试活动的时序关系在软件测试过程的测试计划中,不恰当的测试时序会引起误工和测试进度失控。例如,具体到某个工程实践中,有些测试活动是可以并行的,有些测试活动是可以归并完成的,有些测试活动在时间上存在线性关系等。所有这些一定要区分清楚并且要做最优化调整,否则会对测试进度产生不必要的影响。
2)优化测试活动资源配置在软件测试过程中,必然会涉及到人力、设备、场地、软件环境与经费等资源。那么如何合理地调配各项资源给相关的测试活动是非常值得斟酌的,否则会引起误工和测试进度的失控。在测试资源配置中最常见的是人力资源的调配,测试部门如果能深入了解员工的专长与兴趣所在,在进行人员分配时,根据各自的特点进行分配,就能对测试活动的开展起到事半功倍的效果。
3)提高测试计划的指导性测试计划的指导性就是指测试计划的执行能力。在软件测试过程中,很多时候实际的测试和测试计划是脱节的,或者说很大程度上是没有按照测试计划去执行。测试计划的完成不仅仅是起草测试大纲,而是为了确保测试大纲中计划的内容能真正被执行、真正用于指导测试工作,为了更好地完成测试活动,保证软件的质量。
4)确立合理的度量模型和标准在测试过程改进中,测试过程改进小组应根据企业与项目的实际情况制订适合自己公司的质量度量模型和标准,做出符合自己公司发展策略的投入。但是质量度量模型和标准的确立不是马上就可以进行的,而是测试过程改进小组随着测试过程的进行不断实践、不断总结、不断改进的。而质量度量模型和标准一旦确立,很多测试活动就不至于陷入过度测试或测试不够的尴尬状态中,使得测试活动在公司与项目不断发展变化的氛围中保持动态平衡。
5)提高覆盖率覆盖率越高,表明测试的质量越高。覆盖率包括内容的覆盖和技术覆盖。内容的覆盖指的是起草测试计划、设计测试用例、执行测试用例和跟踪软件缺陷。内容覆盖率越高,就越能避免故障被遗漏的情况。技术的覆盖指一项技术指标要尽可能地做到测试技术的覆盖,采用科学的方法来验证某项指标,可以更好地保证产品的质量。
除了上边讲的测试过程改进的具体方法外,我们还应注意如下事项:一是必须注意过程改进是跟公司的发展战略相关的,否则只会对测试过程产生不利的影响;二是测试过程的改进并不意味着必须投入大笔资金;三是在测试过程改进中可以参照CMM模型与技术。 |
|