Découvrez comment la solution Parasoft Continuous Quality permet de contrôler et de gérer les environnements de test pour fournir des logiciels de haute qualité en toute confiance. Inscrivez-vous pour la démo >>

BLOG

Étude de cas: l'analyse statique conduit à 30% moins de défauts

Étude de cas: l'analyse statique conduit à 30% moins de défauts Temps de lecture : 4 minutes

Augmentation de la productivité et de la qualité des logiciels critiques

 Thales Italie dispose d'un solide portefeuille de produits et de technologies destinés aux marchés civils et militaires. Ils proposent des solutions technologiques adaptées aux secteurs de la sécurité et du transport (avec une expertise en signalisation ferroviaire et protection / surveillance des infrastructures critiques); dans la division défense (avec une expertise dans les communications militaires et l'électronique de guerre); et dans le domaine de la gestion du trafic aérien (avec une expertise dans les systèmes d'atterrissage, de navigation et de surveillance).

Thales a décidé d'appliquer l'analyse statique via Parasoft C / C ++test  à son projet Integrated Tramway Management Solutions, puis l'a déployé plus tard dans l'ensemble de la division Automatic Vehicle Location System. Le résultat: Thales réduit son taux de composants défectueux de 30% et significativement amélioration des performances des applications.

Qu'est-ce que l'analyse de code statique?

L'analyse de code statique (ou analyse statique) est une activité de test de logiciel dans le développement de logiciels, dans laquelle le code source est analysé pour des constructions connues pour être associées à des erreurs logicielles ou des vulnérabilités de sécurité. Lorsqu'une construction à haut risque est détectée, l'outil d'analyse statique signale une violation que le développeur doit afficher et corriger.

L'exécution d'une analyse statique sur le bureau fournira certains avantages et peut fonctionner pour de petites équipes ou des projets; cependant, dans les grandes organisations, l'analyse statique doit également être automatisée dans le cadre des builds nocturnes et de l'intégration continue. Lorsqu'elle est implémentée en tant que partie intégrante du processus de développement, l'analyse de votre code avec une analyse statique offre un certain nombre d'avantages, notamment les suivants:

Cycle de développement plus rapide

Une analyse statique constante dès les premières étapes du projet vous permet de trouver et de corriger les défauts systémiques lorsque le coût de la correction est à son plus bas. Le processus peut initialement prendre plus de temps que le développement rapide du logiciel sans exécuter l'analyse, mais les gains d'efficacité deviennent exponentiels au cours du cycle de vie du développement.

Taux de défaut inférieur

L'analyse statique vous aide à trouver et à corriger rapidement les défauts, ce qui peut empêcher la réapparition de défauts systémiques en aval. Avec une politique de détection précoce, vous pouvez plus facilement mettre en œuvre une politique de prévention des défauts, ce qui réduit le taux de défauts tout au long du cycle de développement.

AMÉLIORATION CONTINUE

L'analyse statique automatisée est un mécanisme de rétroaction efficace essentiel à la réussite du processus DevOps et CI / CD. Ces outils génèrent également les données dont les autres services ont besoin pour accéder et collaborer efficacement dans le cadre du modèle DevOps. Surtout lorsqu'elle est utilisée avec des tests unitaires et de régression, l'analyse statique remplit quelques rôles, notamment:

  • Assurer la qualité du code
  • Fournir les mégadonnées nécessaires pour améliorer le processus de développement
  • Faciliter les usinages de la boucle de rétroaction automatisée DevOps

En conséquence, l'analyse statique devient un agent d'amélioration continue et automatisée des processus. Il permet aux développeurs de comprendre et d'examiner une erreur détectée lors de la publication, ou au contrôle qualité de déterminer s'il existe un moyen de renforcer le code et d'éliminer la possibilité que ces défauts se produisent à l'avenir.

Détails du déploiement de l'analyse statique

Thales recherchait une solution qui simplifierait la configuration, le déploiement et la gestion d'un ensemble de règles standardisées au sein d'une équipe ou d'un service. Les exigences spécifiques comprenaient: 

  • Capacités de test de développement tout-en-un
  • Possibilité d'étendre la configuration de leurs normes de codage uniques
  • Facilité de configuration du projet 
  • Intégration transparente dans leurs environnements de développement / test
  • Détection des défauts d'exécution

Les outils de test de Parasoft ont permis à Thales d'appliquer de manière efficace et cohérente un large éventail de pratiques complémentaires de prévention des défauts, ce qui améliore considérablement la productivité en aidant les développeurs à éliminer les problèmes lorsqu'ils sont les plus faciles et les plus rapides à résoudre (et avant qu'ils n'entraînent des défauts supplémentaires). L'architecte peut facilement prendre les règles et les paramètres conçus pour une base de code et les appliquer à une autre base de code, avec tous les ajustements et modifications nécessaires pour le nouveau contexte. Ceci est particulièrement important lorsque les développeurs travaillent dans divers environnements utilisant différentes technologies.

Le fait de pouvoir ajuster une règle en quelques secondes, puis de la déployer immédiatement sur toutes les installations de bureau des développeurs, leur a permis d'obtenir une augmentation considérable de la productivité. Thales a également réalisé des gains de productivité en faisant rapporter des résultats détaillés directement dans l'environnement de travail des développeurs. La possibilité de cliquer sur une violation signalée et d'apprendre comment et pourquoi corriger le code signalé a aidé l'équipe à commencer à écrire du code à faible risque par habitude.

Résultats de l'analyse statique: 30% moins de défauts

«L'un des plus grands avantages de l'analyse statique de Parasoft est qu'elle a appris à nos ingénieurs à devenir de meilleurs développeurs», remarque Alessandro Orsi, chef de produit AVLS Systems. «Nous constatons de moins en moins de défauts dans la base de code, car les développeurs apprennent à écrire un meilleur code Java. Au fur et à mesure que les développeurs se familiarisent avec l'ensemble de règles existant, les architectes l'étendent progressivement pour inclure davantage de règles. Comme prévu, cela se traduit par un meilleur code. C'est un processus cyclique. »

«Lorsque nous comparons les taux de défauts dans le composant avant et après l'adoption de la statique de Parasoft
analyse, nous constatons que nous obtenons désormais 30% de défauts en moins », poursuit Orsi. «Si d'autres fournisseurs offraient le type de soutien que nous avons reçu de Parasoft, le monde serait parfait. Le soutien que nous avons reçu de Parasoft a été vraiment remarquable ».

Écrit par

Parasoft

Les outils de test de logiciels automatisés de pointe de Parasoft prennent en charge l'ensemble du processus de développement logiciel, depuis le moment où le développeur écrit la première ligne de code jusqu'aux tests unitaires et fonctionnels, jusqu'aux tests de performance et de sécurité, en exploitant des environnements de test simulés en cours de route.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.