使用基于模型的测试工作流进行与安全相关的软件开发(3)

发表于:2013-11-06来源:IBM作者:Paul Urban点击数: 标签:安全
ASIL A 到 ASIL D 高度推荐执行基于需求的测试。换句话说,基于需求的测试是必备的。因此,基于需求的测试也是 Rational Rhapsody 参考工作流中的一项重要验

  ASIL A 到 ASIL D 高度推荐执行基于需求的测试。换句话说,基于需求的测试是必备的。因此,基于需求的测试也是 Rational Rhapsody 参考工作流中的一项重要验证活动。

  图 2. 通过 Rational Rhapsody TestConductor Add On 执行基于需求的测试

TestConductor 被引入到工作流中

  在基于需求的测试过程中,您需要系统性地验证所测试的系统 (SUT) 的行为是否与为该系统定义的需求中指定的行为相符。对于每项需求,必须定义一个或多个测试用例,以便检查 SUT 的行为。IBM Rational Rhapsody 提供了四种不同的方法来执行测试用例的行为:顺序图、状态图、活动图和纯文本代码。根据要检查的需求不同,这些方法中的某种方法可能比其他方法更为适用。举例来说,假设 SUT 是一款某个型号的码表。码表有这样一项需求:

  “REQ_INIT:After starting the stopwatch, the stopwatch shall display 0 minutes and 0 seconds (0:0)"(启动码表后,码表应显示 0 分 0 秒 (0:0))。

  为使用 IBM Rational Rhapsody 验证和测试此需求,您可以创建如图 3 所示的顺序图测试。首先,将此输入发送给 SUT:

  evPressKey(KeyVal=1)

  此输入表示码表已经启动。对于预期的反应,顺序图指定 SUT 应发出此事件:

  evShow(m=0,s=0,b=FALSE)

  表示码表应显示时间 0:0。

  图 3. 使用顺序图定义测试用例的行为

测试用例的顺序图

  定义测试用例的行为后,下一步就是将测试用例与要测试的需求相联系,方法是向指向需求的测试用例添加一个 TestObjective 。测试目标显式地将测试用例与需求相联系(如图 4 所示),以实现需求与测试用例之间的可跟踪能力。

  图 4. 利用 TestObjective 元素将测试用例与需求相联系

浏览器显示了测试目标

  定义测试用例并将其与需求相联系之后,下一步就是执行测试用例、计算测试结果(如图 5 所示)。测试执行报告包含有关测试执行的信息,例如测试执行时间和测试结果。

  图 5. 测试执行窗口(左下角)和测试报告(右侧)。

测试状态和测试用例结果的屏幕截图

  必须通过相同的方式为所有需求开发测试用例。此过程迭代执行,直至所有需求均已被恰当的测试用例所覆盖为止。

  ISO 26262-6 还要求确定需求的测试覆盖率,以评估需求是否得到了全面的测试。评估哪项需求被哪些测试用例所覆盖(以及反方向的评估)正是 Rhapsody Reference 工作流描述的另一项活动,如图 6 所示。

  图 6. 评估测试用例的需求覆盖率

工作流程图,包括需求覆盖率

  Rational Rhapsody 提供了多种机制,用以评估实际需求覆盖率。图 7 展示了如何利用 测试需求矩阵 自动可视化需求与测试用例之间的关系。需求在纵轴显示,测试用例在横轴显示。如果测试用例通过某个测试目标与需求相关联,那么矩阵的交叉点处就会显示一个黄色的测试目标符号。观察测试需求矩阵,您可以看到哪个测试用例覆盖了哪项需求,还可以看出哪项需求未被测试用例所覆盖。图中的这个矩阵表明,已经为所有需求定义了测试用例,而且所有这些测试用例均已成功执行。

  图 7. 显示测试用例的完整需求覆盖率以及测试执行结果的表格

两个表的屏幕截图

  如您所见,Rational Rhapsody 参考工作流的开发和验证活动直接对应于 ISO 26262 流程的推荐方法和活动。本文介绍了基于需求的测试活动和测试需求覆盖率的对应情况。参考工作流中的其他活动同样对应于 ISO 26262 活动,比如对比测试和结构覆盖率度量。Rational Rhapsody 工具提供了类似的支持和自动化功能,可帮助您高效利用这些功能。

  您也可以为其他标准定义类似的对应 Rational Rhapsody 参考工作流开发和验证活动,比如 DO-178B、DO-178C、IEC 61508 或 IEC 62304。

  回页首结束语

  交付安全的系统要求采用严格的流程,还要付出大量时间来确认设计确实能够满足需求。利用 Rational Rhapsody Reference 工作流,您就可以自动开发必须符合安全标准的设计。

  参考工作流提供了加快极其注重安全的系统开发速度的部分优势:

  有关如何执行 ISO 26262 和 IEC 61508 推荐的部分活动的具体指南也适用于其他标准。需求可跟踪性有助于确保设计满足需求,还有助于理解需求变化带来的影响。Rational Rhapsody 工具使您能在项目开展过程中有效执行这些活动,最大限度地提升产品质量和安全性。Rational Rhapsody 和 Rational Rhapsody TestConductor Add On 提供的高度自动化使您能在给定的时间和预算限制内实现质量目标

原文转自:http://www.ibm.com/developerworks/cn/rational/safety-related-software-development/index.html