Concepts & Methodology

Qu'est-ce que le test adaptatif en production

Le test adaptatif utilise les données en temps réel pour ajuster les séquences de test, ignorer les vérifications redondantes et réduire le temps de.

JJulien Buteau
advanced8 min de lecture14 mars 2026

Qu'est-ce que le test adaptatif en production

Le test adaptatif ajuste la séquence de test en temps réel en fonction des données issues des étapes précédentes, des résultats historiques ou des conditions du processus. Au lieu de faire passer chaque unité par tous les tests, le test adaptatif décide quels tests exécuter, lesquels ignorer et quelles limites appliquer en fonction de ce que disent les données. Ce guide explique comment fonctionne le test adaptatif, les différents niveaux d'adaptation et les cas où il apporte le plus de valeur.

Test statique vs test adaptatif

AspectTest statiqueTest adaptatif
Séquence de testIdentique pour chaque unitéAjustée par unité en fonction des données
Temps de testFixeVariable (plus court pour les unités conformes)
LimitesIdentiques pour chaque unitéPeuvent être resserrées ou élargies selon le contexte
Logique de décisionPasse/échoue par mesurePasse/échoue plus score de risque
Dépendance aux donnéesAucune (exécution à l'aveugle)Nécessite des données historiques et une analyse en ligne

Dans le test de semi-conducteurs, le test adaptatif est déployé depuis plus d'une décennie. Advantest et Teradyne proposent des plateformes qui sautent des tests en fonction des données wafer en amont, réduisant le temps de test de 10 à 50 %. En fabrication discrète, le concept est plus récent mais les mêmes principes s'appliquent.

Niveaux de test adaptatif

NiveauCe qui s'adapteExempleComplexité
1. Arrêt rapideOrdre des testsExécuter le test avec le taux d'échec le plus élevé en premier, arrêter dès un échecFaible
2. Saut si réussiteCouverture des testsSi la mise sous tension réussit, ignorer le test détaillé des rails de tensionMoyenne
3. Saut basé sur les donnéesSélection des testsUn modèle ML prédit que cette unité va réussir d'après les données amont, ignorer le testÉlevée
4. Limites dynamiquesCritères passe/échoueResserrer les limites pour un lot d'un nouveau fournisseur, relâcher pour un lot éprouvéÉlevée
5. Clôture autonomeTerminaison du testL'IA détermine que suffisamment de tests ont été effectués pour cette unitéTrès élevée

La plupart des équipes de production opèrent au niveau 1 (ordonnancement par arrêt rapide) sans appeler cela du test adaptatif. Les niveaux 2-3 offrent les plus grandes réductions de temps de cycle. Les niveaux 4-5 sont des capacités émergentes.

Où le test adaptatif apporte de la valeur

ScénarioTemps de test statiqueTemps de test adaptatifGain
Produit à haut rendement (98 % FPY)60 secondes45 secondes (ignorer les vérifications redondantes sur les unités conformes)25 %
Produit multi-variantes90 secondes (tous les tests)50-70 secondes (tester uniquement les étapes spécifiques à la variante)22-44 %
Produit mature, processus stable60 secondes30 secondes (ignorer les tests avec un taux d'échec historique de 0 %)50 %
Nouveau produit, processus instable60 secondes60 secondes (ne rien ignorer, les données sont nécessaires)0 %

Le test adaptatif apporte le plus de valeur lorsque le rendement est élevé et le produit est mature. Lorsque vous êtes encore en phase d'apprentissage, exécutez tout et collectez les données.

Prérequis

  • Python 3.10+
  • OpenHTF installé (pip install openhtf)
  • SDK Python TofuPilot installé (pip install tofupilot)

Étape 1 : Implémenter l'ordonnancement par arrêt rapide

La forme la plus simple de test adaptatif : placer les phases qui échouent le plus souvent en premier. Lorsqu'une unité échoue tôt, ignorer les phases restantes.

adaptive_test.py
import openhtf as htf
from openhtf.util import units
from openhtf import PhaseResult


@htf.measures(
    htf.Measurement("power_good").equals("PASS"),
)
def phase_power_check(test):
    """Test avec le taux d'échec le plus élevé. Exécuter en premier, arrêter en cas d'échec."""
    result = "PASS"
    test.measurements.power_good = result
    if result != "PASS":
        return PhaseResult.STOP


@htf.measures(
    htf.Measurement("firmware_version").equals("3.1.0"),
)
def phase_firmware(test):
    """Deuxième taux d'échec le plus élevé. Exécuter ensuite."""
    test.measurements.firmware_version = "3.1.0"


@htf.measures(
    htf.Measurement("output_voltage_V")
    .in_range(minimum=4.9, maximum=5.1)
    .with_units(units.VOLT),
)
def phase_output(test):
    """Échoue rarement. Exécuter en dernier."""
    test.measurements.output_voltage_V = 5.01

Étape 2 : Ignorer les tests redondants

Si une phase de test a eu un taux d'échec de 0 % sur les 10 000 dernières unités, envisagez de la retirer de la séquence. Utilisez le Pareto des défaillances de TofuPilot pour identifier ces phases.

adaptive_test.py
@htf.measures(
    htf.Measurement("communication_check").equals("PASS"),
)
def phase_communication(test):
    """Taux d'échec de 0,01 %. Candidat à l'omission pour les produits matures."""
    test.measurements.communication_check = "PASS"

La décision d'ignorer un test doit être fondée sur les données. TofuPilot suit les taux d'échec par étape de test. Ouvrez l'onglet Analytique pour voir quelles phases ont des taux d'échec nuls ou quasi nuls sur des milliers d'unités.

Étape 3 : Enregistrer les résultats pour l'apprentissage continu

Le test adaptatif nécessite une collecte de données continue. Même lorsque vous ignorez un test sur la plupart des unités, exécutez la séquence complète sur un échantillon pour valider que les tests ignorés réussissent toujours.

adaptive_test.py
from tofupilot.openhtf import TofuPilot

test = htf.Test(
    phase_power_check,
    phase_firmware,
    phase_output,
    phase_communication,
)

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

Risques et mesures de protection

RisqueMesure de protection
Ignorer un test qui aurait détecté un défautExécuter la séquence complète sur 5-10 % des unités comme échantillon d'audit
Un changement de processus invalide les décisions d'omissionRéévaluer après tout ECO, changement de fournisseur ou modification du processus
Sur-optimisation basée sur des données stablesDéfinir un seuil minimum de couverture de test qui ne peut pas être réduit
Exigences réglementaires pour un test à 100 %Certaines industries (médical, aérospatial) exigent chaque test sur chaque unité

Le test adaptatif ne consiste pas à tester moins. Il consiste à tester plus intelligemment. L'objectif est de maintenir le même taux de détection de défauts avec moins de temps et de coût.

Plus de guides

Mettez ce guide en pratique