主要内容

修复基于需求的测试问题

此示例展示了如何通过使用模型测试仪表板来解决模型需求和测试中的常见跟踪问题。仪表板分析项目中的测试工件,并报告质量和完整性度量数据,如可跟踪性和覆盖率,反映了行业公认的软件开发标准(如ISO 26262和DO-178C)中的指导方针。仪表板小部件汇总数据,以便您可以跟踪基于需求的测试进度,并修复仪表板突出显示的差距。您可以单击小部件以打开包含详细信息的表,在其中您可以找到并修复不符合相应标准的测试工件。

为项目中的测试工件收集度量

仪表板显示模型的测试数据,以及模型在项目中追踪到的工件。对于这个例子,打开项目并为工件收集度量数据。

  1. 打开项目。在命令行中,输入dashboardCCProjectStart

  2. 打开仪表板。在项目选项卡上,单击模型试验仪表板

  3. 如果您以前没有打开项目的指示板,指示板必须标识项目中的工件,并跟踪它们到模型。要运行分析并收集度量结果,请单击跟踪和收集所有

  4. 工件窗格中,仪表板组织工件,如需求、测试用例和它们所跟踪的模型下的测试结果。查看模型的度量结果db_DriverSwRequest.在工件窗格中,单击模型的名称。仪表板用来自模型的最新指标集合的数据填充小部件。

接下来,使用工件面板和仪表板小部件以查找和解决模型的需求和测试中的问题。

将需求链接到模型中的实现

工件面板,Untraced文件夹中显示了不能追溯到项目中的模型的工件。您可以检查此文件夹中的工件,以查看是否有任何需求应该由模型实现,但缺少链接。对于本例,将这些需求中的一个链接到实现它的模型块,并更新工件面板以反映链接。

  1. 工件面板,导航到需求Untraced>功能需求>db_req_func_spec.slreqx>开关优先

  2. 在需求编辑器中打开需求。在工件面板,双击开关优先.该要求描述了在多个开关同时开启的情况下,巡航控制系统采取行动的顺序。打开需求编辑器,选择需求。

  3. 打开模型db_Controller.要从模型测试仪表板打开模型,请在工件面板,展开文件夹db_Controller>设计并双击db_Controller.slx

  4. 该模型块DriverSwRequest参考模型db_DriverSwRequest,它控制当开关开启时,巡航控制系统采取行动的顺序。将这个模型块链接到需求。右键单击模型块并选择需求>链接到需求浏览器中的选择

  5. 保存模型。在模拟选项卡上,单击保存

  6. 保存需求集。在需求编辑器中,单击保存图标。

  7. 要更新工件的可追溯性信息,在模型测试仪表板中,单击跟踪工件

工件面板显示了开关优先要求下db_Controller>功能需求>db_req_func_spec.slreqx.接下来,通过在仪表板中收集指标来查找工件中的可跟踪性问题。

解决测试可追溯性问题

打开组件的指示板db_DriverSwRequest控件中的组件名称工件面板。因为您通过添加链接更改了需求文件,仪表板小部件以灰色突出显示,以表明结果可能代表陈旧的数据。要更新组件的结果,请单击收集结果

控件中的小部件测试用例分析仪表板的一部分显示了关于模型需求、模型的测试用例以及它们之间的链接的数据。这些小部件表明了在测试和可跟踪性方面实现的需求是否存在差距。

链接需求和测试用例

在模型中db_DriverSwRequest,与测试相关的需求部分显示了模型中的一些需求缺失了到测试用例的链接。通过单击一个仪表板小部件来检查需求。然后,使用表中的链接打开工件并修复跟踪问题。

要查看有关未链接需求的详细信息,请参阅与测试相关的需求节,单击小部件链接.表格显示了在模型中实现的需求,但是没有到测试用例的链接。该表被过滤以只显示缺少到测试用例的链接的需求。对于本例,链接需求的测试设置开关检测

  1. 在需求编辑器中打开需求。在表格中,单击设置开关检测

  2. 在需求编辑器中,检查需求的详细信息。这个需求描述了按下开关。在需求编辑器中选择需求。

  3. 检查是否已经有一个开关行为的测试用例。要返回度量结果,在模型测试仪表板的顶部,单击db_DriverSwRequest.的与需求关联的测试部分显示一个测试用例没有链接到需求。

  4. 要查看未链接的测试用例,请参阅与需求关联的测试部分中,点击链接

  5. 要在测试管理器中打开测试,在表格中,单击测试用例设置按钮.测试用例验证的简历开关。如果还没有交换机的测试用例,您将使用test Manager添加一个测试用例。

  6. 将测试用例链接到需求。在测试管理器中,对于测试用例,展开需求部分。点击添加>链接到选定的需求.追溯性链接指示测试用例设置按钮验证要求设置开关检测

  7. 仪表板中的度量结果只反映了保存的工件文件。保存测试套件db_DriverSwRequest_Tests.mldatx,在测试浏览器,右键单击db_DriverSwRequest_Tests并点击保存

  8. 保存需求文件db_req_func_spec.slreqx.在需求编辑器中,单击保存按钮。

接下来,更新仪表板中的度量数据,以查看添加链接的效果。

在仪表板中更新度量结果

在模型测试仪表板中更新度量结果,以便它们反映需求和测试用例之间的可跟踪性链接。

  1. 要分析模型测试仪表板中的工件更改,请单击跟踪工件.当仪表板未分析的项目工件中有更改时,将启用该按钮。

  2. 在仪表盘的顶部,是陈旧的指标图标指示至少有一个指标小部件显示模型的陈旧数据。显示陈旧度量数据的小部件以灰色高亮显示。要刷新小部件,请通过单击重新收集模型的度量数据收集结果

测试用例分析小部件显示还有11个未链接的需求。的与需求关联的测试部分显示没有未链接的测试。通常,在运行测试之前,您可以通过添加测试并将它们链接到需求来调查和解决这些测试可跟踪性问题。对于本例,请保留未链接的工件,并继续运行测试的下一步。

测试模型并分析失败和差距

在创建并链接验证需求的单元测试之后,运行测试以检查模型的功能是否满足需求。要查看测试结果和覆盖率度量的摘要,请使用测试结果分析仪表板的一部分。小部件突出显示测试失败和缺陷。使用底层工件的度量结果来解决问题。

执行单元测试

通过使用test Manager运行模型的测试用例。将结果保存为项目中的工件,并在模型测试仪表板中查看它们。

  1. 在测试管理器中打开模型的单元测试。在模型测试仪表板中工件窗格,展开模型db_DriverSwRequest.扩大测试用例文件夹并双击测试文件db_DriverSwRequest_Tests.mldatx

  2. 在测试管理器中,单击运行

  3. 要在模型测试仪表板中使用测试结果,请导出测试结果并将文件保存到项目中。在测试选项卡,结果部分中,点击出口.为结果文件命名Results1.mldatx并将文件保存在项目根文件夹下。

模型测试仪表板检测到您导出的结果并自动更新工件小组来反映新的结果。控件中的小部件测试结果分析部分以灰色突出显示,表示它们显示的是陈旧的数据。要更新仪表板小部件中的数据,请单击收集结果

解决测试失败和差距

在模型中db_DriverSwRequest,模型试验状态节指示在最近的测试运行期间有一个测试失败,一个测试被禁用。打开测试并修复这些问题。

  1. 要查看禁用的测试,请在指示板中单击禁用小部件。表格显示了模型禁用的测试用例。

  2. 在测试管理器中打开禁用的测试。在表中,单击测试减量按钮保存

  3. 使测试。在测试浏览器,右键单击测试用例并单击启用.保存测试套件文件。

  4. 要查看失败的测试,请在指示板中单击失败的小部件。

  5. 在测试管理器中打开失败的测试。在表中,单击测试取消按钮

  6. 在测试管理器中检查测试失败。您可以通过使用测试结果和到模型的链接来确定是否需要更新测试或模型。对于这个例子,与其修复失败,不如继续检查测试覆盖率。

检查您运行的测试是否通过使用覆盖率度量完全执行了模型设计。对于本例,模型覆盖仪表板的一部分表明模型中的某些条件没有被覆盖。将光标放在小部件中的工具条上,查看条件覆盖率的百分比。对于这个例子,86.4%的决策被测试覆盖,4.55%的决策在覆盖过滤器中被证明是正确的。

  1. 查看决策覆盖的详细信息。单击决定酒吧。

  2. 在表中,展开模型工件。表格显示了模型的测试用例结果以及包含它们的结果文件。打开结果文件Results1.mldatx在测试管理器。

  3. 要查看详细的覆盖率结果,请在coverage透视图中打开模型。在测试管理器中聚合覆盖率结果的部分,分析模型列,单击db_DriverSwRequest

  4. 模型上突出显示的覆盖率显示了测试用例没有覆盖的点。对于没有覆盖的点,添加一个覆盖它的测试。找到由模型元素实现的需求,或者,如果没有的话,为它添加一个需求。将新的测试用例链接到需求。如果这一点不应该被覆盖,使用过滤器来证明缺失的覆盖。对于本例,不要修复缺失的覆盖率。

一旦您更新了单元测试以解决故障和差距,就运行测试并保存结果。然后通过在仪表板中收集指标来检查结果。

使用模型测试仪表板进行基于迭代需求的测试

在具有许多工件和可跟踪性连接的项目中,无论项目中的文件何时发生更改,您都可以监视设计和测试工件的状态。在您更改工件之后,通过更新仪表板中的跟踪数据和度量结果,检查是否有下游测试影响。使用这些表来查找和修复受影响的工件。通过更新仪表板小部件来跟踪您的进度,直到它们显示模型测试质量满足项目的标准为止。

另请参阅

相关的话题