Getting Started

Rédiger un plan de test matériel

Un plan de test matériel définit quoi tester, quand et comment. Apprenez à structurer un plan de test et à l'implémenter en Python avec TofuPilot.

JJulien Buteau
intermediate9 min de lecture14 mars 2026

Comment rédiger un plan de test matériel avec TofuPilot

Un plan de test matériel définit ce qui est testé, à quelle étape, avec quel équipement et selon quels critères. Sans plan, la couverture de test dépend de la dernière personne qui a écrit un script. Ce guide explique comment structurer un plan de test de l'EVT à la production et l'implémenter en Python avec TofuPilot.

Ce que couvre un plan de test

SectionContenu
Vue d'ensemble du produitCe que fait le produit, spécifications clés
Étapes de testQuels tests sont exécutés à l'EVT, DVT, PVT, production
Procédures de testInstructions pas à pas pour chaque test
Liste d'équipementsInstruments, bancs de test, logiciels
Critères de réussite/échecLimites de mesure par test
Exigences de donnéesCe qui est enregistré, où, durée de conservation
RôlesQui écrit les tests, qui les exécute, qui examine les résultats

Le plan de test est un document vivant. Il commence de manière approximative en EVT et se précise à chaque phase de fabrication.

Étape 1 : Mapper les exigences aux étapes de test

Commencez par les exigences produit et décidez quand chacune est vérifiée.

ExigenceEVTDVTPVTProduction
Tension de sortie à ±5 %XXXX
Résiste à une chute de 1 mX
Fonctionne de -20°C à 60°CXX
Démarrage firmware en moins de 2 sXXXX
Courant de fuite inférieur à 500 uAXX
FPY supérieur à 95 %XX

Toutes les exigences ne nécessitent pas un test à chaque étape. L'EVT se concentre sur les fonctionnalités de base. Le DVT couvre les tests environnementaux et de stress. Le PVT valide le processus de fabrication. Les tests de production sont exécutés sur chaque unité.

Étape 2 : Définir les procédures de test

Chaque procédure de test devient un script OpenHTF. Définissez les mesures et les limites directement dans le code pour que le plan de test et l'implémentation restent synchronisés.

production_test.py
import openhtf as htf
from openhtf.util import units


@htf.measures(
    htf.Measurement("output_voltage_V")
    .in_range(minimum=4.75, maximum=5.25)
    .with_units(units.VOLT),
    htf.Measurement("boot_time_ms")
    .in_range(maximum=2000)
    .with_units(units.MILLISECOND),
    htf.Measurement("leakage_current_uA")
    .in_range(maximum=500)
    .with_units(units.MICROAMPERE),
)
def phase_production_checks(test):
    """Test de production : tension, temps de démarrage, sécurité."""
    test.measurements.output_voltage_V = 5.02
    test.measurements.boot_time_ms = 1350
    test.measurements.leakage_current_uA = 85.0

Étape 3 : Spécifier les équipements et bancs de test

Documentez chaque instrument dans le plan de test. Cela évite les problèmes du type « ça marche sur mon poste ».

InstrumentModèleUsageCalibration
DMMKeysight 34461ATension et courantAnnuelle
AlimentationRigol DP832Alimentation du DUTAnnuelle
Banc de testPCB jig custom v2.1Contact par pointes pogoVérification par équipe
PCTout, Python 3.10+Exécution des testsN/A

Étape 4 : Définir les limites initiales

Commencez avec les limites de la fiche technique ou des spécifications de conception. Resserrez-les après que les données DVT montrent la distribution réelle.

limit_evolution.py
import openhtf as htf
from openhtf.util import units

# EVT : limites larges, découverte du design
evT_voltage = htf.Measurement("voltage_V").in_range(
    minimum=4.5, maximum=5.5
).with_units(units.VOLT)

# DVT : resserrées d'après les données EVT
dvt_voltage = htf.Measurement("voltage_V").in_range(
    minimum=4.7, maximum=5.3,
    marginal_minimum=4.75, marginal_maximum=5.25,
).with_units(units.VOLT)

# Production : limites finales avec marges
prod_voltage = htf.Measurement("voltage_V").in_range(
    minimum=4.75, maximum=5.25,
    marginal_minimum=4.8, marginal_maximum=5.2,
).with_units(units.VOLT)

Étape 5 : Connecter à TofuPilot

Enregistrez chaque exécution de test dans TofuPilot dès le début. Les données EVT alimentent les limites DVT. Les données DVT alimentent les limites de production. Cela ne fonctionne que si les données sont capturées de manière cohérente.

production_test.py
from tofupilot.openhtf import TofuPilot

test = htf.Test(phase_production_checks)

with TofuPilot(test):
    test.execute(test_start=lambda: input("Scanner le numéro de série : "))

TofuPilot suit les résultats à travers toutes les étapes de test. Ouvrez l'onglet Analytics pour voir les distributions de mesures, les tendances de rendement et les schémas de défaillance. Ces données alimentent le plan de test au fur et à mesure que vous affinez les limites et ajoutez ou supprimez des étapes de test.

Erreurs courantes

ErreurCorrection
Tout tester à chaque étapeMapper les exigences à des étapes spécifiques
Limites issues uniquement de la fiche techniqueAffiner d'après les données de production réelles
Plan de test dans un fichier Word, code ailleursDéfinir les limites dans le code, les garder synchronisées
Pas de suivi de calibrationEnregistrer les informations d'instrument à chaque exécution
Ne pas collecter les données EVTCommencer l'enregistrement dès le premier prototype

Un plan de test n'est pas un document à rédiger une seule fois. Révisez-le après chaque phase de fabrication et mettez à jour les limites, procédures et équipements en fonction de ce que montrent les données.

Plus de guides

Mettez ce guide en pratique