什么是VRM
Verification Run Manager (VRM)为用户提供了一种机制来定义任意数量的回归任务,执行整个任务集,或者使用单个命令执行任务的任何子集。
VRM支持的功能
- 对回归进行组织、优化和管理。
- 自动化回归过程。
- 有效管理模拟回归结果,提高调试效率。
- 以一种有助于快速识别bug的方式转换和排序回归结果。
- 管理不同类型的计算工作。例如,0-In正式运行、Questa SIM模拟运行或其他可执行文件的运行。
VRM的调用
VRM可以从命令行调用,也可以通过自动脚本作为计划回归运行的一部分调用。一旦被调用,VRM查询数据库并启动一个或多个“作业”(也称为“操作”)。
这些动作可以处理如下:
- 在本地机器上作为后台任务执行。
- 导出到指定服务器。
- 在网格系统上排队执行。
对生成的作业进行监视,以满足任何相互依赖的需求。当作业完成时,可以将通知传递给一个或多个下游活动(即,分类、趋势、将结果加载到正在运行的测试浏览器中,等等)。
VRM包含许多内置的快捷Questa钩子,以解决Questa用户的通用性和易用性之间的冲突。例如,统一覆盖数据库(UCDB)文件可以自动收集和合并,而不需要用户明确地指定复杂的合并脚本,基于一个特殊识别的参数的存在。
验证运行管理器流程图
VRM的一些使用模型:
•夜间回归 Nightly regressions
项目范围的运行管理器数据库(RMDB)文件定义了一个顶级测试套件,可能由较小的测试子组组成。运行以批处理模式启动,无人值守。工作被分配给网格管理员。
•用户测试的桌面运行 Nightly regressions
用户维护的RMDB文件由分组为一个或多个套件的单个测试组成。用户手动启动测试运行。测试以批处理模式运行(前台或后台)。用户通常等待结果。
•在源代码修复后重新运行失败的测试 Rerun of failing tests after the source code fix
从失败测试列表中选择一组测试,通常从GUI浏览器中选择。测试定义是从项目范围的RMDB文件中绘制的。生成一个临时套件来定义要运行的测试列表。测试以交互方式运行。用户等待结果。
•在调试模式下自动重新运行 Automated rerun in debug mode
可以在调试模式下自动重新运行夜间运行的失败测试,以便收集有助于跟踪故障的其他调试信息(例如,启用了许多信号日志记录的WLF文件)。
•登机前的烟雾测试 Smoke test prior to check-in
测试套件或短测试套件被预先选择(从项目范围的RMDB文件中)以获得最大的短/广覆盖,并添加到短/广套件中。这些相同的测试通常落在项目范围内RMDB文件中的更大的套件中。短宽运行由用户手动启动。每个测试都在后台运行(或者外包给网格管理器)。当所有测试完成时,将通知用户。
•搜索高覆盖率随机种子 Search for high-coverage random seeds
随机测试可以运行固定次数(可能在一夜之间)。在运行结束时,可以对每个测试的覆盖率进行排序,并将最有希望的种子添加到数据库中,以便定期执行。