软件测试之从PSP至0TSP 软件测试方法
早在20世纪70年代r¨期,美国国防部就组织力量研究软件项目失败的原凼,发现在失|l|{(的软件项日中,70%.是由于管理不善所造成的,因而认为管理影响全局,并掀起了研究软件管理技术的热潮。20年后,根据美困三份经舆研究报告,这一状况并束得到转变。软件”发仍然很难预测,大约只有10%的项目能够杠预定的费用和进度F交付符台需求的软件,管理仍然足软件项目成败的丰耍匹j素,并指出开发过程中的返工是软件过程不成熟的标志。例如在capers Jones的报告中就指出,在】7个影响软件项目成败的主要斟素中,与项目管理直接有关的有6个(软件度量、工作量估计、项日规划、进展报告、需求变化、风险管理),间接有关的有3个(系统构架、开发力法、配置管理)。
为了系统地解决软件项H管理问题,美国国防部于1984年在c㈣1leg.Mellon大学建立了软件工程研究所,1986年开始研究并于1991年提山能力成熟度模型cMM,1989年开始研究并十1994年提出个体软件过程PsP,1994年开始研究并于1998年由cML『/s EI召肝的过程工程年会上第一次介绍了TSP草案,于1999年发表了有关TsP的一本书,使软件过程框架形成一个包含cMM、PSP和TsP:者的严密的整体。为了全面提高团队的个人素质和团队整体的作战能力,可以实施PSP和TSP,至少将I'SP和TSf,中的思想91入到团队的管理和发展中。
1 PSP(person刊software process,个体软件过程)
PsP是一个过程描述、度量和方法的结构化集合,通过采用一些表格、脚本和标准
可以町帮助软件工程师估算和计划其工作,能够帮助软件工程师改善其个人素质。
PSP基本原则是每个人部是不同的,对于某个工程师有效的方法不定适合另一个工
程师,PSP帮助工程师测量和跟踪自己的工作,使之能够找到晟适合自己的方法。软件工程师在做项日的开发计划时,或是由经验而米,或是由用户需求而定,往甜存在计划与实际相差比较人的情况,包括时间表和开发成本,或者足前松后紧,遗漏过多,造成维护量的增加。如何减少这种情况的发生?就需要把经验量化并做m分析。通过记录项日的估算情况与实际情况,并进行比较分析,则既利于有经验的软件工程师提高以后项目的预测率,也利于新软件开发人员参考其他工程师的经验,以利于以后工作的规划与开展。
通过记录软件工程师在项目设计及编写代码阶段出现的错误及解决办法,以及记录测试与维护阶段出现的错误、缺陷及解决办法,并产生报告,列出经常m现的错误及错误类型,可把错误尽量控制在交付用户使用前,并尽量减少错误的发生。当然,项H评估的准确度依赖于历史数据的积累,只有正确的历史数据越充分,在评估新项H时所采用的指标数才会越准确。在项H进展过程中,还需要根据影响因素的变化不断调整估算指标。
2 TSP(team softwa怕proc;esst团队软件过程)
TSP对团队软件过程的定义、度量和改革提出r一整套原则、荒略和方法,把cMM
要求实施的管理与PSP要求7r发人员具有的技巧结合起来,以按时交付高质量的软件,并把成本控制在预算的范围之内。在TsP中,讲述了如何刨建高教目具有自我管理自&力的上程小组,工程人员如何才能成为合格的项目组成员,管理人员如何对团队提供指导和支持,
如何保持良好的工程环境使项日组能充分发挥自己的水、F等软件工程管理问题。具体地说,FSP的目标为创建具有自我管理能力的团队,管理人员要善于引导和激励团队的全体成员使他们能发挥自己的最高水平,采用cMM来进行软件过程的改革,为处于高成熟度的软件组织的过程改革提供指导。