Compliance & Traceability

Traçabilité des tests DO-178C avec TofuPilot

Apprenez à maintenir une traçabilité des tests conforme à la DO-178C pour les logiciels embarqués aéronautiques en utilisant les enregistrements de test.

JJulien Buteau
advanced11 min de lecture14 mars 2026

Traçabilité des tests DO-178C avec TofuPilot

La DO-178C (Software Considerations in Airborne Systems and Equipment Certification) exige une traçabilité complète des exigences aux cas de test, puis aux résultats de test. Pour les systèmes intégrant matériel et logiciel, cela signifie relier chaque mesure de test à l'exigence qu'elle vérifie. TofuPilot fournit la couche de données de test structurées.

DO-178C et tests

La DO-178C définit cinq niveaux d'assurance de conception (DAL), de A (catastrophique) à E (sans effet sur la sécurité). Les niveaux supérieurs exigent des tests et une documentation plus rigoureux.

DALCondition de défaillanceRigueur des tests
ACatastrophiqueCouverture MC/DC complète, indépendance
BDangereuseCouverture complète des décisions
CMajeureCouverture complète des instructions
DMineureTests de base
ESans effetMinimal

Quel que soit le DAL, tous les niveaux exigent une traçabilité entre exigences, cas de test et résultats de test.

La chaîne de traçabilité

Exigences → Cas de test → Procédures de test → Résultats de test ↓ ↓ ↓ ↓ DOORS Plan de Procédure Résultats ou Jama test TofuPilot TofuPilot

TofuPilot gère la moitié droite : les procédures de test (définies comme des identifiants de procédure avec des étapes et des mesures) et les résultats de test (données d'exécution réelles avec pass/fail).

Associer les exigences aux procédures de test

Utilisez une convention de nommage cohérente qui relie les procédures TofuPilot aux exigences.

do178c_test.py
from tofupilot import TofuPilotClient

client = TofuPilotClient()

# L'identifiant de procédure inclut la référence de l'exigence
client.create_run(
    procedure_id="TC-SW-REQ-042-AIRSPEED-COMPUTATION",
    unit_under_test={
        "serial_number": "ADC-UNIT-007",
        "part_number": "AIR-DATA-COMPUTER-V2",
    },
    run_passed=True,
    steps=[{
        "name": "Airspeed Computation Accuracy",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "indicated_airspeed_error_kts", "value": 0.8, "unit": "kts", "limit_high": 2.0},
            {"name": "true_airspeed_error_kts", "value": 1.2, "unit": "kts", "limit_high": 3.0},
            {"name": "mach_number_error", "value": 0.002, "unit": "Mach", "limit_high": 0.005},
        ],
    }, {
        "name": "Airspeed Range Verification",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "min_airspeed_kts", "value": 30, "unit": "kts", "limit_high": 40},
            {"name": "max_airspeed_kts", "value": 450, "unit": "kts", "limit_low": 400},
        ],
    }],
)

Matrice de traçabilité des exigences

ID ExigenceExigenceProcédure de testMesure TofuPilotLimite
SW-REQ-042Précision du calcul de vitesse air < 2 ktsTC-SW-REQ-042indicated_airspeed_error_kts< 2,0 kts
SW-REQ-043Précision de la vitesse vraie < 3 ktsTC-SW-REQ-042true_airspeed_error_kts< 3,0 kts
SW-REQ-044Précision du calcul Mach < 0,005TC-SW-REQ-042mach_number_error< 0,005
SW-REQ-045Fonctionnement de 40 à 400 ktsTC-SW-REQ-042min/max_airspeed_kts40/400

Tests d'intégration matériel-logiciel

La section 6.4 de la DO-178C couvre les tests d'intégration matériel/logiciel. Ces tests vérifient que le logiciel fonctionne correctement sur le matériel cible.

hwsw_integration.py
# Test d'intégration matériel/logiciel
client.create_run(
    procedure_id="HWSW-INT-ADC-ARINC429",
    unit_under_test={"serial_number": "ADC-UNIT-007"},
    run_passed=True,
    steps=[{
        "name": "ARINC 429 Output Verification",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "label_airspeed_rate_hz", "value": 25.0, "unit": "Hz", "limit_low": 24.5, "limit_high": 25.5},
            {"name": "label_altitude_rate_hz", "value": 12.5, "unit": "Hz", "limit_low": 12.0, "limit_high": 13.0},
            {"name": "ssm_status_normal", "value": 1, "unit": "bool", "limit_low": 1},
            {"name": "data_latency_ms", "value": 18.2, "unit": "ms", "limit_high": 40.0},
        ],
    }, {
        "name": "Watchdog Timer Verification",
        "step_type": "measurement",
        "status": True,
        "measurements": [
            {"name": "watchdog_timeout_ms", "value": 50, "unit": "ms", "limit_low": 45, "limit_high": 55},
            {"name": "reset_recovery_ms", "value": 120, "unit": "ms", "limit_high": 200},
        ],
    }],
)

Tests de régression

Lorsque le logiciel est modifié, la DO-178C exige des tests de régression pour vérifier l'absence d'effets indésirables. TofuPilot rend le suivi de régression simple :

  1. Exécuter la suite de tests complète sur la nouvelle version du logiciel
  2. Comparer les résultats avec la référence (version précédente) dans TofuPilot
  3. Signaler toute mesure qui a changé au-delà de la tolérance attendue
regression_check.py
# Comparer les résultats de test entre les versions logicielles
baseline_runs = client.get_runs(
    procedure_id="TC-SW-REQ-042-AIRSPEED-COMPUTATION",
    limit=10,
)

# Filtrer par version logicielle via les métadonnées de l'unité ou la plage de dates
# Comparer les valeurs de mesure entre les versions

Si une mesure qui était à 0,8 kts d'erreur en version 2.1 passe à 1,9 kts d'erreur en version 2.2, le test de régression le détecte avant la soumission pour certification.

Dossier de preuves pour le DER/auditeur

Lors de la présentation des preuves de test à un DER (Designated Engineering Representative) ou à l'autorité de certification :

DocumentSource
Matrice de traçabilité des exigencesVotre outil d'exigences + mapping des procédures TofuPilot
Procédures de testDéfinitions des procédures TofuPilot avec étapes et limites
Résultats de testDonnées d'exécution TofuPilot avec mesures et pass/fail
Analyse de couverture des testsCorrespondance entre exigences et procédures TofuPilot
Rapport de test de régressionComparaison TofuPilot entre les versions logicielles

TofuPilot fournit les preuves de test structurées et horodatées. Votre dossier de certification référence les données TofuPilot comme l'enregistrement de test faisant autorité.

Tests matériels DO-254

Pour la DO-254 (assurance matérielle), les mêmes principes de traçabilité s'appliquent. Les exigences matérielles sont associées aux procédures de test matériel, qui sont associées aux résultats de test dans TofuPilot.

Types de tests DO-254 couramment suivis dans TofuPilot :

  • Vérification fonctionnelle des FPGA
  • Qualification environnementale
  • Conformité EMI/EMC
  • Caractérisation des alimentations
  • Vérification des performances et du timing

Utilisez la même convention de nommage des procédures (identifiant d'exigence dans l'identifiant de procédure) pour une traçabilité cohérente entre les tests matériels et logiciels.

Plus de guides

Mettez ce guide en pratique