测试序列基础知识
测试序列由按层次结构排列的测试步骤组成。您可以使用测试序列来定义测试输入并定义测试如何响应仿真而进行。测试步骤包含在步骤开始时执行的操作。测试步骤可以包含定义步骤何时停止执行以及接下来执行哪个测试步骤的转移。动作和转移使用 MATLAB® 作为动作语言。您可以使用 Test Sequence 模块和测试序列编辑器创建测试序列。参见 使用 Stateflow 图进行测试框架输入和调度。
测试序列层次
Test Sequence 模块中定义的测试序列可以有父步骤和子步骤。仅当父步骤处于活动时,子步骤才可激活。同一层次结构中的一组步骤共享一个共同的转移类型。当您创建测试步骤时,该步骤将成为同一组中其他步骤的转移选项。
测试序列场景
在一个 Test Sequence 模块中,你可以定义多个测试序列,这些序列被称为测试序列场景。通过使用场景,您可以定义不同的测试序列,而无需在测试框架中使用多个 Test Sequence 模块。您可以通过以下方式运行测试序列场景:
从测试序列编辑器激活单个场景并运行模型
使用 API 命令激活单个场景并运行模型
使用工作区变量控制活动场景并运行模型
在运行模型时使用自定义测试脚本循环遍历场景
在测试管理器中定义迭代以在单个测试用例中运行多个场景
有关使用测试序列场景的更多信息和示例,请参阅 在测试序列编辑器和测试管理器中使用测试序列场景 和 以编程方式创建并运行测试序列场景。
转移类型
Test Sequence 模块中定义的测试序列通过两种方式从一个步骤转移到另一个步骤:
标准转移:您可以使用标准转移序列定义对仿真条件做出反应的一系列动作。标准转移序列从第一步开始,然后根据转移条件和后续步骤进行。有关转移的列表,请参阅 测试序列和评估语法。
该测试序列设置布尔输出
RedButtonIn
和GreenButtonIn
的值,每个步骤活动 1 秒后发生转移。分解时:
When
分解序列类似于编程中的switch
语句。在When
分解序列中,步骤根据模型中出现的特定条件激活。您不使用步骤之间的转移。在每个时间步中,该模块都会按顺序评估每个步骤的条件表达式。当模块到达条件计算为true
的步骤时,该步骤变为活动,而后续步骤仍未经测试。这个 When 分解包含三个
verify
语句。当信号gear
等于不同值时,每个verify
语句均处于活动。有关更多信息,请参阅 使用 When 分解评估模型。