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