Tests d'intégration pour les logiciels embarqués
Lorsque des modules logiciels vérifiés individuellement sont regroupés pour former des composants et des sous-systèmes plus vastes, de nouvelles catégories de défauts apparaissent. Les incompatibilités d'interface, les hypothèses erronées concernant les données partagées et les couplages indésirables entre modules deviennent alors visibles à ce stade. C'est lors des tests d'intégration que ces problèmes sont détectés et résolus avant le début des tests au niveau du système.
Ce que couvrent les tests d'intégration
Les tests d'intégration portent sur les interfaces entre les unités et les composants logiciels. Parmi les principaux objectifs de vérification, on peut citer :
- Mise en œuvre correcte des interfaces entre les modules
- Comportement correct lorsque plusieurs unités interagissent dans des conditions combinées
- Couplage des données : l'ordre et la cohérence des accès en lecture et en écriture aux données partagées
- Couplage de contrôle : s’assurer que les signaux de contrôle transmis entre les composants se comportent conformément aux spécifications
Conformément à la norme DO-178C et aux normes associées, les couplages de données et de contrôle doivent être explicitement identifiés, testés et leur exhaustivité doit être démontrée. Cela implique notamment de démontrer l’absence de couplage involontaire entre les composants.
Couverture au niveau de l'intégration
La mesure de la couverture se poursuit au niveau de l'intégration, en recourant souvent à des approches d'instrumentation différentes de celles utilisées au niveau unitaire. VectorCAST/QA instrumente le code source indépendamment du compilateur, ce qui permet de l'utiliser dans diverses configurations de compilation et dans des environnements où il n'est pas possible de modifier la configuration des tests unitaires.
L'exécutable instrumenté s'exécute dans les environnements de test existants, les données de couverture étant collectées pendant l'exécution, ce qui permet d'appliquer la mesure de couverture « boîte blanche » aux tests d'intégration et aux tests système « boîte noire » sans modifier la configuration des tests.
Couplage entre les données et le contrôle
Les rapports de couverture des composants et des couplages de VectorCAST fournissent les preuves relatives aux couplages de données et de contrôle exigées par la norme DO-178C et les normes similaires. VectorCAST/Coupling détecte les actions de lecture et d'écriture liées aux couplages de données et recense les appels liés aux couplages de contrôle, générant ainsi les rapports de couverture des couplages requis par les auditeurs.
De l'intégration au système
VectorCAST prend en charge les tests unitaires, d'intégration et au niveau du système en utilisant la même infrastructure de test, la même mesure de couverture, les mêmes enregistrements de traçabilité et les mêmes rapports pour ces trois niveaux. Une suite de tests créée au niveau unitaire n'a pas besoin d'être recréée lorsque le Scope passe aux tests d'intégration ou au niveau du système.