需求跟踪矩阵(Requirement Tracking Matrix)

1. 什么是TM(Tracking Matrix)

       A Traceability Matrix is a document that co-relates any two-baseline documents that require a many-to-many relationship to check the completeness of the relationship.It is used to track the requirements and to check the current project requirements are met.
       可追溯性矩阵是一个文档,它与需要多对多关系的任何两个基线文档进行关联,以检查关系的完整性。它用于跟踪需求并检查是否满足当前项目需求。

2. 什么是RTM(Requirement Tracking Matrix)

       Requirement Traceability Matrix (RTM) is a document that maps and traces user requirement with test cases. It captures all requirements proposed by the client and requirement traceability in a single document, delivered at the conclusion of the Software devlopement life cycle. The main purpose of Requirement Traceability Matrix is to validate that all requirements are checked via test cases such that no functionality is unchecked during Software testing.

       需求跟踪矩阵(RTM)是用于通过测试用例映射和跟踪用户需求的文档。它在软件部署生命周期结束时提供的单个文档中捕获了客户提出的所有需求和需求可追溯性。需求跟踪矩阵的主要目的是验证是否通过测试用例检查了所有需求,以便在软件测试期间不取消任何功能。

       需求跟踪矩阵,简称RTM;Throughout the project Lifecycle list of project and product deliverables are created and these are developed based on agreed project & product requirements.(在整个项目中,将创建项目和产品可交付成果的生命周期清单,并根据商定的项目和产品需求来开发这些清单)

3. 作用

  1. 确保100%的测试覆盖率。
  2. 显示需求/文档不一致。
  3. 显示整体缺陷/执行状态,重点放在业务需求上。
  4. 如果要更改某些业务和/或功能要求,则TM可以通过重新测试/重用测试用例来帮助估计或分析对QA团队工作的影响。

保证了需求到实现的无遗漏和偏离。
* 需要注意的重要一点是,维护和更新需求跟踪矩阵的方式决定了其使用的有效性。如果不经常更新或更新不正确,该工具将成为负担而不是帮助,并给人留下这样的印象:该工具本身不值得使用。

4. 分类

4.1 纵向跟踪矩阵

       Vertical traceability identifies the origin of items (e.g., customer needs) and follows these same items as they travel through the hierarchy of the Work Breakdown Structure to the project teams and eventually to the customer. When the requirements are managed well, traceability can be established from the source requirement to its lower level requirements and from the lower level requirements back to their source. Such bidirectional traceability helps determine that all source requirements have been completely addressed and that all lower level requirements can be traced to a valid source.

       “纵向跟踪”是指从其最初的来源(如:客户需求),通过不同层次的工作分解结构得以实现同样的内容,并最终交付给客户的过程。在需求被很好的管理的情况下,跟踪性可以通过从初始需求对应到低级别需求,以及从低级别的需求回溯到其根源来建立。这样的双向可追溯性有助于确定所有初始需求已完全实现,并且所有较低级别的需求可以追溯到一个有效的来源上。包括三种关系:

  1. 需求之间的派生关系,客户需求到产品需求。
  2. 实现与验证关系:需求到设计,需求到测试用例等。
  3. 需求的责任分配关系;需求由谁来实现。

4.2 横向跟踪矩阵

       Horizontal traceability is also important and is mentioned in subpractice 3, but it is not required to satisfy bidirectional traceability. Horizontal traceability identifies the relationships among related items across work groups or product components for the purpose of avoiding potential conflicts. It enables the project to anticipate potential problems (and mitigate or solve them) before integration testing. For example, horizontal traceability would follow related requirements across two work groups working on two associated components of a product. The traceability across these two work groups enables the work groups to see when and how a change in a requirement for one of the components may affect the other component. Thus, horizontal traceability enables the project to anticipate potential problems (and mitigate or solve them) before integration testing.

       "水平跟踪”也是很重要的,在REQM的subpractice 3中提到 ,但它并不是需要满足双向可追溯性的必要条件。“水平跟踪”通过识别相关的工作组、产品组件的关系来避免潜在的冲突。这使项目可以在集成测试之前预计可能出现的问题(并且减轻或解决这些问题)。例如,同一个产品的两个相关部件,由两个工作组根据同一份需求分别负责。当一个组件对应的需求发生改变时,可能会影响到另一个组件。横跨两个组件的需求跟踪就能及时发现、规避或解决这些问题。因此,“水平跟踪”使项目可以在集成测试之前预计可能出现的问题(并且减轻或解决这些问题)。

       主要关注的就是“需求之间的接口关系”。

5. RTM参数

5.1. 基本参数

  • Requirement ID(需求编号)
  • Requirement Type and Description(需求类型和说明)
  • Test Cases with Status(具有状态的测试用例)

例如:

Rep No Rep Desc TC ID Test Status
101 登陆系统 TC01、TC02、TC03 TC01-Pass、TC02-Pass
102 注册账户 TC04、TC05、TC06 TC04-Pass、TC05-Fail、TC06-No Run

5.2. 典型软件开发项目基本参数

Sno Rep ID Rep Desc TC ID Test Design Test Designer UAT Test Rep? Text Execution Defects? Defect ID Defect Status Rep Coverage Status
Test Env UAT Env Prod Env
1 Rep01 登陆系统 TC01 Completed yys NO Passed No Run No Run None None N/A Partial
2 TC02 Completed yys NO Passed No Run No Run None None N/A Partial
3 TC03 Completed yys Yes Passed Passed No Run YES DFCT001 Test OK Partial

如上所述,需求跟踪矩阵可以:

  • 在测试用例数量中显示需求覆盖率
  • 特定测试用例的设计状态和执行状态
  • 如果用户要做任何用户验收测试,那么 UAT 状态也可以在同一矩阵中捕获。
  • 相关的缺陷和当前状态也可以在同一矩阵中提及。

这种矩阵将为所有测试活动提供一站式服务。
除了单独维护一个 excel。测试团队也可以选择需求跟踪可用的测试管理工具。

6. 组成部分

6.1 向前追溯(Forward traceability)

       This matrix is used to check whether the project progresses in the desired direction and for the right product. It makes sure that each requirement is applied to the product and that each requirement is tested thoroughly. It maps requirements to test cases.

       该矩阵用于检查项目是否朝着期望的方向发展,是否为正确的产品发展。它确保每个要求都适用于产品,并且每个要求都经过彻底测试。它将需求映射到测试用例。

6.2 向后追溯(Backward or reverse traceability)

       It is used to ensure whether the current product remains on the right track. The purpose behind this type of traceability is to verify that we are not expanding the scope of the project by adding code, design elements, test or other work that is not specified in the requirements. It maps test cases to requirements.

       用于确保当前产品是否保持在正确的轨道上。这种可追溯性背后的目的是验证我们没有通过添加代码、设计元素、测试或其他需求中未指定的工作来扩大项目范围。它将测试用例映射到需求。

6.3 双向追溯(Bi-directional traceability)

       This traceability matrix ensures that all requirements are covered by test cases. It analyzes the impact of a change in requirements affected by the Defect in a work product and vice versa.

       此可追溯性矩阵确保测试用例涵盖了所有要求。它分析了受工作产品缺陷影响的需求变化的影响,反之亦然。

7. 由谁来创建RTM?

  • 需求开发人员负责客户需求到产品需求的RTM建立。
  • 测试用例的编写人员负责需求到测试用例的RTM建立。
  • 设计人员负责需求到设计的RTM的建立等等。
  • PPQA(过程与产品质量保证)负责检查是否建立了RTM,是否所有的需求都被覆盖了。

8. RTM是否纳入基线管理?

       RTM要纳入基线管理。纳入基线后,每次变更都要申请,RTM的变更一般是和其他配置项的变更一起申请,很少单独申请变更RTM,除非RTM有错误。

9. 在实践中,如何把握该建立哪些RTM?

  1. 在SEI的调查中达成的基本共识是:纵向跟踪是必须的,如果没有,则 REQM SP1.4无法通过。横向跟踪如果不作,则是大部分实施。
  2. 对于纵向跟踪矩阵:
  • 必需的:
    • 客户需求与产品需求的跟踪
    • 产品需求与测试用例的跟踪
    • 100%的接口需求需要建立客户需求-产品需求-设计-编码-测试用例的跟踪矩阵
    • 全局性需求要建立跟踪矩阵,包括:客户需求-产品需求-设计-编码-测试用例的跟踪矩阵
    • 核心需求要建立跟踪矩阵
  • 并非必需的:
    • 性能需求可以不建立跟踪矩阵
    • 不影响系统架构的功能需求。

10. 如何简化RTM的工作?

       由于在RTM中,需求可能有很多项,设计、测试用例、代码等都有多项,所以建立和维护RTM的工作量还是比较大、比较烦琐。对于变化频繁的项目,更是如此。在实践中,为了简化该RTM的建立与维护工作,有的企业仅仅通过需求与设计、代码、测试用例的编号来实现跟踪。如需求为:r1,r2,……等编号,而设计的编号为:r1-d1,r1-d2,…….,测试用例的编号为:r1-t1,r1-t2等等。

       需要注意的是需求与它们之间是多对多的关系,仅通过编号是无法实现这种关系的。如果不借助DOORS之类的需求管理工具,一般只能通过EXCEL来维护RTM,工作量就是比较大。要简化,就要平衡管理的投入与产出,平衡时,可以借鉴上面的在实践中,如何把握该建立哪些RTM?<br />当然也可以考虑增大需求、设计、代码、测试用例的颗粒度大小,但是那样RTM的作用就打了折扣,还是一个平衡问题。

11. RTM示例

11.1. 需求跟踪矩阵

用户需求项标号 用户需求标题 用户需求变更标识 需求列表编号 需求列表功能标题 软件需求变更标识 需求状态 变更序号 当前状态 概要设计状态 对应概要设计章节 详细设计状态 对应详细设计章节 单元测试用例 集成测试用例 系统测试用例 对应代码
B5HIS 医院管理 新增 7.1 病人身份管理 新增 已批准 系统验收
7.2 挂号管理 原始 已批准 系统验收 修订 评审通过 6.1.2 E1 E5 T3.1 C6.1
7.3 网上挂号预约管理 新增 已批准 系统验收 修订 评审通过 6.1.3 E2 E6 T3.2 C6.2
7.4 系统管理 新增 已批准 系统验收 修订 评审通过 6.1.4 E3 E7 T3.3 C6.3
7.5 费用管理 新增 已批准 系统验收
7.6 厨房管理 新增 已批准 系统验收 评审通过 评审通过 6.1.5 E4 E8 T3.4 C6.4

11.2. 需求进度管理表

NO. 一级分类/(模块) 二级分类 /(子模块) 三级分类/(功能点) 详细说明 完成情况跟踪 担当者 责任人
SD PD DD COD UT IT ST
1 客服模块 维修任务 新增维修 新增维修需要设置班主 N/A × × × × 张三 王总

○ :已完成,△ :进行中,×:未开始,N/A:不适合(没有此项活动)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 224,289评论 6 522
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,968评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 171,336评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,718评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,734评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,240评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,631评论 3 428
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,599评论 0 279
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 47,139评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,166评论 3 345
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,286评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,917评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,604评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 33,075评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,205评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,814评论 3 381
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,351评论 2 365