Qu'est-ce que l'observabilité des tests
L'observabilité des tests est la capacité à comprendre ce que font vos systèmes de test, pourquoi des unités échouent et comment les performances des stations évoluent, le tout à partir des données produites par les systèmes. Ce concept emprunte à l'observabilité en ingénierie logicielle (logs, métriques, traces) et l'applique aux tests en production. Ce guide explique ce que signifie l'observabilité des tests, en quoi elle diffère de la gestion des données de test, et à quoi elle ressemble en pratique.
Observabilité vs gestion des données
| Aspect | Gestion des données de test | Observabilité des tests |
|---|---|---|
| Focus | Stocker et retrouver les enregistrements de test | Comprendre le comportement du système en temps réel |
| Question à laquelle elle répond | « Qu'est-il arrivé à cette unité ? » | « Pourquoi le rendement baisse-t-il en ce moment ? » |
| Utilisation des données | Conformité, traçabilité, audits | Débogage, optimisation, alerte précoce |
| Temporalité | Après coup (rapports par lots) | Temps réel (tableaux de bord en continu) |
| Périmètre | Résultats de test individuels | Tendances et corrélations à l'échelle du système |
La gestion des données de test répond à la question : cette unité est-elle passée ? L'observabilité des tests répond à : pourquoi 15 % des unités échouent-elles à phase_voltage_check sur la station 3 depuis mardi ?
Les trois piliers de l'observabilité des tests
En s'inspirant de l'observabilité logicielle, l'observabilité des tests repose sur trois piliers :
1. Mesures (Métriques)
Données de mesure structurées avec unités, limites et horodatages. C'est l'équivalent des métriques applicatives en logiciel.
| Métrique | Ce qu'elle montre |
|---|---|
| Rendement au premier passage par station | Santé de la station |
| Distribution des mesures par phase | Stabilité du processus |
| Temps de cycle par unité | Efficacité du débit |
| Taux de défaillance par étape de test | Où se concentrent les défauts |
| Taux marginal par mesure | Alerte précoce de dérive |
2. Enregistrements de test (Logs)
Enregistrements détaillés de chaque exécution de test : numéro de série, phases exécutées, mesures collectées, décisions pass/fail, horodatages et erreurs.
| Champ de l'enregistrement | Pourquoi c'est important |
|---|---|
| Numéro de série | Relie les données de test à l'unité physique |
| Séquence des phases | Montre exactement ce qui a été exécuté et dans quel ordre |
| Valeurs des mesures | Les données réelles pour l'analyse |
| Messages d'erreur | Ce qui n'a pas fonctionné quand une phase a échoué |
| ID de station | Quel équipement a exécuté le test |
| Version firmware/logiciel | Quelle version du script de test a été utilisée |
3. Traces (Corrélation)
La capacité de retracer le parcours d'une unité à travers les étapes de test : IQC, assemblage, FCT, EOL, ORT. Les traces relient les événements en amont aux résultats en aval.
| Trace | Ce qu'elle révèle |
|---|---|
| Historique de l'unité | Tous les tests par lesquels ce numéro de série est passé |
| Traçabilité du lot | Toutes les unités issues du même lot de composants |
| Corrélation par station | Si les défaillances se regroupent sur des stations spécifiques |
| Corrélation temporelle | Si les défaillances se regroupent à des moments spécifiques |
À quoi ressemblent des systèmes de test observables
Sans observabilité
L'ingénieur de test reçoit un appel : « le rendement a chuté sur la ligne 2. » Il se rend à la station, examine les logs, exporte les données dans Excel, construit des graphiques et, trois heures plus tard, identifie la cause racine.
Avec observabilité
L'ingénieur de test voit une alerte : « le rendement de la station 3 est passé sous 90 % au cours de la dernière heure. Défaillance principale : phase_voltage_check. La distribution des mesures s'est décalée de 200 mV par rapport à hier. » Il ouvre le tableau de bord, constate le décalage, le corrèle avec un changement de lot fournisseur à l'IQC, et contient le problème en quelques minutes.
Prérequis
- Python 3.10+
- OpenHTF installé (
pip install openhtf) - SDK Python TofuPilot installé (
pip install tofupilot)
Étape 1 : Instrumenter vos tests
Chaque phase de test doit produire des mesures structurées. C'est le fondement de l'observabilité.
import openhtf as htf
from openhtf.util import units
@htf.measures(
htf.Measurement("supply_voltage_V")
.in_range(minimum=4.9, maximum=5.1)
.with_units(units.VOLT),
htf.Measurement("supply_current_mA")
.in_range(minimum=90, maximum=110)
.with_units(units.MILLIAMPERE),
)
def phase_power_check(test):
"""Mesurer et valider les caractéristiques de l'alimentation."""
test.measurements.supply_voltage_V = 5.01
test.measurements.supply_current_mA = 98.5
@htf.measures(
htf.Measurement("signal_amplitude_V")
.in_range(minimum=1.8, maximum=2.2)
.with_units(units.VOLT),
)
def phase_signal_check(test):
"""Mesurer l'amplitude du signal de sortie."""
test.measurements.signal_amplitude_V = 2.01Étape 2 : Diffuser vers TofuPilot
TofuPilot fournit la couche d'observabilité. Chaque exécution est transmise en temps réel avec le détail complet des mesures.
from tofupilot.openhtf import TofuPilot
test = htf.Test(
phase_power_check,
phase_signal_check,
)
with TofuPilot(test):
test.execute(test_start=lambda: input("Scanner le numéro de série : "))Étape 3 : Surveiller et réagir
TofuPilot fournit les outils d'observabilité :
| Outil | Ce qu'il montre |
|---|---|
| Tableau de bord du rendement | FPY en temps réel par station et procédure |
| Pareto des défaillances | Quelles étapes de test échouent le plus, classées par fréquence |
| Distributions des mesures | Histogrammes avec superposition des limites pour chaque mesure |
| Cartes de contrôle | Cartes SPC détectant les conditions hors contrôle |
| Comparaison des stations | Performance côte à côte entre les stations |
| Historique de l'unité | Trace complète des tests pour tout numéro de série |
| Alertes | Notifications lorsque le rendement passe sous un seuil |
Niveaux de maturité de l'observabilité
| Niveau | Capacité | Question à laquelle il répond |
|---|---|---|
| 1. Journalisation | Les résultats de test sont stockés | « Cette unité est-elle passée ? » |
| 2. Surveillance | Les tableaux de bord montrent le rendement et le débit | « Comment la ligne se comporte-t-elle ? » |
| 3. Alerte | Notifications en cas de baisse du rendement ou de dérive des mesures | « Y a-t-il un problème en ce moment ? » |
| 4. Débogage | Analyse approfondie des défaillances, corrélation entre stations et lots | « Pourquoi cela se produit-il ? » |
| 5. Prédiction | Utilisation des tendances pour anticiper les défaillances futures | « Que va-t-il se passer ensuite ? » |
La plupart des opérations de production en sont aux niveaux 1 ou 2. Les niveaux 3-4 sont ceux où l'observabilité des tests apporte le meilleur retour sur investissement. Le niveau 5 est celui où commence la qualité prédictive.