使用 Observer Reference 模块生成测试用例
此示例显示如何使用Observer Reference模块为两个自定义Test Objective模块生成测试用例,并使用模型表示重新分析设计模型。有关更多信息,请参阅 使用观察者隔离验证逻辑 。要重新分析模型,您需要更新验证逻辑并将重建模型表示选项设置为 If change is detected
。有关更多信息,请参阅 用于分析的模型表示 。
步骤 1:打开模型并替换验证子系统
在 Test Objective模块中,模块“True”强制输出信号为 2。“Masked Objective” 中的“Edge”模块指定输出信号从 2 转换为 1。要打开模型,请输入:
open_system('sldvdemo_debounce_testobjblks');
要用 Observer Reference模块替换模型中的验证子系统Masked Objective,请按照以下步骤操作:
(a)右键单击 sldvdemo_debounce_testobjblks
模型中的 Masked Objective。在上下文菜单中,点击观察者 > 将选定的模块移动到Observer > 新建Observer。
(b)在步骤(a)之后出现的将“验证输出”移至Observer对话框中,单击是。
(c) 在你的系统模型中添加一个Observer Reference模块,并且创建并打开一个Observer模型sldvdemo_debounce_testobjblks_Observer1
。
(d)将文件 sldvdemo_debounce_validprop_Observer1
保存在 MATLAB ® 路径下的可写文件夹中。
(e)双击Observer端口,打开管理Observer配置窗口。信号 Switch 1
自动映射到 sldvdemo_debounce_testobjblks_Observer1
中的 Observer Port模块。
(f)选择 sldvdemo_debounce_testobjblks
中 Masked Objective 子系统的输入信号,然后点击Signal窗格中的 Test Point,以确保 Simulink Design Verifier 成功构建了用于分析的模型表示。
步骤 2:执行测试生成分析
要执行测试生成分析,请按照以下步骤操作:
在Design Verifier选项卡上,点击生成测试。
分析完成后,“结果摘要”窗口将显示测试用例的两个目标均得到满足。
要查看详细的分析报告,请在“结果摘要”窗口中点击“HTML”。报告中的“测试目标状态”章节在单独的小节中列出了设计模型和观察者模型的目标状态。
步骤 3:修改Observer模型并重新分析,无需重建设计模型表示
为了生成功能需求的测试用例,debounced
信号从 1 转换为 2,而无需重建设计模型的模型表示。为了能够重用设计模型表示,请按照以下步骤操作:
(a)在Design Verifier选项卡上,点击测试生成设置 > 设置。
(b) 在配置参数对话框的设计验证器窗格中的高级参数中,将重建模型表示选项设置为 If change is detected
,然后单击 OK 。
(c)要更新模型参数,请按照以下步骤操作:
1.在 sldvdemo_debounce_testobjblks_Observer1
窗口中,双击打开 Masked Objective 子系统,将常量 In1
的值从 1 更改为 2,将关系运算符从 >
更改为 <
。
2.将更改保存在可写的MATLAB路径中。
(d)执行测试用例生成分析并审查结果。在Design Verifier选项卡上,点击生成测试。该软件验证缓存的设计模型表示,检测到设计模型没有变化并重新使用该表示进行分析。
分析完成后,结果摘要窗口显示仅一个测试目标得到满足。
要查看详细的分析报告,请在“结果摘要”窗口中点击“HTML”。
注意:如果您创建一个新模型,默认情况下,重建模型表示选项设置为 If change is detected
。该软件验证缓存模型表示,检测到无变化,并重新使用模型表示进行分析。
相关话题
使用观测器以无线方式访问模型数据 (Simulink Test).