Comparaison de runs de test avec TofuPilot
Quand une unité échoue, la première question est toujours : « Qu'est-ce qui diffère d'une unité qui passe ? » La comparaison de runs dans TofuPilot vous permet de mettre deux runs ou plus côte à côte et de voir exactement où ils divergent.
Quand utiliser la comparaison de runs
- Diagnostiquer un échec : comparez un run échoué à un run récent réussi pour la même procédure
- Investiguer un retest : comparez le premier test au retest pour la même unité
- Valider une correction : comparez les runs avant et après une action corrective
- Suivre l'historique d'une unité : comparez les résultats d'une même unité à différentes étapes de test
- Comparer des stations : comparez la même unité testée sur différentes stations
Fonctionnement de la comparaison de runs
TofuPilot stocke chaque mesure de chaque run. Lorsque vous comparez des runs, le système aligne les mesures par nom et affiche les valeurs côte à côte avec leurs limites.
Run A (Pass) Run B (Fail)
──────────── ────────────
vcc_3v3 3.30 V ✓ 3.28 V ✓
vcc_1v8 1.81 V ✓ 1.74 V ✗
clk_freq 24.00 MHz ✓ 23.98 MHz ✓
boot_time 320 ms ✓ 1,240 ms ✗
current_idle 45 mA ✓ 78 mA ✗
Trois mesures divergent significativement. Le rail 1,8 V est bas, le temps de démarrage est 4 fois plus long et le courant au repos est 73 % plus élevé. Ces symptômes combinés indiquent un court-circuit partiel sur le rail d'alimentation 1,8 V causant une consommation excessive et un démarrage lent.
Comparer des runs dans TofuPilot
Étape 1 : Trouver les runs
Accédez à la page de la procédure et filtrez pour trouver les runs à comparer. Filtres courants :
| Filtre | Cas d'usage |
|---|---|
| Statut : Échoué | Trouver les runs en échec à diagnostiquer |
| Numéro de série | Trouver tous les runs d'une unité spécifique |
| Plage de dates | Se limiter à une période donnée |
| Station | Comparer entre stations |
Étape 2 : Sélectionner les runs à comparer
Sélectionnez deux runs ou plus dans la liste. TofuPilot aligne leurs mesures par nom d'étape et nom de mesure.
Étape 3 : Lire la comparaison
Concentrez-vous sur les mesures dont les valeurs diffèrent significativement. De petites variations (3,30 V vs. 3,31 V) correspondent au bruit de mesure normal. Des écarts importants (1,81 V vs. 1,74 V) indiquent une différence réelle.
Le code couleur aide :
- Vert : les deux valeurs dans les limites
- Rouge : valeur hors limites
- Jaune : valeur dans les limites mais significativement différente de la référence
Schémas de comparaison courants
Schéma 1 : Échec sur une seule mesure
Une mesure échoue, tout le reste est identique. Cela signifie généralement :
- Valeur de composant hors tolérance
- Défaut de soudure sur ce circuit spécifique
- Problème de contact de sonde de test (retester pour confirmer)
Schéma 2 : Échecs corrélés
Plusieurs mesures liées échouent ensemble (par ex. tension basse + courant élevé + démarrage lent). Cela indique un problème systémique :
- Problème de rail d'alimentation affectant plusieurs circuits
- Crash firmware provoquant des échecs de tests en aval
- Problème de contact du fixture sur une connexion partagée
Schéma 3 : Toutes les mesures décalées
Chaque mesure est légèrement différente de la référence, mais la plupart restent dans les limites. Cela suggère :
- Conditions environnementales différentes (température affectant toutes les mesures)
- Station différente (différences d'étalonnage des instruments)
- Lot de composants différent (décalage systématique des paramètres)
Schéma 4 : Échec intermittent
Même unité, même station, même procédure. Parfois passe, parfois échoue. Comparez les runs réussis et échoués :
- Si la mesure en échec est toujours la même, c'est une valeur marginale proche d'une limite
- Si des mesures différentes échouent à chaque fois, c'est probablement un problème de contact (pogo pin, câble)
- Si le schéma dépend du temps, vérifiez les effets thermiques
Comparaison entre lots de production
La comparaison de runs ne sert pas qu'au débogage. Utilisez-la pour valider qu'un nouveau lot de production correspond au précédent.
- Sélectionnez un run réussi représentatif du lot N
- Sélectionnez les premiers runs du lot N+1
- Comparez les distributions de mesures
Si les mesures du lot N+1 sont systématiquement décalées (même si elles restent dans les limites), investiguez avant de faire passer l'ensemble du lot en production.
Utiliser l'API pour une comparaison programmatique
from tofupilot import TofuPilotClient
client = TofuPilotClient()
# Récupérer deux runs à comparer
run_pass = client.get_run(run_id="run-id-pass")
run_fail = client.get_run(run_id="run-id-fail")
# Comparer les mesures
for step_p, step_f in zip(run_pass["steps"], run_fail["steps"]):
for m_p, m_f in zip(step_p["measurements"], step_f["measurements"]):
diff = abs(m_p["value"] - m_f["value"])
if diff > 0:
pct = diff / m_p["value"] * 100 if m_p["value"] != 0 else float("inf")
status = "DIFF" if pct > 5 else "ok"
print(f"{m_p['name']:30s} {m_p['value']:10.3f} {m_f['value']:10.3f} {pct:6.1f}% {status}")Ce script met en évidence les mesures qui diffèrent de plus de 5 %, vous offrant un moyen programmatique rapide d'identifier les divergences entre deux runs.