ここでは、静的解析を実行して静的解析ルールに違反するコードを特定する方法について説明します。このセクションの内容:
静的解析とは
静的解析は、ソフトウェア開発ライフ サイクルをとおして使用される多くのテクノロジーのひとつであり、安全で信頼性のある、規格に準拠した SOA をデリバーすることを支援します。静的解析は、組織の希望を開発アクティビティが確実に満たすよう補助し、SOA のすべてのレイヤーにわたって相互運用性と一貫性を保証します。
SOAtest は、SOA 成果物と Web インターフェイスの両方に対して静的解析を実行できます。
SOA の場合、個々の成果物 (たとえば WSDL または XML ファイル) に対して静的解析を実行できます。静的解析は、包括的な SOA ポリシー推進フレームワークにおけるコンポーネントのひとつとしても使用されます。これについては 「SOA 品質ガバナンスとポリシーの施行」で説明します。
Web インターフェイスの場合、SOAtest の静的解析は Web インターフェイスの内容と構造の自動監査を実行できます。アクセシビリティ、ブランディング、イントラネットの規格のコンプライアンス、および一貫性について、Web 資産を自動的にスキャンして解析します。Web ベース アプリケーションの適切な機能性、ユーザビリティ、およびアクセシビリティにリスクを与える可能性がある問題を調査して明らかにします。
静的解析は Web アプリケーション全体に対しても個々のコンポーネントあるいはモジュールに対しても実行できます。スキャン結果はすぐに使用できるレポートとして表示されます。このレポートはエラーがあるオブジェクトを特定し、すぐに解析して修正できるように、発見された課題への直接的なリンクを提供します。
アセスメント解析は以下の領域を網羅します。
- アクセシビリティ: Section 508、WAI、および WCAG 2.0 ガイドラインのサポート。
- ブランディング: サイトのレイアウトとルック アンド フィールに関連するポリシーを自動的に推進。
- イントラネットの規格: 企業の機密データの使用を特定。
- 一貫性: 破損リンク、スペルミス、ブラウザーの互換性の問題を防止。
より具体的には、Web アクセシビリティの妥当性確認 (Section 508、WAI、WCAG) を容易にするために、Section 508、WAI、および WCAG 2.0 Web アクセシビリティ ガイドラインに確実に違反するコードと違反の可能性があるコードを特定します。自動監査の最中、ソリューションは Web インターフェイスがアクセシビリティのガイドラインに準拠しているかどうかをチェックし、調査や変更がさらに必要なコードおよびページ要素を特定するのを補助します。
さらに、セキュリティ、信頼性、パフォーマンス、および保守性に関する期待をコードが確実に満たすために、Parasoft のパターン ベースのコード解析は Web 言語のコードが業界標準の規則またはカスタマイズされた規則に従っているかどうかをモニターします。Parasoft は Web 言語 (JavaScript、VBScript/ASP、HTML、CSS、XML など) に対応した広範なルール ライブラリを提供しており、このライブラリには何百個もの変更可能なルールが存在します。また、ユーザー定義のルールを簡単に作成したり保守できる RuleWizard というグラフィカルなツールも提供しています。
プロジェクト ワークスペースのリソースの解析
次のいずれかの操作を行って静的解析を実行できます。
- プロジェクト ワークスペースにある任意のソース ファイル (たとえば HTML、XML、 WSDL、およびプロジェクト ワークスペースに追加された他のソース ファイル)。SOAtest で作成されたプロジェクトのソース ファイルをリンクする方法については、[ヘルプ] メニューの [ヘルプ目次] をクリックし、Eclipse の『Workbench User Guide』を参照してください。
プロジェクト ワークスペース内の SOAtest テスト スイートで表される任意の Web ページ (たとえば、SOAtest が Web アプリケーションを巡回しているときにアクセスされた Web ページ、あるいは Web シナリオが実行されるときにブラウザーがダウンロードした Web ページ)。
以下は、プロジェクト ワークスペース中の 1 個以上のファイルに対して静的解析を実行するための一般的な手順です。
- 解析するファイルが必ず SOAtest から利用できるようにします。解析するファイルはワークスペース中のプロジェクトとして使用できなければなりません。
- ファイルが実際にプロジェクトの一部ではなかったり、あるいは機能に関する Web テストの実行中にダウンロードされる物である場合、SOAtest で Web アプリケーションをスキャンしてからアクセスされたページを解析できます。詳細については「Web アプリケーションをスキャンするための SOAtest の設定」を参照してください。
- 必要な静的解析オプションを構成したテスト コンフィギュレーションを選択するか作成します。
- 定義済みのビルトイン テスト コンフィギュレーションの詳細については、「ビルトイン テスト コンフィギュレーション」を参照してください。
- ユーザー定義のテスト コンフィギュレーションを作成する方法については、「テスト コンフィギュレーションとルールの設定」を参照してください。
Web シナリオに対して静的解析を実行するよう SOAtest を構成する
- 選択したテスト コンフィギュレーションでは、[テスト実行を有効にする] が有効でなければなりません (すべてのビルトイン テスト コンフィギュレーションで、このオプションはデフォルトで有効です)。
- デフォルトでは、SOAtest はブラウザーがデータ モデルを構築するために作成した個々の HTTP メッセージを静的に解析します。つまり、ブラウザーが処理する前に、サーバーによって現状のままで返される内容です。ブラウザーが作成する HTML (ロードしたすべての HTML、JS、CSS、および他のファイルからブラウザーが作成するリアルタイムのデータ モデル) を解析したい場合、テスト コンフィギュレーションの [実行] タブでオプションを変更できます。
- 解析するリソースを選択し、適切なテスト コンフィギュレーションを実行します。
- Web アプリケーションを SOAtest が スキャンするときにアクセスされる Web ページをテストするには、Scanning Tool を含むテスト スイートを選択し、目的のテスト コンフィギュレーションを実行します。
- Web シナリオの実行時にブラウザーがダウンロードする Web ページをテストするには、Web シナリオを含むテスト スイートを選択し、目的のテスト コンフィギュレーションを実行します。
- コマンドラインから静的解析を実行するには、「コマンドラインからのテスト実行 (soatestcli)」の操作手順を使用します。
- Web アプリケーションを SOAtest が スキャンするときにアクセスされる Web ページをテストするには、Scanning Tool を含むテスト スイートを選択し、目的のテスト コンフィギュレーションを実行します。
- 適切なレイアウト オプションを使って、静的解析の結果をレビューして対応します。
- 詳細については「静的解析結果の参照」を参照してください。
- (オプション) 必要に応じて静的解析の設定を変更します。
- 詳細については、 「静的解析のカスタマイズ: 概要」を参照してください。
スキャンされたリソースのレビューと再テスト
スキャニング パースペクティブは、静的解析の実行中にスキャンされたリソースのレビューと再テストを容易にすることを目的として設計されています。
スキャニング パースペクティブを開く
スキャニング パースペクティブを開くには、次の操作を行います。
- [ウィンドウ] メニューの [パースペクティブ] > [パースペクティブを開く] > [Parasoft スキャニング] をクリックします。
スキャニング パースペクティブは SOAtest パースペクティブに似ていますが、さらに以下の 2 つの機能があります。
- 1 個の URL または ファイルをテストするための Quick Test ツールバー ボタン (「Reviewing and Retesting Scanned Resources」で説明)。このボタンは任意のパースペクティブに追加できます。追加するには、[ウィンドウ] メニューの [パースペクティブのカスタマイズ] > [コマンド] を選択し、[SOAtest スキャニング] チェックボックスをオンにします。
- [スキャンされたリソースの一覧] ビュー。このビューは任意のパースペクティブに追加できます。追加するには、[ウィンドウ] メニューの [ビューの表示] > [Parasoft] > [スキャンされたリソースの一覧] を選択します。
スキャンされたリソースのレビュー
[スキャンされたリソースの一覧] ビューは、スキャニング ツールがスキャンしたリソースを表示します。 スキャニング ツールを実行した後、テスト ケース エクスプローラーでリソースを選択できます。 スキャニング ツールによってスキャンされたすべての項目が [スキャンされたリソースの一覧]に 表示されます。
[スキャンされたリソースの一覧] ビューでファイルを右クリックして、エディターまたは Web ブラウザーで開くことができます。
プロジェクト ワークスペース外部のファイルの解析
ワークスペース中にないリソースに素早くアクセスしてリソースをスキャンするには、次の操作を行います。
- [ウィンドウ] メニューの [パースペクティブ] > [パースペクティブを開く] をクリックして [Parasoft スキャニング] を選択し、スキャニング パースペクティブを開きます。
- クイック テスト ツールバー ボタンを使ってテストを開始します。
- お気に入りテスト コンフィギュレーションを使ってテストを実行するには、単純にクイック テスト ツールバー ボタンをクリックします。
- 他のテスト コンフィギュレーションを使ってテストを実行するには、クイック テスト ツールバー ボタンのプルダウン メニューを使用します。
- 特定カテゴリのルールだけをチェックするには、[ビルトイン] > [静的解析ルール] からカテゴリを選択します。
- スキャンするリソースへのアクセス方法を指定します (URL またはファイル パスを指定できます)。
- ファイル パスには、絶対パスを指定することも、Eclipse ワークスペースのパスを指定することもできます。
- URL のリストを含む .urls ファイルを指定することもできます (詳細については、 「.urls ファイルの使用」を参照してください)。
チュートリアル
Web アプリケーションに対して静的解析を実行するためのチュートリアルについては、「Web 静的解析」を参照してください。