Skip to content

Introduction

Before actually setting up HIL in your repository, it's important to understand the concepts and terminology. HIL stands for "hardware in the loop" and it refers to a type of testing where actual hardware is used to execute tests. This makes it different from unit testing, in which the tests are executed on a host machine. HIL test are incredibly useful because they allow you to test the software on the real-world hardware, using real-world scenarios to verify product functionality.

Architecture

The HIL system consists of three main components: The test launcher, the EmbedOps servers, and the gateway device. When the test launcher starts a test run, it packages up the tests along with any support files and sends the whole package to the EmbedOps servers. The servers then find a suitable gateway device that is connected to your project and sends the package to it. The gateway unpacks all of the tests and support files and executes the test run. During testing, any log text or results files are sent in real time all the way back to the test launcher. In this way, the EmbedOps servers act as a middle-man and require no direct interaction with the user.

Use of PyTest

EmbedOps HIL uses Python and Pytest as the main mechanism for writing tests.