Émetteur-récepteur HF — qualité logicielle

Tests unitaires et intégration du firmware

Tester les calculs, machines d’états et drivers avec du matériel simulé avant les essais RF.

Unit testsFonctions isolées
MocksMatériel simulé
IntegrationSous-systèmes assemblés
CoverageZones réellement testées

Organisation fonctionnelle

Code métierInterfaces HALMocksScénariosAssertionsRapport CITests sur matériel
Point critique : Tester uniquement sur le transceiver complet rend les défauts plus difficiles à isoler et les essais plus dangereux.

Tests unitaires

Tester calculs de fréquence, tables de bandes, conversions ADC et règles de sécurité.

Les fonctions doivent être déterministes.

Les cas limites et erreurs sont prioritaires.

Simulation matérielle

Le HAL permet de remplacer les GPIO, ADC et relais par des mocks.

Les retours de relais bloqués ou capteurs invalides sont injectés.

Les transitions RX/TX sont vérifiées sans puissance RF.

Tests sur cible

Les timings réels et interruptions nécessitent le matériel.

Les résultats sont comparés aux simulations.

Chaque bug corrigé ajoute un test de non-régression.

Repères d’ingénierie

Test = entrée connue + état initial + action + résultat attendu
Bug corrigé sans test → risque de retour
Couverture élevée ≠ scénarios critiques bien testés

Contrôles systématiques

  • Conserver RX comme état sûr par défaut.
  • Valider chaque commande avant action matérielle.
  • Mesurer le pire temps d’exécution.
  • Tester les capteurs invalides et pertes de communication.
  • Associer chaque correction à un test de régression.

Procédure recommandée

Identifier les fonctions pures.
Créer les interfaces HAL.
Écrire les mocks.
Tester les cas nominaux.
Tester les erreurs.
Simuler les défauts RF.
Exécuter sur la cible.
Ajouter un test pour chaque bug.
Validation : toute panne logicielle simulée doit ramener le matériel vers un état réception sûr et explicite.