Concepts & Methodology

Rapports de test automatisés avec TofuPilot

Découvrez comment générer des rapports de test matériel automatisés à partir des données TofuPilot, en remplaçant la création manuelle de rapports Excel et PDF.

JJulien Buteau
intermediate10 min de lecture13 mars 2026

Rapports de test automatisés avec TofuPilot

Les rapports de test sont nécessaires. Les construire manuellement ne l'est pas. TofuPilot stocke toutes vos données de test dans un format structuré, ce qui permet de générer les rapports automatiquement au lieu de les assembler à la main dans Excel chaque vendredi.

Le problème des rapports manuels

Un rapport qualité hebdomadaire typique nécessite :

  1. Exporter les données de chaque station de test (15 min par station)
  2. Fusionner les exports dans un seul tableur (30 min)
  3. Calculer le FPY, le Pareto des défaillances et les statistiques de mesure (45 min)
  4. Construire les graphiques (30 min)
  5. Rédiger le résumé et les observations (30 min)
  6. Mettre en forme et distribuer (15 min)

Cela représente plus de 3 heures chaque semaine. Pour un ingénieur qualité qui devrait analyser les données, pas formater des cellules.

Ce que TofuPilot automatise

TofuPilot remplace entièrement les étapes 1 à 4. Les données sont déjà centralisées. Les indicateurs sont déjà calculés. Les graphiques sont déjà tracés.

Étape manuelleÉquivalent TofuPilot
Exporter depuis chaque stationLes données sont envoyées automatiquement
Fusionner dans un seul tableurDéjà dans une seule base de données
Calculer le FPYCalculé en temps réel
Construire les graphiquesTableaux de bord intégrés
Pareto des défaillancesGénéré automatiquement à partir des résultats de test
Distributions des mesuresHistogrammes par mesure

Types de rapports de test

Rapport de test par unité

Un enregistrement complet des résultats de test d'une unité. Utile pour :

  • La documentation d'acceptation client
  • Les dossiers de garantie
  • Les soumissions réglementaires

Contenu : numéro de série, toutes les procédures de test exécutées, toutes les mesures avec limites, statut pass/fail, horodatages.

Rapport de synthèse de lot

Données qualité agrégées pour un lot de production. Utile pour :

  • Les décisions de libération de production
  • Les revues qualité fournisseur
  • Les tableaux de bord de direction

Contenu : taille du lot, FPY, Pareto des défaillances, distributions des mesures, valeurs Cpk.

Rapport de performance des stations

Performance de chaque station de test. Utile pour :

  • La planification de la maintenance
  • La planification de la capacité
  • La qualification des stations

Contenu : FPY par station, temps de cycle, modes de défaillance, distributions des mesures.

Générer des rapports via l'API

Utilisez l'API de TofuPilot pour extraire les données dans des formats de rapport personnalisés.

batch_report.py
from tofupilot import TofuPilotClient
from datetime import datetime, timedelta

client = TofuPilotClient()

# Récupérer tous les runs d'une procédure sur les 7 derniers jours
runs = client.get_runs(
    procedure_id="FINAL-FUNCTIONAL-V3",
    limit=500,
)

# Calculer les statistiques du lot
total = len(runs)
passed = sum(1 for r in runs if r["run_passed"])
fpy = passed / total if total > 0 else 0

# Répartition des modes de défaillance
failure_modes = {}
for run in runs:
    if not run["run_passed"]:
        for step in run.get("steps", []):
            if not step["status"]:
                mode = step["name"]
                failure_modes[mode] = failure_modes.get(mode, 0) + 1

print(f"Rapport de lot - FINAL-FUNCTIONAL-V3")
print(f"Période : 7 derniers jours")
print(f"Unités totales : {total}")
print(f"Réussies : {passed}")
print(f"FPY : {fpy:.1%}")
print()
print("Principaux modes de défaillance :")
for mode, count in sorted(failure_modes.items(), key=lambda x: -x[1]):
    print(f"  {mode}: {count} ({count/total:.1%})")

Générer un export CSV

export_csv.py
import csv
from tofupilot import TofuPilotClient

client = TofuPilotClient()

runs = client.get_runs(
    procedure_id="FINAL-FUNCTIONAL-V3",
    limit=1000,
)

with open("test_report.csv", "w", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["Série", "Date", "Statut", "Étape", "Mesure", "Valeur", "Unité", "Limite basse", "Limite haute", "Résultat"])

    for run in runs:
        serial = run["unit_under_test"]["serial_number"]
        date = run["created_at"]
        status = "PASS" if run["run_passed"] else "FAIL"

        for step in run.get("steps", []):
            for m in step.get("measurements", []):
                writer.writerow([
                    serial,
                    date,
                    status,
                    step["name"],
                    m["name"],
                    m["value"],
                    m.get("unit", ""),
                    m.get("limit_low", ""),
                    m.get("limit_high", ""),
                    "PASS" if step["status"] else "FAIL",
                ])

print(f"{len(runs)} runs exportés vers test_report.csv")

Planification des rapports

Option A : Rapports basés sur cron

weekly_report.py
# Exécuter chaque lundi à 7h via cron
# 0 7 * * 1 python3 /opt/reports/weekly_report.py

from tofupilot import TofuPilotClient
import smtplib
from email.mime.text import MIMEText

client = TofuPilotClient()

# Générer le contenu du rapport
runs = client.get_runs(procedure_id="FINAL-FUNCTIONAL-V3", limit=500)
total = len(runs)
passed = sum(1 for r in runs if r["run_passed"])
fpy = passed / total if total > 0 else 0

report = f"""Rapport de test hebdomadaire - FINAL-FUNCTIONAL-V3

Unités testées : {total}
Rendement au premier passage : {fpy:.1%}
"""

# Envoyer par email
msg = MIMEText(report)
msg["Subject"] = f"Rapport de test hebdomadaire - FPY {fpy:.1%}"
msg["From"] = "reports@yourcompany.com"
msg["To"] = "quality-team@yourcompany.com"

with smtplib.SMTP("smtp.yourcompany.com") as server:
    server.send_message(msg)

Option B : Liens vers les tableaux de bord

Au lieu de générer des rapports PDF, partagez les liens vers les tableaux de bord TofuPilot. Le destinataire voit les données en temps réel, pas un instantané du moment où le rapport a été généré.

Avantages par rapport aux rapports statiques :

  • Toujours à jour
  • Interactifs (filtrer, explorer, comparer)
  • Aucune étape de génération nécessaire
  • Aucune étape de distribution nécessaire

Remplacer la réunion qualité hebdomadaire

Au lieu de passer les 30 premières minutes de votre réunion qualité à présenter des données, ouvrez le tableau de bord TofuPilot et lancez la conversation à partir des données. La réunion passe de « voici ce qui s'est passé » à « voici ce que nous devrions faire ».

Plus de guides

Mettez ce guide en pratique