universalisos/docs/doors_replacement_implementation_plan.md

2.5 KiB

Integration of Custom Test Infrastructure & DOORS Replacement

This implementation plan outlines the steps required to finalize the TESTING_GUIDELINES.md document and set up the UniversalisOS testing ecosystem. It leverages the robust, custom-built test infrastructure (uos-target, uos-cover) already present in the codebase, and defines the architecture for a full IBM DOORS replacement using Proxmox and the Aurelio ecosystem.

Proposed Changes

1. Update TESTING_GUIDELINES.md

We will rewrite the testing guidelines to act as the official manual for the existing UniversalisOS toolchain rather than generic tools:

  • Test Execution (uos-target.py): Tests are compiled directly into the kernel payload/firmware. uos-target.py manages the execution via QEMU, automatically parsing pass, fail, and skip results directly from the UART output.
  • Code Coverage (uos-cover): Instead of generic host tools, we use the custom uos-cover suite (uos_cins.py for C instrumentation, uos_cover.py, uos_covparse.py, uos_trace.py) to achieve precise, bare-metal ARINC/ISO 26262 compliant coverage (MC/DC, branch, statement).
  • Lower Level Requirements (LLR): Managed in plane.portugalfuturista.org and tied directly to the CI execution pipeline.

2. DOORS Replacement Architecture (HLRs)

To fully replace IBM DOORS for Higher Level Requirements (HLR) management, we will implement the following architecture:

A. Backend & Data Management (Proxmox + Doorstop)

  • Doorstop Integration: The core requirement tracking will use Doorstop (tools/doorstop-integration).
  • Hosting: The Doorstop backend and its associated Git repositories will be hosted in a dedicated Proxmox Virtual Machine or LXC container to ensure high availability and isolation.

B. User Interface (Aurelio Ecosystem)

We will build a simple, tabular UI that precisely replicates the classic IBM DOORS interface to ensure a seamless transition for requirements engineers. This will be built out across the Aurelio ecosystem:

  • janela-do-desassossego-web (formerly aurelio-web): The primary web-based application for requirements engineers to view, edit, and link HLRs. It will feature a DOORS-like grid view.
  • aurelio-theia / aurelio-vscode: IDE extensions/integrations for the development team. This allows test engineers to view HLRs and keywords directly inside their editor alongside the test framework documentation, seamlessly tracing test cases (e.g., testing uint32_t corner cases) back to the Doorstop requirements.