Compliance & Traceability

Traçabilité des tests aérospatiale

Associez les exigences de gestion qualité AS9100 aux fonctionnalités de TofuPilot pour les enregistrements de tests, le suivi des numéros de série.

JJulien Buteau
intermediate8 min de lecture14 mars 2026

L'AS9100 exige des fabricants aérospatiaux qu'ils maintiennent des enregistrements de tests traçables et infalsifiables pour chaque unité produite. TofuPilot répond directement à ces exigences, en vous fournissant des données de test structurées, un suivi des numéros de série et des enregistrements exportables sans avoir à construire un SMQ sur mesure.

Exigences AS9100 pour les enregistrements de tests

L'AS9100 Rev D s'appuie sur l'ISO 9001 avec des ajouts spécifiques à l'aérospatiale. Les clauses les plus pertinentes pour les tests et inspections sont :

Clause AS9100ExigenceFonctionnalité TofuPilot
7.1.5 Ressources de surveillance et de mesureÉquipements étalonnés, mesures traçablesMesures avec unités et limites, identifiants de station
7.5.3 Maîtrise des informations documentéesEnregistrements conservés, protégés, récupérablesEnregistrements de tests immuables, stockage cloud avec rétention
8.5.2 Identification et traçabilitéIdentification unique du produit tout au long de la productionSuivi des numéros de série, page d'historique de l'unité
8.6 Libération des produits et servicesPreuves de conformité aux critères d'acceptationRésultats réussite/échec avec limites de mesure
8.7 Maîtrise des éléments de sortie non conformesNon-conformités documentées avec décisionExécutions de test échouées avec mesures de cause racine
10.2 Non-conformité et action correctiveEnregistrements des non-conformités et actions entreprisesHistorique des défaillances par unité, tendances de mesure

Structurer les tests pour la conformité AS9100

Un test OpenHTF bien structuré produit les données que les auditeurs AS9100 recherchent : DUT identifié, mesures traçables avec limites, et une détermination claire de réussite/échec.

test_aerospace_pcba.py
# Test d'acceptation de PCBA aérospatiale avec structure alignée AS9100
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot

@htf.measures(
    htf.Measurement("insulation_resistance")
        .in_range(minimum=100)
        .doc("Selon IPC-9252, minimum 100 Mohm entre nets adjacents"),
    htf.Measurement("hi_pot_leakage")
        .in_range(maximum=0.001)
        .with_units(units.AMPERE)
        .doc("Tenue diélectrique selon MIL-STD-202, Méthode 301"),
)
def dielectric_test(test):
    test.measurements.insulation_resistance = 450.2
    test.measurements.hi_pot_leakage = 0.00012

@htf.measures(
    htf.Measurement("supply_voltage")
        .in_range(minimum=27.5, maximum=28.5)
        .with_units(units.VOLT)
        .doc("Bus nominal 28V, alimentation conforme AS6081"),
    htf.Measurement("quiescent_current")
        .in_range(maximum=0.050)
        .with_units(units.AMPERE),
    htf.Measurement("output_signal_snr")
        .in_range(minimum=40),
)
def functional_acceptance(test):
    test.measurements.supply_voltage = 28.01
    test.measurements.quiescent_current = 0.0124
    test.measurements.output_signal_snr = 52.3

@htf.measures(
    htf.Measurement("temperature_cycle_drift_pct")
        .in_range(maximum=0.5)
        .doc("Dérive en sortie après cycle -40°C à +85°C selon RTCA DO-160"),
)
def environmental_screening(test):
    test.measurements.temperature_cycle_drift_pct = 0.18

def main():
    test = htf.Test(
        dielectric_test,
        functional_acceptance,
        environmental_screening,
    )
    with TofuPilot(test):
        test.execute(test_start=lambda: "AE-PCB-2026-00847")

if __name__ == "__main__":
    main()

Chaque mesure inclut des unités (lorsqu'une constante existe), des limites et des chaînes de documentation. TofuPilot stocke tout cela, le rendant accessible lors des audits.

Conservation et récupération des enregistrements

La clause 7.5.3 de l'AS9100 exige que les enregistrements qualité soient conservés pendant la durée spécifiée par le client ou l'autorité réglementaire. Dans l'aérospatiale, cela signifie souvent de 7 à 30 ans selon le programme.

TofuPilot stocke les enregistrements de tests de manière immuable. Les enregistrements ne peuvent être ni modifiés ni supprimés via l'interface normale. Vous pouvez effectuer des recherches par numéro de série, procédure, station, plage de dates ou statut réussite/échec.

Pour la préparation d'audit, exportez les enregistrements de tests depuis le tableau de bord de TofuPilot. Chaque export inclut le numéro de série, le nom de la procédure, la station, l'opérateur (si enregistré), toutes les mesures avec limites, et le résultat global.

Suivi des non-conformités

Lorsqu'une unité échoue à un test, l'AS9100 exige un traitement documenté de la non-conformité. TofuPilot capture cela au niveau de la mesure.

test_nonconformance.py
# Test qui capture des données détaillées d'échec pour les enregistrements de non-conformité
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot

@htf.measures(
    htf.Measurement("solder_joint_resistance")
        .in_range(maximum=0.05)
        .with_units(units.OHM)
        .doc("Acceptation des joints de soudure IPC-A-610 Classe 3"),
    htf.Measurement("component_placement_offset")
        .in_range(maximum=0.1)
        .with_units(units.MILLIMETRE)
        .doc("Décalage X/Y du composant par rapport au centre nominal du pad"),
    htf.Measurement("visual_inspection_defects")
        .in_range(maximum=0)
        .doc("Nombre de défauts IPC-A-610 Classe 3 trouvés"),
)
def incoming_inspection(test):
    test.measurements.solder_joint_resistance = 0.08  # ÉCHEC : dépasse 0.05 ohm
    test.measurements.component_placement_offset = 0.04
    test.measurements.visual_inspection_defects = 0

def main():
    test = htf.Test(incoming_inspection)
    with TofuPilot(test):
        test.execute(test_start=lambda: "AE-PCB-2026-00848")

if __name__ == "__main__":
    main()

La mesure échouée (résistance du joint de soudure à 0,08 ohm, limite 0,05 ohm) est enregistrée avec sa valeur exacte. Dans le tableau de bord de TofuPilot, les exécutions échouées apparaissent immédiatement. La page d'historique de l'unité montre chaque tentative de test, vous permettant de suivre les cycles de reprise et de re-test.

Identification des stations et équipements

L'AS9100 exige la traçabilité des équipements de surveillance et de mesure. TofuPilot enregistre l'identifiant de station pour chaque exécution de test, reliant les résultats à des montages et équipements de test spécifiques.

Configurez les noms de stations pour qu'ils correspondent à vos enregistrements d'étalonnage. Cela crée un lien direct entre les résultats de test et les instruments étalonnés qui les ont produits.

Exports prêts pour l'audit

Le tableau de bord de TofuPilot fournit tout ce que les auditeurs AS9100 demandent habituellement :

  • Historique de l'unité. Enregistrement de test complet pour tout numéro de série, montrant chaque procédure, mesure et résultat.
  • Tendances de mesure. Cartes de contrôle et valeurs de Cpk pour toute mesure à travers la production, démontrant la stabilité du processus.
  • Analyse des défaillances. Diagrammes de Pareto des défaillances montrant quelles mesures échouent le plus souvent, en support de l'action corrective (clause 10.2).
  • Enregistrements par station. Résultats de tests filtrés par station, répondant aux exigences de traçabilité des équipements.

Toutes ces données sont disponibles sans écrire de rapports personnalisés ni de scripts d'export.

Plus de guides

Mettez ce guide en pratique