TPI(Test Process Improve)是基于连续性表示法的测试过程改进的参考模型,是在软件控制、测试知识以及以往经验的基础上开发出来的。TPI模型用于支持测试过程的改进,包括一系列的关键域、生命周期、组织、基础设施、工具及技术,并可用于了解组织内测试过程的成熟度。TPI模型考虑了测试过程的各个方面,如测试工具的使用,设计技术或报告。通过对不同方面的评估,测试过程的优点和缺点都变得清晰,这些方面被称为关键域。测试过程可分为20个测试组织需要明确的关键域,基线和改进建议都是建立在以下20个关键域之上的。
1) 测试策略(Test Strategy)
2) 生命周期模型(Lifecycle Model)
3) 介入时间(Moment of Involvement)
4) 估计和计划(Estimating and Planning)
5) 测试规格技术(Test Specification Technique)
6) 静态测试技术(Static Test Technique)
7) 度量(Metric)
8) 测试自动化(Test Automation)
9) 测试环境(Testing Environment)
10)办公环境(Office Environment)
11)承诺与动力(Commitment and Motivation)
12)测试功能与培训(Test Function and Training)
13)方法的范围(Scope of Methodology)
14)沟通(Communication)
15)报告(Reporting)
16)缺陷管理(Defect Management)
17)测试软件管理(Testware Management)
18)测试过程管理(Test Process Management)
19)评估(Evaluation)
20)底层测试(Low-Level Testing)
但是,如果让笔者来列出软件测试的关键域,则可以多列一个,共21个关键域。从TPI列出的关键域看,没有提到“测试团队”或“测试团队的技术水平、业务水平”的问题,而且还存在其他一些问题,例如:
●“生命周期模型”包含测试阶段或里程碑的定义,应该涵盖测试“介入时间”的相关内容,这两者可以合并。
●“测试过程管理”与“估计和计划、“度量”、“评估”等有交叉关系。
●“测试件管理”与“报告”、“缺陷管理”等有交叉关系。
鉴于TPI本身的问题,所以在2008年推出了新的版本:TPI NEXT,新版本将20个关键域改变为16个过程域,增加了“软件测试组织”,删掉了“底层测试、办公环境”等关键域,对“介入时间、承诺与动力、测试功能与培训、方法的范围”做了修改,改为“参与程度、相关利益者承诺、测试人员专业性、测试方法实践”等,这样一来,TPI NEXT的16个过程域,如表1-1所示,相对TPI来说,有很大进步,过程域的划分更加合理、清晰。
表1-1 TPI NEXT过程域
但是TPI NEXT依旧存在一些问题。因此针对软件测试的关键域,笔者有不同的列表,而且列出更多的内容。优化后的21个软件测试关键域如表1-2所示。要理解这些关键域,一方面可以参考文献[7]、[8]等,另一方面可继续阅读本书,以帮助理解绝大部分内容,其中与团队相关的关键域,可以从有关敏捷测试的最后两章内容中得到启发。
表1-2 软件测试关键域
(续表)
(续表)