logo Parasoft C/C++test 使用教程 我也要发布文档

Parasoft C/C++test:需求管理和可追溯性矩阵


Parasoft:需求管理和可追溯性矩阵

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

需求可追溯性由作者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中的违规和测试浏览器,团队可以在对测试失败和静态分析违规进行分类之后,有效地创建新的工作项。可追溯性与分类问题/缺陷创建的结合为工作流提供了完整的反馈循环。

Parasoft:需求管理和可追溯性矩阵

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


总结


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

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

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