Qualité logicielle

Qualité logicielle

En cours de développement ou à partir de code existant, création de tests unitaires, d'intégration et fonctionnels. Mise en place de l'intégration continue pour atteindre les métriques du projet : couverture de code, analyse de code statique et dynamique, conformité à la norme MISRA-C.

Méthodologie


  • Analyse des besoins et spécifications
  • Planification des tests et définition des cas
  • Exécution des tests et suivi des résultats, incluant une analyse statique et dynamique du code pour identifier les erreurs potentielles
  • Ajout des tests au processus d'intégration continue pour vérifier quotidiennement la non-régression
  • Utilisation de la méthode Modified Condition/Decision Coverage (MC/DC) pour les tests afin d'assurer une couverture exhaustive des conditions logiques
  • Suivi des bonnes pratiques recommandées par l'ISTQB (International Software Testing Qualifications Board)
  • Rapports d'anomalies et régressions
  • Respect des standards de l'ISO-26262 pour assurer la sécurité fonctionnelle des systèmes embarqués
  • Mise en place des tests automatisés dans l'environnement d'intégration continue

Outils


  • Jenkins : Automatisation des tests pour l'intégration continue
  • RobotFramework : Framework de test automatisé pour les tests fonctionnels
  • Unity, Unit Testing for C : Environnement de développement intégré pour les tests unitaires
  • Razorcat Tessy : Outil de test pour le développement et la validation des logiciels embarqués
  • Matlab Polyspace : Outil d'analyse statique et dynamique pour détecter les erreurs de programmation et assurer la qualité du code

Normes


  • Automotive SPICE : Evaluation des processus de développement de logiciels pour l'industrie automobile
  • MISRA-C : Directives pour le développement sûr et sécurisé de logiciels embarqués en langage C