Concept: Observation et analyse dans le contexte d'exécution
Les instructions suivantes traitent de l'observation et de l'analyse dans le contexte d'exécution. Il s'agit de l'observation du logiciel durant l'exécution et de l'analyse des observations enregistrées. Des chemins sont tracés entre les composants logiciels, puis regroupés afin de comprendre le comportement global du système par inférence statistique.
Relations
Eléments connexes
Description principale

Introduction

L'observation et l'analyse ultérieure du comportement d'exécution d'un composant logiciel est une pratique importante pour réussir le débogage d'un logiciel. Comprendre le comportement d'exécution d'un logiciel implique deux pratiques clés :

  • Observation du logiciel lors de l'exécution.
  • Analyse des observations enregistrées.

Les techniques d'observation et d'analyse dans le contexte d'exécution ne dépendent elles-mêmes pas de tests dans la mesure où le comportement d'exécution peut être observé et analysé sans exigence d'entrées de test prédéfinies ou recours à des techniques de test destinées à simuler le comportement de l'application. Les tests peuvent toutefois être associés avec succès aux outils et techniques d'observation d'exécution : les outils automatisant l'observation d'exécution peuvent par exemple être exécutés lors du test, améliorant ainsi la visibilité dans le comportement d'exécution du composant qui découle du test.

Observer le comportement d'exécution

Bien qu'il soit important d'observer avec soin la totalité du comportement lors de l'exécution du logiciel, il existe généralement certains points d'observation significatifs qu'il convient de surveiller en particulier. Ces points d'observation significatifs sont souvent les suivants :

  • Points de décision au niveau desquels le chemin logique du logiciel est sur le point de bifurquer ou vient juste de le faire.
  • Points d'exécution au niveau desquels un chemin de logique important a été achevé, ce qui produit généralement un changement d'état dans l'environnement logiciel.
  • Un point de raccordement entre deux composants d'application distincts.
  • Un point de raccordement entre le logiciel et son environnement d'exécution, y compris toute interface de composant matériel.

Ces points d'observation peuvent également s'aligner sur les points de contrôle au niveau desquels il peut être souhaitable de modifier l'état de l'application ou le flux de contrôle via les chemins logiques. On parle souvent pour ces facteurs de points de contrôle et d'observation (PCO).

L'observation du comportement à l'exécution exclut les méthodes d'observation statiques comme approche principale, telles que l'étude du code source logiciel statique ou des relations entre les blocs structurels logiciels enregistrés dans les modèles visuels, etc. Elle requiert plutôt un composant logiciel exécutable et offre des informations précieuses qui ne sont pas proposées par les autres techniques de débogage, vous informant sur la manière dont le composant développé se comporte lors de l'exécution, dans l'environnement de test ou dans l'environnement de déploiement final. Les observations enregistrées à partir du comportement d'exécution peuvent ultérieurement être reliées aux éléments statiques afin d'enrichir la perspective.

Analyser les observations d'exécution

L'analyse du logiciel lors de l'exécution désigne simplement la pratique qui consiste à comprendre le comportement d'un composant logiciel en analysant les données collectées durant son exécution. L'observation et l'analyse d'exécution est un aspect des activités de débogage que l'implémenteur entreprend dans le cadre du développement du composant.

Prise en charge d'outils automatisés

Du fait du volume potentiel d'informations de bas niveau pouvant être enregistrées à partir du comportement d'exécution, de la vitesse à laquelle ces informations sont générées et de la difficulté ultérieure à comprendre une quantité potentiellement énorme d'informations, la prise en charge d'outils automatisés est un facteur clé pour la faisabilité de cette pratique. Il existe diverses approches permettant de fournir soi-même une prise en charge d'outils, ainsi qu'une multitude d'outils disponibles sur le marché et qui vous permettront d'économiser le temps, l'effort et le coût qu'induirait la création de vos propres outils.

Voir PurifyPlus pour plus d'informations sur les outils d'observation et d'analyse d'exécution.