Code Coverage
Develop. Test. Cover!
Pour C et C++
Testwell CTC++ a été développé à l'origine pour le code source en langage C. Il prend en charge C++ depuis plus de 30 ans et s'adapte en permanence à ses normes linguistiques très dynamiques.
La famille des langages C possède quelques fonctionnalités spéciales pour la mesure de la couverture:
- Source code in header files - celui-ci est fusionné pour toutes ses copies par Testwell CTC++.
- Utilisation de macros - Testwell CTC++ instrumente le code déjà prétraité et accède ainsi au contenu complet des macros.
- Variantes de code grâce au prétraitement: Dans le développement de logiciels critiques pour la sécurité, les variantes doivent être testées séparément. Testwell CTC++ reconnaît les variantes et les identifie séparément.
Un module complémentaire est disponible pour le langage Java.
Safety-Critical Software Development
Lorsque des vies humaines sont en danger, diverses normes de sécurité telles que la norme ISO 26262 dans le secteur automobile ou la DO-178C dans l'aviation exigent la mesure de la couverture du code.
Plusieurs centaines d'entreprises dans le monde utilisent Testwell CTC++ dans cet environnement de développement pour couvrir toutes les exigences de couverture de leur norme jusqu'au niveau MC/DC requis le plus élevé.
Testwell CTC++ est certifié par TÜV Süd pour la sécurité fonctionnelle conformément aux normes IEC 61508, ISO26262, EN 50128 et IEC 62304. Avec notre Safety Package, nous vous accompagnons dans la qualification de vos outils.
Logiciel embarqué
La mesure de la couverture des logiciels sur des cibles embarquées présente quelques défis spécifiques:
Faible Mémoire | La charge d'instrumentation est fondamentalement faible et peut être encore réduite grâce à divers flux de travail. Dans les cas extrêmes, la couverture est mesurée sur des bits individuels et peut être lue via le débogueur. |
---|---|
Données de couverture | Toute interface de communication entre la cible et l'hôte peut être utilisée pour écrire les données de couverture. La bibliothèque d'exécution pour l'écriture des données de couverture est fournie sous forme de code C qui peut être adapté aux capacités de la cible. |
Cross-Compiler | Testwell CTC++ fonctionne indépendamment du compilateur et peut être configuré pour n'importe quel compilateur C / C++. Nous fournissons à nos utilisateurs de nombreuses configurations de compilateur et les aidons à s'adapter aux nouveaux compilateurs. |
Application Software
La mesure de la couverture pour les applications Windows, Linux et macOS est très simple et pratique avec Testwell CTC++
- Légère augmentation du temps de construction
- Bibliothèques fournies pour l'écriture des données de couverture
- Rapports hautes performances et évolutifs
Les applications en mode noyau des systèmes d'exploitation sont traitées comme des cibles embarquées avec Testwell CTC++, avec une bibliothèque d'exécution ajustable.
Intégration
Testwell CTC++ peut être intégré dans presque tous les environnements de développement et de test. En tant que collection d'outils de ligne de commande, il fonctionne à n'importe quel degré d'automatisation
- sur les serveurs de build et les solutions CI,
- sur les ordinateurs des développeurs,
- centralisée ou distribuée selon les étapes du processus instrumentation - test - reporting.
Pour intégrer l'instrumentation du code source dans le processus de build, très souvent, aucune configuration de build supplémentaire n'est nécessaire.
Testwell CTC++ propose des intégrations dans des IDE tels que Visual Studio et IAR Embedded Workbench. Dans de nombreux autres IDE, les étapes de travail peuvent être intégrées via la configuration.
Voici ce que disent nos utilisateurs
Des milliers d'utilisateurs satisfaits dans le monde utilisent avec succès Testwell CTC++.
Lisez plus d'avis d'utilisateurs et de témoignages complets...
Assistance pour nos utilisateurs
L'équipe support de Verifysoft offre à nos clients une assistance complète pour l'installation, la configuration et l'utilisation de Testwell CTC++.
En guise de documentation, nous fournissons une aide complète, Testwell CTC++ Help, dans le cadre de l'installation et sous forme de version en ligne.
En plus de l'assistance normale, nous sommes heureux de vous fournir des conseils ou une assistance pour vous aider à mesurer la couverture de votre projet le plus rapidement et le plus efficacement possible!
Rapports flexibles
Notre rapport HTML offre des vues d'ensemble et montre les détails de la mesure de couverture dans le code source. Ses niveaux de rapport peuvent être configurés en fonction du projet.
Testwell CTC++ crée tous les rapports de couverture sur la base de modèles et prend ainsi en charge tous les formats textuels tels que XML, CSV ou JSON. De cette façon, les systèmes tiers tels que les tableaux de bord peuvent facilement être alimentés avec les données requises.
La couverture manquante est expliquée et documentée via des justifications. Testwell CTC++ montre l'impact des justifications sur toutes les mesures de couverture - il est donc clair et transparent si 100 % du code a été testé ou au moins expliqué. Regardez notre vidéo sur les justifications pour en savoir plus.
Les tests
Tous les types de tests, qu'il s'agisse de tests unitaires, de tests d'intégration ou de tests système complets, peuvent être effectués comme d'habitude. Les tests peuvent être effectués de manière entièrement automatisée, partiellement automatisée ou manuelle.
Le programme instrumenté ou l'exécutable de test écrit les données dans un fichier pendant le test. Lorsque le test est exécuté sur une cible, cette écriture est entièrement personnalisable ; les données peuvent, par exemple, être transférées directement vers l'hôte.
Avec Testwell CTC++, toutes les séries de tests d'un projet peuvent être combinées en un seul rapport. Il fonctionne avec tous les outils de tests unitaires, plates-formes et frameworks de tests courants.
Niveaux de couverture
Testwell CTC++ propose toutes les mesures de couverture requises par diverses normes de sécurité:
- Function Coverage
- Statement Coverage
- Decision / Branch Coverage
- Condition Coverage
- MC/DC: Modified Condition / Decision Coverage
- Multicondition Coverage
Les lignes de code exécutées, non exécutées et partiellement exécutées sont mises en évidence visuellement (Line Coverage).
Vous trouverez une explication détaillée des mesures dans notre Testwell CTC++ Help.