Qu'est-ce que les tests intégrés dans les tests de logiciels ?
⚡ Résumé intelligent
Les tests embarqués vérifient conjointement le comportement fonctionnel et non fonctionnel des logiciels et du matériel, car dans un système embarqué, les deux sont étroitement liés et aucun ne peut être validé correctement individuellement.
Que sont les systèmes embarqués ?
Systèmes embarqués Les systèmes embarqués sont des dispositifs à commande électronique où logiciel et matériel sont étroitement liés. Ils peuvent contenir divers dispositifs informatiques, tels que des PC intégrés à d'autres appareils pour exécuter des fonctions spécifiques à une application. L'utilisateur final n'en a généralement même pas conscience.
Tests intégrés
Tests embarqués est un processus de test permettant de vérifier les fonctionnalités et non fonctionnel Les tests embarqués consistent à évaluer les attributs logiciels et matériels d'un système embarqué et à garantir l'absence de défauts du produit final. Leur principal objectif est de vérifier et de valider si le produit final, composé de matériel et de logiciels embarqués, répond aux exigences du client.
Les tests de logiciels embarqués vérifient et garantissent la qualité du logiciel concerné et sa conformité à toutes les exigences. Ils constituent une excellente approche pour assurer la sécurité des applications critiques telles que les équipements médicaux, les systèmes ferroviaires, aéronautiques, automobiles, etc. Des tests rigoureux et minutieux sont indispensables à l'obtention de la certification logicielle.
Comment effectuer des tests de logiciels embarqués
En général, vous testez pour quatre raisons :
- Pour trouver des bugs dans un logiciel
- Aide à réduire les risques pour les utilisateurs et l'entreprise
- Réduisez les coûts de développement et de maintenance
- Pour améliorer les performances
Lors des tests embarqués, les activités suivantes sont réalisées :
- Le logiciel reçoit certaines données d'entrée.
- Une partie du logiciel est exécutée.
- L'état du logiciel est observé et les sorties sont vérifiées afin de s'assurer qu'elles possèdent les propriétés attendues, comme la correspondance entre la sortie et le résultat attendu, la conformité aux exigences et l'absence de pannes système.
Types de tests de logiciels embarqués
Fondamentalement, il existe cinq niveaux de tests qui peuvent être appliqués aux logiciels embarqués.
Tests unitaires logiciels
Le module unitaire est soit une fonction, soit une classe. Les tests unitaires sont effectués par l'équipe de développement, principalement par le développeur, et sont généralement réalisés selon un modèle d'évaluation par les pairs. Les cas de test sont élaborés à partir des spécifications du module.
Test d'intégration
Test d'intégration peut être classé en deux segments :
- Tests d'intégration de logiciels
- tests d'intégration logiciel/matériel
Au final, l'interaction entre le matériel et les composants logiciels est testée. Cela peut inclure l'examen de l'interaction entre les périphériques intégrés et le logiciel.
Le développement de logiciels embarqués présente une caractéristique unique : l’environnement réel dans lequel le logiciel s’exécute est généralement créé en parallèle avec ce dernier. Cela complexifie les tests, car il est impossible de réaliser des tests complets en environnement simulé.
Tests unitaires du système
Le module à tester est maintenant un framework complet qui comprend l'intégralité du code logiciel ainsi que tous les autres éléments. système d'exploitation en temps réel Le protocole Point de contrôle ne consiste plus en un appel de fonction ou une invocation de méthode, mais en un message envoyé ou reçu via les files d'attente de messages du système d'exploitation temps réel (RTOS).
Les ressources système sont observées pour évaluer la capacité du système à prendre en charge l'exécution du système intégré. Pour cet aspect, tests de boîte grise est la méthode de test privilégiée. Selon l'organisation, les tests unitaires du système incombent soit au développeur, soit à une équipe d'intégration système dédiée.
Tests d'intégration système
Le module à tester est constitué d'un ensemble de composants au sein d'un nœud unique. Les points de contrôle et d'observation (PCO) combinent protocoles de communication réseau et événements RTOS, tels que les messages réseau. Outre son rôle de composant, un testeur virtuel peut également jouer celui d'un nœud.
Tests de validation du système
Le module à tester est un sous-système entièrement implémenté ou le système embarqué complet. L'objectif de ce test final est de satisfaire aux exigences fonctionnelles d'une entité externe. Il convient de noter qu'une entité externe peut être une personne, un appareil d'un réseau de télécommunications, ou les deux.
Différence : tests intégrés et tests logiciels
Le tableau ci-dessous compare les tests embarqués aux tests conventionnels test logiciel.
| Test de logiciel | Tests intégrés |
|---|---|
| Les tests logiciels concernent uniquement les logiciels. | Les tests intégrés concernent à la fois les logiciels et le matériel. |
| En moyenne, 90 % des tests effectués dans le monde sont purement manuels. test de la boîte noire. | Les tests embarqués sont effectués sur des systèmes ou des puces embarqués, et peuvent être de type boîte noire ou test boîte blanche. |
| Les principaux domaines de test sont les vérifications de l'interface graphique, la fonctionnalité, la validation et un certain niveau de test de base de données. | Les principaux axes de test concernent le comportement du matériel en fonction du nombre d'entrées qui lui sont fournies. |
| Les tests logiciels sont principalement effectués sur des applications client-serveur, Web et mobiles. | Les tests embarqués sont généralement effectués sur le matériel. |
| par exemple : Google Mail, Yahoo Mail, Android applications. | Par exemple, les machines du domaine de la santé, les microcontrôleurs utilisés dans les ordinateurs. |
Défis : tests de logiciels embarqués
Voici quelques-uns des défis auxquels on peut être confronté lors des tests de logiciels embarqués :
Dépendance matérielle
La dépendance au matériel constitue l'une des principales difficultés rencontrées lors des tests de logiciels embarqués, en raison de l'accès limité à ce dernier. Or, les émulateurs et les simulateurs peuvent ne pas refléter fidèlement le comportement du dispositif réel et donner une impression erronée des performances du système et de l'ergonomie de l'application.
Logiciel Open Source
La plupart des composants logiciels embarqués sont de nature open source, ne sont pas développés en interne et ne disposent pas d'une suite de tests complète. Il existe une grande variété de combinaisons de tests et de scénarios possibles.
Défauts logiciels ou matériels
Un autre aspect à considérer est le développement de logiciels pour du matériel nouvellement créé. Durant ce processus, un taux élevé de défauts matériels peut être identifié. Ces défauts ne se limitent pas aux logiciels ; ils peuvent également être liés au matériel.
Défauts reproductibles
Dans le cas d'un système embarqué, les défauts sont plus difficiles à reproduire. De ce fait, la procédure de test des systèmes embarqués accorde une importance bien plus grande à chaque occurrence de défaut qu'en situation classique, et s'attache à recueillir un maximum de données afin d'en identifier la cause première.
Mises à jour continues du logiciel
Les systèmes embarqués nécessitent des mises à jour logicielles régulières, telles que les mises à jour du noyau, les correctifs de sécurité et les pilotes de périphériques. Les contraintes liées à ces mises à jour rendent l'identification des bogues difficile et renforcent l'importance de la procédure de compilation et de déploiement.
