Scaling & Monitoring

Qualité des tests sous-traités

Fournissez vos procédures de test à vos sous-traitants, collectez leurs résultats dans votre espace TofuPilot et gardez une visibilité complète sur la.

JJulien Buteau
intermediate7 min de lecture14 mars 2026

Vous concevez le produit. Votre sous-traitant le fabrique. Mais quand des problèmes de qualité passent entre les mailles, c'est votre marque qui en pâtit. TofuPilot vous permet de partager des procédures de test avec les sous-traitants et de collecter chaque résultat dans votre espace de travail, pour avoir la même visibilité que si vous étiez sur le sol de l'usine.

Le problème de visibilité OEM/sous-traitant

La plupart des OEM reçoivent un rapport de rendement hebdomadaire de leur sous-traitant, peut-être un tableur, peut-être un email avec un chiffre. Ce n'est pas suffisant. Vous avez besoin de données au niveau des mesures pour chaque unité : ce qui a été testé, ce qui a passé, ce qui a échoué, et quelles étaient les valeurs réelles.

Sans ces données, vous ne pouvez pas savoir si un rendement de 96 % signifie que le processus est sain ou s'il masque une mesure qui dérive vers la limite. Le temps que le rapport hebdomadaire montre une baisse de rendement, des centaines d'unités défectueuses ont pu être expédiées.

Mettre en place le flux de travail

La mise en place est simple. Vous écrivez les procédures de test, le sous-traitant les exécute, et les résultats se téléversent dans votre espace TofuPilot.

  1. Vous écrivez et versionnez les scripts de test OpenHTF
  2. Vous fournissez au sous-traitant les scripts et une clé API TofuPilot limitée à votre espace de travail
  3. Le sous-traitant installe les scripts sur ses stations de test et lance la production
  4. TofuPilot collecte chaque exécution avec les métadonnées de station identifiant le site du sous-traitant

Le sous-traitant n'a pas besoin d'accéder à votre tableau de bord TofuPilot. Il exécute simplement les tests. Vous voyez tout.

Écrire des tests que le sous-traitant va exécuter

Gardez les scripts de test autonomes. Les opérateurs du sous-traitant ne doivent rien avoir à modifier. Utilisez station_id pour identifier les stations du sous-traitant dans vos données.

test_motor_driver.py
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot

@htf.measures(
    htf.Measurement("vbus_voltage")
    .in_range(minimum=23.5, maximum=24.5)
    .with_units(units.VOLT),
    htf.Measurement("phase_current")
    .in_range(minimum=0.9, maximum=1.1)
    .with_units(units.AMPERE),
    htf.Measurement("pwm_frequency")
    .in_range(minimum=19500, maximum=20500)
    .with_units(units.HERTZ),
)
def test_motor_output(test):
    test.measurements.vbus_voltage = 24.01
    test.measurements.phase_current = 1.02
    test.measurements.pwm_frequency = 20010

def main():
    test = htf.Test(
        test_motor_output,
        station_id="CM-ACME-SZ-FCT-01",
    )
    with TofuPilot(test):
        test.execute(test_start=lambda: "MDR-2026-04417")

if __name__ == "__main__":
    main()

Préfixez l'identifiant de station avec le nom ou le code du sous-traitant (comme CM-ACME-SZ) pour pouvoir filtrer par sous-traitant dans TofuPilot.

Fournir les instructions de déploiement

Emballez tout ce dont le sous-traitant a besoin :

ÉlémentObjectif
Scripts de test (dépôt Git ou zip)Les procédures exactes à exécuter
requirements.txtDépendances Python incluant openhtf et tofupilot
Guide de configuration de l'environnementComment définir la variable d'environnement TOFUPILOT_API_KEY
Convention de nommage des stationsComment configurer le station_id pour chaque machine
Configuration des instrumentsAdresses VISA, ports série, plans de brochage des montages

Le sous-traitant définit la clé API comme variable d'environnement. Le client TofuPilot la récupère automatiquement.

setup_env.sh
# Le sous-traitant configure ceci une fois par station
export TOFUPILOT_API_KEY=tp_live_xxxxxxxxxxxx

# Le client TofuPilot la lit automatiquement
# Aucune modification de code nécessaire

Gérer plusieurs sous-traitants

Si vous travaillez avec plus d'un sous-traitant, utilisez des préfixes d'identifiant de station distincts pour chacun :

test_sensor_board.py
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot

@htf.measures(
    htf.Measurement("temp_accuracy")
    .in_range(minimum=-0.5, maximum=0.5)
    .with_units(units.DEGREE_CELSIUS),
    htf.Measurement("humidity_accuracy_pct")
    .in_range(minimum=-3.0, maximum=3.0),
)
def test_sensor_accuracy(test):
    test.measurements.temp_accuracy = 0.12
    test.measurements.humidity_accuracy_pct = -1.3

def main():
    test = htf.Test(
        test_sensor_accuracy,
        # CM-BETA identifie l'établissement de ce sous-traitant
        station_id="CM-BETA-GDL-EOL-03",
    )
    with TofuPilot(test):
        test.execute(test_start=lambda: "SNS-2026-09102")

if __name__ == "__main__":
    main()

Cela vous donne un filtrage propre : voir tous les résultats de CM-BETA, comparer le rendement de CM-ACME vs CM-BETA, ou aller au détail d'une station spécifique.

Surveiller la qualité des sous-traitants dans TofuPilot

Avec tous les sous-traitants téléversant vers votre espace de travail, TofuPilot vous offre :

  • Rendement par sous-traitant pour comparer les performances des sous-traitants en un coup d'oeil
  • Distributions de mesure par sous-traitant pour détecter les différences de processus. Si les mesures de tension de CM-ACME sont décalées par rapport à CM-BETA, l'un d'eux a un problème de calibration.
  • Pareto des défaillances par site pour voir si différents sous-traitants ont des difficultés sur différents tests
  • Flux de résultats en temps réel pour voir les résultats au fur et à mesure, pas dans un rapport hebdomadaire

Maintenir les procédures synchronisées

Quand vous mettez à jour une procédure de test, chaque sous-traitant a besoin de la nouvelle version. Utilisez des tags Git ou des numéros de version pour vérifier quelle version chaque site exécute. TofuPilot suit la procédure utilisée pour chaque exécution, vous pouvez donc filtrer par version de procédure et confirmer le déploiement.

N'autorisez pas les sous-traitants à modifier les limites de test ou à sauter des tests. Les procédures que vous livrez sont la source unique de vérité. Si un sous-traitant signale qu'un test échoue trop souvent, investiguez la cause racine au lieu d'assouplir les limites.

Plus de guides

Mettez ce guide en pratique