前言:今天开始着手写TMMi16个过程域的内容。本人并不想将TMMi标准的内容照搬,网上这样的文章和内容太多了,不缺这几篇。这一系列更多的是写自己的理解和实践中的经验与实例,也希望可以通过这些文章的内容,与更多的同行讨论交流软件测试。有关TMMi相关的文档可参考TMMi官方文档:TMMi Documents - TMMi
本篇主要讲"测试方针"。
测试方针和测试策略是TMMi标准第一个过程域的内容,由此可见测试方针和测试策略的重要性,它们是开展测试活动的起点。在过程域TMMi2.1测试方针和策略,分为以下三个特殊目标:SG1 建立测试方针,SG2 建立测试策略,SG3 建立测试性能指标,如下图所示。
这三方面的内容在实践中也是有先后顺序的,有先方针,再有策略,然后建立指标衡量目标是否达成。要理解这样的顺序,首先需要理解这三方面的内容到底说的是什么?
1. 测试方针
1.1 什么是测试方针?
“测试方针”解释起来比较虚化,查了一些经典书籍也未看到有特别明确的定义。引用TMMi的解释“测试方针定义了组织的整体测试目的、目标和有关测试的战略性意见”。在实践中,首先需要具有组织级的测试方针,指导企业整体的测试活动,就像企业去确定自己的企业文化时,总要用几个关键字来明确企业文化的基调。测试方针也可以是项目级的,指导本次项目的测试活动。
1.2 建立测试方针的特殊实践
TMMi提倡”测试方针,与业务(质量)方针一致,是由干系人制定和商议的“,测试方针的特殊目标章节中,阐述了三个特殊实践,分别为“SP1.1 定义测试目标”,“SP1.2 定义测试方针”,“SP1.3 将测试方针分发给干系人”。
1.2.1 定义测试目标
TMMi建议组织以业务需求和目标为基础,制定测试目标。业务需求和目标可以为“关于产品的业务和用户需求、 质量程序的主要目标 、业务(质量)方针”等。TMMi阐述”测试目标“可以包括以下内容:
- 确认产品适合使用
- 防止操作中出现缺陷
- 证实遵从外部标准
- 提供关于产品质量的可见度
- 缩短测试执行时间
在实践中,测试目标通常写的比较概括,例如,在某个组织中,本次测试任务是针对某批次整体发布的,可以概述为”根据XXX用户需求,对各系统功能和接口进行全面测试,验证系统功能和非功能需求。通过本次功能测试,各系统能够形成一个运行稳定,可提交用户使用的版本“。
需要注意,测试目标制定后,需要和干系人评审并确认。如果是组织级的测试目标,需要定期重新审视和修订。
1.2.2 定义测试方针
测试方针需要根据已确定的测试目标来定义。TMMi建议典型的测试方针包括的内容为:
- 测试的定义
- 调试的定义
- 有关测试和测试职业的基本观点
- 测试目标和附加值
- 要达到的质量级别
- 测试机构的独立程度
- 高级别的测试过程的定义
- 测试的关键职责
- 测试过程改进组织的途径和目标
从TMMi的子实践来看,测试方针比测试目标的内容更加丰富,需明确测试的定义,区分测试和调试,指明谁来做测试工作,职责以及测试组织的设定。还需要明确测试过程改进组织的途径和目标。
测试的定义
目前业务有两种定义软件测试的方法,正向的和反向的。比较一下:
正向的:IEEE1983年对于软件测试的定义:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
反向的:《软件测试的艺术》:测试是为了发现错误而针对某个程序或系统的执行过程。
从测试的定义来看,这两个定义恰恰体现了软件测试的整体过程,第一要验证软件实现了业务需求,第二要发现错误。所以主少民老师在《软件测试》一书中,给出了很好的总结:测试可以看作这两者的统一,既要尽可能地、快速地发现问题,又能对实现的各项功能进行验证。
测试和调试的区别
TMMi在测试方针的子实践中,提出”调试的定义“,其原因是在测试发展的初期(19世纪50年代-90年代),测试被形容为“面向调试的”,在此期间,大部分软件开发组织在测试和调试之间没有明确区分。调试在英文中是Debug,而测试是Testing,对比如下:
对比 | 测试 | 调试 |
英文 | Testing | Debug |
计划性 | 通常是有计划的 | 通常是无计划的,不受时间约束 |
目的 | 为了发现软件中存在的错误 | 为了证明软件开发的正确性 |
对象 | 代码和文档 | 代码 |
进度 | 有计划,可度量 | 不可度量 |
任务 | 质量保证活动,贯穿于整个开发过程 | 是编码活动的一部分,主要就是排错 |
输出结果 | 输出是预知的,测试用例必须包括预期的结果 | 输出大多是不可预见的,需要调试者去解释、去发现产生的原因 |
操作人员 | 一般为专门的测试人员 | 大多为开发人员自己操作 |
TMMi在测试成熟度一级中认为,测试是一个混沌,不明确的过程,通常被认为是调试的一部分。如果测试和调试还未分开,说明组织的测试能力成熟度非常低,属于一级的水平。并且强调,在测试方针中,将测试与调试明确分开。
测试机构、职业和职责
在TMMi三级中,要求具有独立的测试组织,为测试划分岗位并规定具体的测试职能。在二级中,测试方针可以包括测试组织的独立程度以及测试职能的描述,但是没有要求测试组织一定是独立的。
测试过程改进组织的途径和目标
西方的管理学方法论非常注重过程改进,相关的国际标准,如ISO9000,ISO20000,ISO27001的框架也是按照PDCA的原则进行设计的。TMMi中提出在测试方针中需要考虑测试过程改进,包括途径和目标,但是没有要求组织具备独立的测试改进组织。测试改进组织架构的子实践是三级中提出的。
1.2.3 将测试方针分发给干系人
测试方针和测试目标需要介绍和解释给测试内部和外部的干系人,从而在组织中达成一致。如果是组织级的测试方针,可以写入组织相关制度文件中,可以展示在墙上的展示栏,也可以放入项目方案中,通过评审的方式,在组织内达成一致。
TMMi将测试目标包含于测试方针中,在企业的实践过程中,测试方针不一定是独立的,组织级(管理层面)的测试方针往往体现在测试流程相关的制度文件中。项目级(执行层面)的测试方针可以分解为测试目标、测试组织等描述,与下面一篇介绍的测试策略,一并写入测试方案中。
另附SG1 建立测试方针的特殊实践,典型工作产品和子实践。
想了解更多细节,请关注我的博客,后续会陆续发表更多关于测试的文章。喜欢我的博客就快快关注吧!
转载请注明出处和作者,拒绝一切内容剽窃!