如何在系统级别使用 VUnit
how to use VUnit on a system level
我有一个包含多个结构实体的项目,每个结构实体都有子实体,如下图所示。
现在我正在尝试为测试阶段做计划。我检查了 UVVM、OSVVM 和 VUnit,我发现 VUnit 是最简单和最快的启动方式。
我已经阅读了文档并尝试了一些提供的示例,我开始为一些子实体(如 A1、A2、...等)编写一些测试
我的问题是如何使用 VUnit 在系统级别进行测试以及我应该如何构建我的测试平台?
- 我应该为所有子实体编写测试,然后为结构实体,然后为整个系统编写测试吗?
- 我应该将结构实体的测试写成事务吗?
- 我是否应该在单独的体系结构文件中为所有子实体编写测试,然后 运行 在顶级测试平台的测试套件中按顺序编写它们?
- 还有其他建议吗?
这类问题可能会因基于意见而被关闭,因此我将给出一些一般性评论,以指导您做出决定。
- VUnit 不关心你正在测试的东西的大小。它可以是一个小功能或一个非常大的系统。基本测试策略不是工具问题,而是您可以自由决定的东西。
- 无论测试理念如何,我认为大多数(如果不是全部)开发人员都同意 better/cheaper 尽早发现错误而不是晚发现错误。这意味着您应该经常测试并从小事着手。多频繁和多小取决于测试开销和错误频率,这取决于所使用的工具、设计人员的经验、问题的复杂性等。这里没有普遍真实的数字。
- 事务是一种编码抽象,可以提高代码的可读性和可维护性。然而,对一个简单的问题使用过多的抽象没有任何价值。如果你正在测试的东西只有一个简单的总线接口,那么创建一个接一个调用的简单的读写过程是有意义的。如果您有多个接口并希望在这些接口上执行并发事务,则您需要更多。 VUnit 解决方案是采用简单的事务过程并在其上添加消息传递。 https://www.linkedin.com/pulse/vunit-bfms-simple-emailing-lars-asplund/ 解释它是如何完成的
- 我不确定我是否理解你的最后一个问题,但如果你只想从顶层测试小东西,你需要在测试开始之前开发顶层。那将与第 2 点背道而驰。
免责声明:我是 VUnit 的作者之一,但我认为我设法避免了个人意见。
我有一个包含多个结构实体的项目,每个结构实体都有子实体,如下图所示。
现在我正在尝试为测试阶段做计划。我检查了 UVVM、OSVVM 和 VUnit,我发现 VUnit 是最简单和最快的启动方式。
我已经阅读了文档并尝试了一些提供的示例,我开始为一些子实体(如 A1、A2、...等)编写一些测试
我的问题是如何使用 VUnit 在系统级别进行测试以及我应该如何构建我的测试平台?
- 我应该为所有子实体编写测试,然后为结构实体,然后为整个系统编写测试吗?
- 我应该将结构实体的测试写成事务吗?
- 我是否应该在单独的体系结构文件中为所有子实体编写测试,然后 运行 在顶级测试平台的测试套件中按顺序编写它们?
- 还有其他建议吗?
这类问题可能会因基于意见而被关闭,因此我将给出一些一般性评论,以指导您做出决定。
- VUnit 不关心你正在测试的东西的大小。它可以是一个小功能或一个非常大的系统。基本测试策略不是工具问题,而是您可以自由决定的东西。
- 无论测试理念如何,我认为大多数(如果不是全部)开发人员都同意 better/cheaper 尽早发现错误而不是晚发现错误。这意味着您应该经常测试并从小事着手。多频繁和多小取决于测试开销和错误频率,这取决于所使用的工具、设计人员的经验、问题的复杂性等。这里没有普遍真实的数字。
- 事务是一种编码抽象,可以提高代码的可读性和可维护性。然而,对一个简单的问题使用过多的抽象没有任何价值。如果你正在测试的东西只有一个简单的总线接口,那么创建一个接一个调用的简单的读写过程是有意义的。如果您有多个接口并希望在这些接口上执行并发事务,则您需要更多。 VUnit 解决方案是采用简单的事务过程并在其上添加消息传递。 https://www.linkedin.com/pulse/vunit-bfms-simple-emailing-lars-asplund/ 解释它是如何完成的
- 我不确定我是否理解你的最后一个问题,但如果你只想从顶层测试小东西,你需要在测试开始之前开发顶层。那将与第 2 点背道而驰。
免责声明:我是 VUnit 的作者之一,但我认为我设法避免了个人意见。