CMM与TMM讲解

来源:互联网 发布:mac os x iso镜像 大小 编辑:程序博客网 时间:2024/05/16 17:29

CMM

CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。

CMM是一种用于评价软件承包能力以改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。

CMM的基本思想是,因为问题是由我们管理软件过程的方法引起的,所以新软件技术的运用不会自动提高生产率和利润率。CMM有助于组织建立一个有规律的、成熟的软件过程。改进的过程将会生产出质量更好的软件,使更多的软件项目免受时间和费用的超支之苦。

软件过程包括各种活动、技术和用来生产软件的工具。因此,它实际上包括了软件生产的技术方面和管理方面。CMM策略力图改进软件过程的管理,而在技术上的改进是其必然的结果。

实施CMM是改进软件质量的有效方法:控制软件生产过程、提高软件生产者组织性和软件生产者个人能力的有效合理的方法。

 TMM

TMM是软件测试能力成熟度模型,等级区间分为混沌级,初始级,提高级,优化级,中文全称为软件测试能力成熟度模型。

许多公司在提高测试效率时往往着重在人力、物力上,最终却发现收获颇微,其主要原因在于测试过程本身不合理。而当前流行的CMMI(Capability  Maturity ModelIntegration,能力成熟度模型集成)等通用模型,没有针对测试领域进行详细阐述,测试过程没有等级化的成熟度考量,缺少改进的指导与动力。

TMM(Testing Maturity Model,测试成熟度模型),补充了这方面的不足,对测试专家/软件质量专家要进行测试过程自身评估和改进提供了极大帮助。

TMM定义了五个成熟度等级,每个等级代表着一个成熟的测试过程,达到高等级意味着应继续实施低等级的实践。

成熟度目标定义了达到该等级必须实现的测试改进目标,成熟度子目标更为具体,定义了该等级的范围、界限和需要完成的事项。要达到某个成熟度等级,组织必须满足这个等级的成熟度目标。通过活动/任务/职责来达到成熟度子目标,活动/任务/职责涉及实施和组织调整问题。活动和任务定义了如果要改进测试能力达到某个等级所要做出的行动,它们与组织的承诺有关。模型中为三组人分配了职责,这三组人是测试过程中的关键参与者:管理者、开发者/测试者、客户,模型中称为关键角度。

三个关键角度包括:

1. 管理者角度:包括承诺,及完成改进测试过程成熟度相关的活动和任务的能力

2. 开发者/测试者角度:包括技术上的活动和任务,这些活动和任务来自成熟的测试实践

3. 用户/客户角度:定义为一个协作或支持角度。开发者和测试者与客户组一起实施质量相关的活动和任务,关注面向用户的需求

TMM评估是内部评估,高层管理应必须支持这种自我评估和改进投入,保证评估能获得足够资源,保证评估的改进建议能得到实施。评估组由组织内部人员组成并必须经过培训,评估组成员应理解评估目标,有适当的知识、经验和技巧,善于沟通,并担任测试过程改进工作。

评估组人数应与评估目标和范围相匹配。在评估开始前,评估组组长应带领学习TMM、访谈技巧、数据分析技巧等,可以通过团队建设、评估过程演习、尝试填写调查表及评估相关的其他表格、如何准备最终报告等,进行评估组成员培训。

实施TMM会给组织带来哪些好处:

1. TMM补充了CMMI的不足,特别关注测试经理、测试专家比较看重的那些问题,针对性、专业性更强。

2. TMM等级结构全面、详尽、容易理解和使用,并有一个定义充分的评估模型支持,充分覆盖了测试相关的问题,能支持递增式的测试过程成熟度发展

3. 组织可以依照TMM要求,组建内部评估组确认当前的测试能力状态,触动高层启动测试改进程序,帮助测试组改进测试效率,并协助客户了解在测试过程中的角色。

4. 实施TMM能改进测试过程,并有助于提高软件质量、软件工程生产力和缩短研发周期,减少投入。


0 0
原创粉丝点击