Design goals

The LAA has been designed to be able to automate most developer boards currently (or have been) used by the industry and the communities. The LAA design has been curated to make those DUT testing reliable and reproducible.

Common issues

Hosting a test lab with DUTs is a challenging task that comes with multiple issues. We are listing some well-known issues here as they were taken into account for the design of the LAA.

DUT misbehavior

Often, DUTs used in test automation systems are prototypes or developer devices not meant to be productized nor automated.

Misbheaviors

Many DUTs came with misbehaviors that are not fixable and that should be workarounded.

For instance, many DUTs come with:

  • non-unique or random MAC addresses

  • non-unique or random USB serials

  • unstable USB stack that can break the worker USB stack

  • â€Ļ

Unknown tested software

The DUT will execute firmware, OS and user-space software provided by the test writer, meaning the LAA operator does not know what software will run on the DUT.

For instance, the DUT can run:

  • network services like DHCP or DNS server that will impact or alter the lab network

  • buggy network stack

  • rogue software

LAA features

Feature

Classical LAVA worker

LAA

DUTs per worker

Multiple

1

OTA and rollback

Complex

✅

DUT private network

❌

✅

DUT reproducibility

Complex

✅

Worker reproducibility

Complex

✅

One DUT per LAA

By design, each LAA is connected to a single DUT.

It is protecting each DUT against interference with other DUTs in the same lab. For instance:

  • CPU and memory consumption of concurrent tests

  • non-unique USB serials is not a problem anymore

  • USB instability is affecting only one DUT at a time

OTA and rollback

The LAA OS supports OTA with automatic rollback in case of boot failures. The system can also easily rollback to a previous version if a regression is detected.

DUT Private network

The LAA and the DUT are connected together in a private network managed by the LAA. Network traffic is not routed outside of this private network and does not interfere with the lab network.

It is protecting the lab network from:

  • non-unique or random MAC address, while always providing the same IP to the DUT

  • buggy or rogue tested OS and user-space application

DUT reproducibility

DUTs of the same type are running inside the exact same environment, including the IPv4 network provided by the DHCP server running on the LAA.

It provides a stable and reproducible environment for the test jobs.

Worker reproducibility

Replacing a faulty worker by another one is a quick and simple process with a LAA, reducing the maintenance effort.