概念: 実行時の観測と分析
トピック
ソフトウェア コンポーネントの実行時の振る舞いの観測とその後の分析は、ソフトウェアのデバッグを成功させるうえで重要な作業です。ソフトウェアの実行時の振る舞いを理解するには、次の 2 つの主な作業が必要です。
- 実行時のソフトウェアの観測。
- 得られた観測データの分析。
実行時の観測 / 分析技術は、それら自体は、アプリケーションの振る舞いを促すために事前に定義されたテスト入力に関する要求またはテスト技術の使用なしに実行時の振る舞いを観測し分析できるかぎりでは、テストに依存していません。ただし、テストを実行時観測技術 / ツールと結合することができます。たとえば、実行時観測を自動化するツールをテスト実行時に実行し、テストに呼応して発生するコンポーネントの実行時の振る舞いに対する可視性を向上させることができます。
ソフトウェアの実行時に発生するすべての振る舞いを注意深く観測することは重要ですが、通常は、特に監視するのに役立つ重要な観測ポイントがあります。一般に、重要な観測ポイントは次のようなものです。
- ソフトウェア論理パスが分岐する、または分岐した決定ポイント
- 通常はソフトウェア環境内に状態変化をもたらす、重要な論理パスが完成した完成ポイント
- 2 つの別個のアプリケーション コンポーネント間のインターフェイス ポイント
- ハードウェア コンポーネントとのインターフェイスを含む、ソフトウェアとその実行環境間のインターフェイス ポイント
これらの観測ポイントは、論理パスを使用してアプリケーション状態または制御フローを変更するのが望ましいこともある制御ポイントと連携することもできます。これらの関係は、PCO (Points of Control and Observation) と呼ばれることもあります。
実行時観測では、静的ソフトウェア ソース コードのレビュー、またはビジュアル モデルなどで把握されるソフトウェア構成単位間の関係のレビューのような、主なアプローチとしての静的観測メソッドを除外します。むしろ、実行時観測には実行可能なソフトウェア コンポーネントが必要であり、テスト環境または最終導入環境で実行するときの作成されたコンポーネントの振る舞いに関する他のデバッグ技術からは入手できない貴重な情報を提供します。実行時の振る舞いから得られた観測データは、その後、さらに洞察を深めるために静的要素と関連付けられる場合もあります。
ソフトウェアの実行時分析は、コンポーネントの実行時に収集されたデータを分析することでソフトウェア コンポーネントの振る舞いを理解するというだけの作業です。実装担当者によるコンポーネントの作成時における実行時観測 / 分析は、実装担当者が取り組むデバッグ作業の 1 つの側面です。
実行時の振る舞いから得られる低レベル情報の潜在的ボリューム、情報が生成される速度、以後の大量になる可能性のある情報を理解することの難しさなどの理由により、ツール サポートの自動化は、この作業を実現可能にするうえで重要な要因です。自分でツール サポートを提供したり、独自のものを作成するのに要する時間、作業、コストを節約する市販の豊富なツールを提供する場合に、とれるさまざまなアプローチがあります。
|