测试分析人员必备知识—需求管理和可追溯性矩阵

严格的软件开发过程的基石是需求管理以及这些需求对实施的可追溯性,以及随后对正确实施的证明。

需求可追溯性由作者Gotel和Finkelstein定义为“具有在向前和向后的方向(即从需求的起源、发展、规范到随后的部署和描述)中描述和跟踪需求寿命的能力。使用,以及在任何这些阶段进行不断完善和迭代的阶段。”

跟踪需求不仅是将文档中的段落链接到代码或测试部分。当需求体现在设计、架构和实施中时,必须在整个开发阶段中保持可追溯性。考虑软件的典型“V”图。

图1:经典的V图显示了可追溯性如何在开发的每个阶段前进和后退。

每个阶段都驱动下一个阶段。反过来,这些阶段中的工作项必须满足上一阶段的要求。系统设计从需求出发。系统设计满足要求,依此类推。

需求可追溯性管理(RTM)证明每个阶段都满足每个后续阶段的需求。但是,这只是图片的一半。这些可追溯性都不能证明已满足要求。那需要测试。

图2:需求可追溯性的另一个重要部分是验证和确认测试,以从相应的设计阶段证明规范的实施。验证通常在与客

在图2所示的V图中,每个测试阶段都会验证与相应的设计/实施阶段相关的规范是否满足。在该示例中,验收测试验证需求,集成测试验证架构设计,单元测试验证模块设计,等等。验证通常发生在与客户进行验收测试的开发生命周期末期。

需求可追溯性既需要实现和验证的链接,也需要开发过程中的所有相关工件。任何现实规模的软件开发都将有许多需求,复杂的设计和体系结构,并可能有成千上万的单元和单元测试。测试中RTM的自动化是必要的,特别是对于要求对证书和审核进行追溯的文档的安全性至关重要的软件而言。

需求追踪矩阵

需求可追溯性矩阵是一个文档,它说明了对相应工作项(例如单元测试、模块源代码、体系结构设计元素等)的满足。该矩阵通常显示为表格,该表格显示了产品的相应部分如何“检查”每个需求。这些矩阵的创建和维护通常是使用需求管理工具自动进行的,能够以多种形式可视化显示它们,甚至在需要时以硬拷贝显示。

以下是Intland codeBeamer的需求可追溯性矩阵示例。它显示了分解为高级和低级需求的系统级别需求,以及验证每个需求的测试用例。

图3:Intland codeBeamer中的需求可追溯性矩阵示例。

为什么需要需求可追溯性?

从最简单的意义上讲,需要具有需求可追溯性,以准确跟踪您在编写软件时正在构建的内容。这意味着确保该软件能够实现预期的功能,并且仅在构建所需的功能。

可追溯性既可以证明您满足要求,又可以找出不满足要求的地方。如果存在无法追溯到需求的体系结构元素或源代码,则存在风险,不应存在。好处不只是提供实施证明。严格的可追溯性是开发进度的重要可见性。

可追溯性在企业软件应用程序中不一定严格,尽管这种情况肯定会有所改善。但是,这是安全和关键任务软件中的必需活动。

安全关键软件中的需求可追溯性

安全关键软件的要求是产品设计和开发的关键驱动力。这些要求包括功能安全、应用要求和完全定义产品的非功能要求。对文件要求的依赖是一个喜忧参半的问题,因为糟糕的需求是软件中安全事件的关键原因之一。换句话说,实施过程没有错,但是需求不佳或缺失。

重要的是要认识到,对安全至关重要的软件中的许多要求都源于安全分析和风险管理。当然,该系统必须执行其预期的功能,但它还必须减轻风险,以大大降低受伤的可能性。此外,为了记录和证明这些安全功能已得到完全正确的实施和测试,可追溯性至关重要。

自动化双向追溯

保持任何规模的可追溯性记录都需要自动化。应用程序生命周期管理工具包括成熟的需求管理功能,并且往往成为可追溯性的中心。诸如Parasoft之类的集成软件测试工具通过提供对可执行测试用例的自动化双向可追溯性来完成对需求的验证和确认,其中包括通过或失败结果,并追溯到实现需求的源代码。

Parasoft集成了市场领先的需求管理和敏捷计划系统,例如Intland codeBeamer,西门子的Polarion,Atlassian Jira,CollabNet VersionOne和TeamForge。

如下图所示,Parasoft的每个测试自动化工具(C/C++testJtestdotTESTSOAtestSelenic)都支持将测试与这些系统中定义的工作项(例如需求、案例、缺陷、测试用例定义)关联起来。可追溯性通过Parasoft的中央报告和分析仪表板(Parasoft DTP)进行管理。

图4:Parasoft提供了从工作项到测试用例以及测试结果的双向可追溯性

既显示了使用Parasoft DTP的可追溯性报告,又将结果报告回了需求管理系统。

Parasoft DTP将管理系统中的唯一标识符与静态分析结果、代码覆盖率以及单元、集成和功能测试的测试结果相关联。结果显示在Parasoft DTP的可追溯性报告中,并发送回需求管理系统。它们提供了完整的双向可追溯性,并作为系统可追溯性矩阵的一部分进行报告。

Parasoft DTP中的可追溯性报告是高度可定制的。下图显示了Jira中编写的故事的需求可追溯性矩阵模板,该故事可追溯到测试用例、静态分析结果、源代码文件和手动代码审查。

图5:集成了Altassian Jira的Parasoft DTP的需求可追溯性矩阵模板。

测试结果与工作项之间的双向关联为需求可追溯性提供了基础。Parasoft DTP添加了测试和代码覆盖率分析,以评估测试的完整性。在需求、测试和实现需求的工件之间保持这种双向关联是可追溯性的重要组成部分。

管理缺陷/问题创建的工作流程

Parasoft DTP还可以帮助将缺陷和问题的产生分类到新的工作项中。测试自动化和静态分析会消耗大量数据。帮助管理这些数据的工具对于确定工作项目的优先级并防止工具压倒团队很重要。

使用如下所示的Parasoft DTP中的违规和测试浏览器,团队可以在对测试失败和静态分析违规进行分类之后,有效地创建新的工作项。可追溯性与分类问题/缺陷创建的结合为工作流提供了完整的反馈循环。

图6:在VersionOne中创建新的缺陷,同时对Parasoft DTP中的测试失败进行分类。

总结

需求可追溯性是软件开发中需求管理的关键部分。可追溯性的形式级别因应用程序类型而异,但是对于安全性至关重要的软件,这种做法是绝对必要的。

双向可追溯性很重要,因此需求管理工具和其他生命周期工具可以将结果关联起来并使它们与需求和相关的工作项保持一致。

现代软件项目的复杂性要求自动化以扩展需求的可追溯性。Parasoft工具旨在与同类最佳的需求管理工具集成,以帮助将追溯性纳入测试自动化结果,并完成软件测试验证和需求确认。

测试分析人员必备知识—需求管理和可追溯性矩阵

点击“了解更多”申请免费试用

c++可达矩阵_测试分析人员必备知识—需求管理和可追溯性矩阵相关推荐

  1. 测试分析人员必备知识—需求管理和可追溯性矩阵

    测试分析人员必备知识-需求管理和可追溯性矩阵 严格的软件开发过程的基石是需求管理以及这些需求对实施的可追溯性,以及随后对正确实施的证明. 需求可追溯性由作者Gotel和Finkelstein定义为&q ...

  2. 可追踪性矩阵和需求追溯性矩阵

    文章目录 可追踪性矩阵的维基百科解释 **不同类型的需求可追溯性矩阵** 什么是需求可追溯性矩阵(RTM)? 示例模板 什么是可追溯性矩阵? (TM 值) 什么是需求追踪矩阵? 为什么 RTM 很重要 ...

  3. 需求跟踪矩阵模板_需求可追溯性矩阵(RTM)生成程序使用说明

    需求可追溯性矩阵 ( Requirements Traceability Matrix ,简称RTM)ISPE中的定义如下: 需求跟踪矩阵需求追溯矩阵(RTM)是一个将整个验证过程中的需求联系起来的文 ...

  4. python 三引号_入门Python 必备知识基础(一)

    1 标识符 标识符是编程时使用的名字,用于给变量.函数.语句块等命名,Python 中标识符由字母.数字.下划线组成,不能以数字开头,区分大小写. 以下划线开头的标识符有特殊含义,单下划线开头的标识符 ...

  5. 二进制空间权重矩阵_白话空间统计之二十五:空间权重矩阵(三)解构空间权重矩阵...

    原标题:白话空间统计之二十五:空间权重矩阵(三)解构空间权重矩阵 中国古代就有"天圆地方"一说,所谓的"方"就是所谓的矩阵-- 在军事上面,最为讲究就是团体的力 ...

  6. 需求分析文档模板_我们应该如何进行需求管理「下篇」?

    前两篇文章分别介绍了需求管理的基本定义.分类方式.重要意义和一些常见的项目失败原因.通过前文的介绍,想必大家对于需求管理的基础概念都已经有了新的认识. 那么,让我们进入到最核心的部分,同时也是需求管理 ...

  7. 通讯故障_掌握PLC必备知识,人机界面和 PLC 出现通讯故障如何分析解决

    此次主要在阐述人机界面和 PLC 通讯时的模式状态,并列举了通讯故障实例.帮助大伙加深对这俩者的了解,掌握起来也不再是难题,解决掉拦路虎. 一 台数 显 四 辊 卷 板 机PLC 控 制 系 统 核 ...

  8. 如何满足从Jama需求到测试和代码的可追溯性?

    开发和交付软件系统需要多少计划.法律考虑.技术知识和成本,这是令人吃惊的.有一些活动或实践的子层,如需求管理.软件测试或需求的验证和确认,这只是软件开发生命周期(SDLC)中的几个阶段. 此外,由于合 ...

  9. 单应性矩阵求解函数findHomography()

    OPENCV官方地址:Camera Calibration and 3D Reconstruction 上面这个地址是OPENCV标定和三维重建集合的函数说明,包括标定原理,过程和工具的使用,想要使用 ...

最新文章

  1. Tensorrt一些优化技术介绍
  2. 刷新ImageNet纪录,GAN不只会造假!DeepMind用它做图像分类,秒杀职业分类AI
  3. linux存储--inode与block详解(八)
  4. python正则表达式模块_Python正则表达式函数模块
  5. TypeScript 3.3来了!快看看有什么新功能
  6. linux系统终端介绍
  7. SAP Netweaver gateway cache table logic
  8. thinkphp 5数据库操作
  9. JavaScript 转载
  10. c++date数据类型_PLC编程设涉及到的数据类型了解一下
  11. 【Kafka】nable to write to standard out, closing consumer Console consumer process hangs on SIGINT
  12. linux 安装mysql 5.7.16
  13. python必背入门代码-你们都是怎么学 Python 的?
  14. 苹果mac磁盘清理工具:Pro Disk Cleaner
  15. Scintilla的使用c++ build
  16. FPS游戏的方框透视+自瞄原理
  17. 【论文笔记】Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks
  18. android 渠道配置manifest,Android studio 配置多渠道打包配置
  19. css 绘制心形图案
  20. linux下几种目标文件的分析

热门文章

  1. [BZOJ 2957]楼房重建(THU2013集训)(线段树维护单调栈)
  2. SBuild 0.2.0 发布,基于 Scala 的构建系统
  3. 初学者python笔记(filter()函数完全详解)
  4. 微课|《Python编程基础与案例集锦(中学版)》第2章(1)
  5. 重要更新|《Python程序设计开发宝典》例12-7代码有bug
  6. 微课|玩转Python轻松过二级:第3章课后习题解答4
  7. Python内置函数int()高级用法
  8. 使用Python内置集合对象和内置函数filter()过滤无效书评
  9. Python+django建站入门篇(2):素数判断
  10. Python绘制三次贝塞尔曲线