• 8 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 21/11/2019

Vérifiez que votre système embarqué fonctionne correctement

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Nous allons aborder dans ce chapitre les aspects liés à la vérification et à la validation des systèmes embarqués industriels. Nous illustrerons nos propos en donnant des exemples issus de notre calculateur de pilotage d'un engin agricole.

La vérification

Ces activités permettent de détecter et de rendre compte des erreurs pouvant être introduites durant le développement.

Les activités menées pour la vérification sont principalement : des revues de pairs, des simulations, des analyses, des tests.

La validation

Ces activités permettent également de montrer que les exigences dérivées associées à des composants matériels ou logiciels sont cohérentes et complètes vis-à-vis des exigences de niveau supérieur. Les types d’activités menées pour la validation sont : des revues, des inspections, des audits, des tests.

Stratégie

Boucle : exigences > procédures > résultats > etc.
Schéma d'une procédure

Les procédures de test sont décrites en relation avec les exigences qu'elles couvrent. Elles sont elles-mêmes en relation avec leurs résultats.

Si les tests sont amenés à être rejoués plusieurs fois, il peut être intéressant de mettre en place des outils d'intégration continue qu'on aura eu soin de qualifier au préalable dans leur domaine d'emploi.

Revues

On parle de "revue" lorsqu'on évoque :

  • des revues de pairs ;

  • des revues d’avancement intermédiaires ;

  • des revues de fin d’itération, de phase, de jalon.

Ces revues participent à la vérification et à la validation des activités en s’assurant que :

  • les standards et plans du projet sont appliqués ;

  • les données produites sont conformes, complètes et cohérentes.

Des actions de correction sont ouvertes lors de ces revues par les pairs ou le responsable projet/produit, et sont closes lorsque les actions sont prises en compte.

Analyses

Les analyses sont effectuées sur les éléments du système. Elles permettent d’apporter une justification de conformité aux exigences par démonstration, et donc sans avoir recours à des activités de tests. Leurs résultats sont en général annexés aux rapports de test et doivent être mis en œuvre dès que possible, afin d’optimiser les procédures et les temps de test.

Inspections

Les inspections permettent de vérifier par prélèvement sur l’élément inspecté que l’exigence requise est respectée. Le résultat des inspections est renseigné dans le rapport de tests, qui regroupe tous les résultats des activités de vérification et de validation.

Tests

Plusieurs types de tests sont réalisés sur un système en développement.

Test unitaire

Les tests unitaires qui s’assurent du fonctionnement correct d’une fonction, d'un bloc ou partie d’une fonction/d'un bloc. Il s’agit ici de tester cette fonction/ce bloc indépendamment du reste du système, afin de vérifier que la fonction/le bloc est implémenté correctement. C'est le cas pour des exigences de bas niveau.

Tests d'intégration

Les tests d’intégration sont de 2 types :

  • les tests d’intégration métier, qui s’assurent que les composants d’un même métier interagissent correctement les uns avec les autres ;

  • mais également les tests d’intégration matériel/logiciel qui s’assurent que le composant, dans la machine cible, est compatible avec cette dernière, c’est-à-dire que les interfaces entre le logiciel et le matériel fonctionnent correctement.

Tests d’intégration métier (haut) et tests d'intégration matériel/logiciel (bas)
Tests d’intégration métier (haut) et tests d'intégration matériel/logiciel (bas)

Les tests de validation valident que le composant, dans la machine cible, dans son domaine d'emploi, satisfait aux exigences de haut niveau.

Autres tests

Il n'y a pas que ces tests. Il y a également les tests nominaux qui démontrent la capacité du système à s’exécuter dans des conditions nominales avec des données normales, à l’intérieur de leurs limites d’utilisation.

Les tests de robustesse pour leur part ont démontré la capacité du système à s’exécuter correctement dans des conditions anormales et/ou avec des données anormales (des types différents, des valeurs hors gabarit, un nombre de paramètres différents, une activité dynamique ou un flux de données hors limites, par exemple).

Les tests de qualification vont garantir la conformité fonctionnelle du système aux exigences, et notamment sa capacité de fonctionner dans son environnement pendant l’ensemble de sa durée de vie. Les tests associés considèrent donc les limites opérationnelles du système et simulent son vieillissement.

À quoi correspondent les tests de non-régression ? C'est la vérification que les modifications incrémentales apportées au système ne remettent pas en cause son intégrité.

Tests de non régression
Tests de non-régression

Les tests screening sont les activités de déverminage visant à éliminer les différents défauts inhérents à une nouvelle fabrication (lors de mauvaises soudures issues d'un câblage, ou de mauvais vissages, de mauvais collages), à des composants défaillants... Ils s'adressent particulièrement à du matériel.

Simulations

Les objectifs initiaux de la simulation sont :

  • intégrer cette simulation au cœur de la conception, et pas à la fin de celle-ci ;

  • améliorer le niveau de confiance de la conception proposée ;

  • réduire les risques de non-conformité et les opérations de reprise de la conception ;

  • diminuer les délais et les coûts de développement.

À terme, c'est d'augmenter la part de la simulation. Pour quoi faire? Pour améliorer le niveau de confiance, améliorer les éléments de preuve sur le système et là encore réduire les délais, réduire les coûts.

Nous avons rapidement balayé les activités liées à la vérification et la validation d'un système embarqué.

Mais ne vous y trompez pas, le plus long reste à faire : décrire votre propre stratégie, décrire vos procédures, configurer vos outils et lancer vos activités afin de garantir la fiabilité opérationnelle de vos produits et la satisfaction de vos clients.

Exemple de plan de vérification et validation :

  • introduction,

  • objectifs et périmètre,

  • organisation (responsabilités, indépendance),

  • environnement de vérification (outils, espaces de tests, critères de validation des outils),

  • méthodologie (présentation des activités à mener, des flux, conventions, indicateurs de suivi),

  • vérification (mise en œuvre des activités de vérification, prérequis, conditions de réalisation, critères d'achèvement, non-régression),

  • validation (mise en œuvre des activités de validation),

  • vérification relative à la gestion des changements,

  • procédures et résultats de tests.

Dans ce chapitre, nous avons abordé des aspects clefs liés à la vérification et à la validation de notre système. Il est temps de conclure ce cours, au fil duquel vous avez suivi la démarche, étape par étape, d’un ingénieur employé dans une PME qui avait pour mission de concevoir, fabriquer et commercialiser un système d’aide au pilotage d’un véhiculant agricole roulant, par une synthèse de cette démarche.

Exemple de certificat de réussite
Exemple de certificat de réussite