使用 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 子系统的输入信号,然后点击信号窗格中的测试点,以确保 Simulink Design Verifier 成功构建了用于分析的模型表示。
步骤 2:执行测试生成分析
要执行测试生成分析,请按照以下步骤操作:
在 Design Verifier 选项卡上,点击生成测试。
分析完成后,“结果摘要”窗口将显示测试用例的两个目标均得到满足。
要查看详细的分析报告,请在“结果摘要”窗口中点击 HTML。报告中的“测试目标状态”章节在单独的小节中列出了设计模型和观察者模型的目标状态。
步骤 3:修改 Observer 模型并重新分析,无需重建设计模型表示
为了生成功能需求的测试用例,debounced
信号从 1 变为 2,而无需重建设计模型的模型表示。为了能够重用设计模型表示,请按照以下步骤操作:
(a)在 Design Verifier 选项卡上,点击测试生成设置 > 设置。
(b) 在“配置参数”对话框的 Design Verifier 窗格中的高级参数中,将重建模型表示选项设置为 If change is detected
,然后点击确定。
(c)要更新模型参数,请按照以下步骤操作:
1.在 sldvdemo_debounce_testobjblks_Observer1
窗口中,双击打开 Masked Objective 子系统,将常量 In1
的值从 1 更改为 2,将关系运算符从 >
更改为 <
。
2.将更改保存在可写的 MATLAB 路径中。
(d)执行测试用例生成分析并审查结果。在 Design Verifier 选项卡上,点击生成测试。该软件验证缓存的设计模型表示,检测到设计模型没有变化并重用该表示进行分析。
分析完成后,结果摘要窗口显示仅一个测试目标得到满足。
要查看详细的分析报告,请在“结果摘要”窗口中点击 HTML。
注意:如果您创建一个新模型,默认情况下,重建模型表示选项设置为 If change is detected
。该软件验证缓存模型表示,检测到无变化,并重用模型表示进行分析。
相关主题
使用 Observer 以无线方式访问模型数据 (Simulink Test).