Integration Tests

RMF-Lift and RMF-Doors

On the second level, integration tests between the Lift as well as Doors and RMF were carried out to ensure integration quality and correctness as well as expose any shortcomings or bugs in terms of behavioral mismatches between the two systems.

A more in depth explanation of the architecture between RMF and the infrastructure systems can be found in Chapter 10.2.2.

Table 3: Tests for integration of RMF-Lifts and RMF-Doors

Sub-SystemsCategoriesTest CasesReasons
RMF-LiftFunctionality TestChanging of modes: AGV mode, Human mode.

Calling of lift to level 2,3,4,5,6.

Reading and publishing of lift states for all modes and all floors.

Exceptional behaviors
- Loss of comms
- Fire Alarm mode
- Timeouts -
Non-interfering mode
- And more

Mechanical quality checks
- Lift controller box mounting
- Dust protection
To ensure integration is done correctly.

To ensure the system is operational even during exceptional situations.

To ensure no unintended “hanging” states for all situations.

To ensure the system is recoverable after exceptional situations.

To ensure the lift controller box is installed in a safe and reliable manner.
RMF-DoorsCommanding of doors

Reading and publishing door states

Exceptional behaviors
- Loss of comms
- Fire Alarm mode
- Timeouts
- Non-interfering mode
- And more

Mechanical quality checks
- Door controller box mounting
- Sensor mounting reliability
- Dust protection
To ensure integration is done correctly.

To ensure the system is operational even during exceptional situations.

To ensure no unintended “hanging” states for all situations.

To ensure the system is recoverable after exceptional situations.

To ensure the lift controller box is installed in a safe and reliable manner.
RMF- LiftRMF-DoorsConnectivity Stress TestExtended period of packet drop monitoringValidating no single point of failureTo ensure the reliability of the connectivity.

Due to circumstances, the infrastructure-rmf software adapter for all integrated doors and lifts is a monolithic piece of code multithreaded into different processes. This test also covers the code that never blocks / crashes due to a single point of hardware failure in any of the door or lift controllers.