软件测试 (三)测试过程相关模型
本章要点 软件测试过程模型的概念 常用的软件测试过程模型 软件测试过程改进的模型种类
测试过程模型 随着计算机的普及和计算机应用的飞速 发展,软件数量和复杂度不断增加,导 致软件开发过程越来越难以控制。 软件测试过程模型是对软件测试过程的 一种抽象,用于定义和描述软件测试的 流程和方法。软件测试过程模型的发展 伴随着人们对软件工程理解和软件测试 理解的深入和发展。
V模型 V模型是最有代表性的软件测试过程模型, 最早由Paul Rook在20世纪80年代提出。
W模型 W模型由Evolutif公司提出,强调测试活动伴随着整个软件开发 周期,而且测试对象不仅仅是程序,需求、设计等活动同样需 要测试,也就是说,测试与开发是同步进行的。 W模型可以说是V模型的自然而然的发展。W模型体现了“及早 的和不断的进行软件测试”原则,能够帮助改进项目的内部质量, 减少总体测试时间,加快项目进度,降低测试和修改成本。
H模型 H模型,它将测试活动完全独立出来,形成一 个独立的流程,将测试准备活动和测试执行活 动清晰的体现出来。
X模型 X模型也是对V模型和W 模型的改进。X模型提 出针对单独的程序片段 进行相互分离的编码和 测试,此后通过频繁的 交接,通过集成最终合 成为可执行的程序。 X模型左边描述的是对 单独程序片段所进行的 分离的编码和测试,此 后将通过频繁的交接, 最终集成为一个可执行 的程序
前置测试模型 前置测试模型是由Robin FGoldsmith等人 提出的,是一个将测试和开发紧密结合的 模型,该模型提供了轻松的方式,可以使 项目加快速度。 前置测试模型的特点如下: 开发和测试相结合 对每一个交付内容进行测试 在设计阶段进行测试计划和测试设计 融合测试和开发 让验收测试和技术测试保持相对独立 迭代的开发和测试 发现内在的价值
前置测试模型
测试过程改进模型 1987年,SEI发布第一份技术报告介绍 软件能力成熟度模型(CMM)及作为评价 国防合同承包方过程成熟度的方法论。 后来,为了解决在项目开发中需要用到 多个 CMM 模型的问题,SEI又提出了能 力成熟度模型集成(CMMI),将各种 CMM模型融合到一个统一的改进框架 内,为组织提供了在企业范围内进行过 程改进的模型。
TMM 1996年,Ilene Burnstein、C. Robert Carlson和Taratip Suwannasart参照CMM 提出了测试成熟度模型(TMM),TMM是 一个采用分级方法确定软件测试能力成 熟度的模型,它描述了测试过程的管理, 为软件测试过程提供了一个可操作框架。 TMM的建立,得益于以下3点: 充分吸收CMM的精华; 基于历史演化的测试过程; 业界的最佳实践。
TMM TMM将软件测试过程成熟度分为5个递增等级 初始级:在初始级中,测试过程是混乱无序的, 几乎没有妥善定义。 定义级:在定义级中,测试过程已被定义,测试 和调试已被明确区分开。 集成级:在集成级中,测试不再仅仅是软件生命 周期中紧随编码阶段之后的一个阶段,而是贯穿 在整个软件生命周期中。 管理和度量级:在管理和度量级,测试已被彻底 定义并成为一个度量和质量控制过程。 优化级:在优化级中,测试过程是可重复、已定 义、已管理和已度量的,已经建立起规范的测试 过程,因此能够对测试过程不断优化。
TPI TPI模型的建立是以TMap(Test Management Approach,测试管理方法)为基础的,TMap 是一种结构化的、基于风险策略的测试方法 体系,目的是能更早地发现缺陷,以最小的 成本、有效地、彻底地完成测试任务,以减 少软件发布后的支持成本。 TMap模型由四个基础部分组成,包括测试 活动生命周期——L(Life cycle)、管理和控制 测试过程的组织——O(Organizational)、测 试基础设施——I(Infrastructure)、测试过程 中采用的各种各样的技术——T(Techniques)
TPI 测试活动生命周期是从软件产品研发开始到发 布为止,分为五个阶段:计划和控制阶段、准 备阶段、说明阶段、执行阶段、完成阶段。 管理和控制测试过程的组织是指对测试的开发 管理、操作执行、硬件软件安排、数据库管理 等必要的控制和实施。它强调测试小组必须融 入到项目组织中,每个测试人员必须被分配任 务和承担责任。 测试基础设施包括:测试环境、测试工具和办 公环境这三个方面,它涵盖了测试工作中必要 的外部和内部环境。 测试过程中采用的各种各样的技术用来完成和 完善测试工作。
TPI TPI模型包括五个部分:关键域、成熟 度级别、检查点、测试成熟度矩阵和改 进建议。
TPI 关键域 关键域是划分测试过程的一种方法,TPI模型 将测试过程划分为20个关键域,这20个关键域 被划分到四个基础部分中,基线和改进建议都 是基于这20个关键域进行的。 级别 对关键域的评估结果是通过级别来体现的,模 型提供了四个级别。由低到高分别是:A级、 B级、C级、D级。通过分析级别即可知道当前 的测试能力状况。测试过程改进的目的就是提 高当前级别,从而提高整个过程的能力成熟度。
TPI 检查点 每个关键域的每个级别都有若干检查点,只有这些检 查点都达到要求后,该关键域才能达到特定的级别。 检查点是向下兼容的,即高级别的测试点需要包含低 级别的所有检查点,比如一个关键域要达到B级,则这 个关键域所要求的检查点必须同时满足A级和B级检查 点的要求。 测试成熟度矩阵 在测试成熟度矩阵中级别和关键域是相互关联的。矩 阵的纵轴代表关键域,横轴代表成熟度。在矩阵中关 键域的每个级别都关联到某一个测试成熟度尺度,总 共有13种测试成熟度尺度。不同级别之间的空白单元 格本身没有特别含义,而是代表一个关键域达到更高 的成熟度时与其他关键域的成熟度之间的关系。不同 级别之间没有渐变性:只要一个测试过程没有完全达 到B级,那它就属于A级。
TPI 改进建议 检查点帮助测试人员发现测试过程中的问 题,而在向测试过程更高级别发展的强烈 意愿下,测试组织可以实施改进措施。而 TPI模型也提供了改进建议,这些建议包括 对如何到达下个级别的指导、一些具体的 操作技巧、注意事项等。 改进建议不像检查点那样是强制执行的, 但每个级别都会提供一些改进建议。
CTP 关键测试过程(Critical Test Process, CTP)评 估模型 CTP模型将测试过程分为四个关键过程— —计划(Plan)、准备(Prepare)、执行 (Perform)和完善(Perfect)。这个四个关键 过程还可进一步细分为12个子关键过程, 包括: 测试、建立环境、质量风险分析、测试评估、 测试计划、测试团队开发、测试系统开发、测 试发、管理、测试执行、错误报告、结果报告、 变更管理
STEP 系统化测试和评估过程(Systematic Test and Evaluation Process, STEP) 模型 STEP认定测试是一个生命周期活动,提倡 测试在项目开始的早期介入,而不是作为 编码结束之后的一个阶段,以确保能及早 发现需求、设计中的缺陷,并设计相应测 试用例。STEP与CTP比较类似,而不像 TMMI和TPI,并不要求测试过程的改进需 要遵循特定的顺序。STEP的实现途径是使 用基于需求的测试方针以保证在设计和编 码之前,已经设计了测试用例以验证需求。
小结 本章从介绍模型的概念出发,介绍了常 用的测试过程模型:V模型、W模型、 H模型、X模型以及前置测试模型,然 后详细介绍了用于改进测试过程的模型: TMM模型与TPI模型,最后大致介绍了 关键测试过程(Critical Test Process, CTP) 评估模型与系统化测试和评估过程 (Systematic Test and Evaluation Process, STEP)模型。
The End 谢谢!