このセクションでは、静的解析違反を分析して修正する方法について説明します。

このセクションの内容:

結果の参照

結果には、GUI のさまざまな場所から、あるいはコマンドライン レポートからアクセスできます。

GUI からテストを実行した場合、テスト結果は [品質タスク] ビューにレポートされます。

テストしたソース ファイルをエディターで開くと、静的解析ルールに違反するソース コードの行がマーカーで示されます。マーカーをマウス オーバーすると、静的解析ルールや他の情報がポップアップ ウィンドウに表示されます。また、問題の原因のソース コードを右クリックして [Parasoft] > [タスクの表示] を選択することで、[品質タスク] ビューで違反メッセージを確認できます。

コマンドライン インターフェイスから実行された静的解析の場合、違反はレポートの [Static Analysis] セクションに表示されます。違反を Team Server または DTP に送った場合、「GUI への結果のインポート」で説明するように、GUI に違反をインポートできます。違反は [品質タスク] ビューに表示されます。

静的解析エラーは、機能テストの失敗の基準ではありません。たとえば、Browser Playback ツールまたは Scanning ツールを含む Web シナリオに対して静的解析を実行できる場合、テストは正常に実行されるかもしれません。しかし、参照されるページで静的エラーが発見された場合、テストは成功し、静的解析エラーは [品質タスク] ビューに表示されます。

GUI でのテスト実行の結果

[テスト進捗] ビュー

[テスト進捗] ビュー には、テストの進捗とステータスがレポートされます。

以下の点に注意してください。

  • テストを実行すると、ビューのラベルが「テスト進捗」から「テストしています:<テスト コンフィギュレーション名>」に変わります。
  • [タスクのレビュー] ボタンをクリックすると、結果が [品質タスク] ビューに表示されます。

  • 各解析カテゴリの結果サマリーは、展開できるセクションに表示されます。
  • [テスト進捗] ビューの右上のツールバー ボタンを使用すると、レポートを生成できます。

[レポート] ダイアログが開き、レポートの設定を行うことができます。

[品質タスク] ビュー

「インタラクティブなテスト中に生成された」または「コマンドライン テストからインポートされた」自分の割当の品質タスクは、[品質タスク] ビューに表示されます。このビューが表示されていない場合、 [Parasoft] メニューの [ビューの表示] > [品質タスク] をクリックします。さらに詳細を確認するには、[品質] ビューのツリーを展開します。このビューにレポートされた項目を切り替えるには、ビューのツールバーの矢印ボタンを使用します。

結果はタスク リストとして表示され、テストとコードの実装をどのように進めるかをユーザーが判断するのに役立ちます。タスクは、作成者、カテゴリ、重要度 (割り当てられている場合) によってまとめられます。重要度レベルは、レベル 1 からレベル 5 までの 5 段階あります。レベル1 が最も違反の深刻度が高いレベルです。重大なバグを排除したり防止できる確率が最も高いといえます。

タスクは、Parasoft ツールの機能によって異なるカテゴリに分類されます。カテゴリの詳細については、ご使用の Parasoft ツールのドキュメントを参照してください。

ソース コード マーカー

ソース ファイルに対して実行されたテストの場合、結果はソース コード レベルでもレポートされます。

テストしたソース ファイルをエディターで開いた場合、発見された問題の原因であるソース コードにはマーカーが表示されます。静的解析違反の場合、マーカーは違反の原因であるコード行の隣に表示されます。単体テストのエラーの場合、マーカーはテスト対象クラスに一致するスタック トレースの先頭行に表示されます。単体テストの失敗の場合、またはテスト対象クラスが不明なエラーの場合、マーカーはテスト対象クラスに一致するスタック トレースの先頭行に表示されます。マーカーが示す問題を確認するには、マーカー上にマウス ポインタを起きます。ポップアップ ウィンドウに情報が表示されます。または、関連する [品質タスク] ビュー メッセージに直接行くには、問題の原因であるソース コードを右クリックし、[表示] > [品質タスク]  (Eclipse の場合) または [Parasoft] > [品質タスクで表示] を選択します。

[コンソール] ビュー

テストの詳細を確認するには、テストの実行中に [コンソール] ビューを表示します。テストの進行中、テストの詳細は [コンソール] ビューに表示され、消去されるか別のテストが実行されるまで、[コンソール] ビューに表示され続けます。

コマンドラインからのテスト実行の結果

コマンドラインから実行したテストの場合、結果は生成されたレポートに記録されます。結果を Team Server に送った場合、「GUI への結果のインポート」で説明するように、この結果は GUI にインポートできます。GUI でテストを実行したかのように結果をレビューすることができます。

結果表示レイアウトの変更

デフォルトでは、[品質タスク] ビューは機能テストの結果を表示するためのレイアウトになっています。

静的解析の結果をレビューしやすくするために、SOAtest には 2 種類のレイアウトが用意されています。

  • SOAtest 静的解析レイアウト: ソース コードに対して静的解析テストを実行している場合、このレイアウトを推奨します (たとえば、スキャニング パースペクティブからなど)。
  • SOAtest 機能テストの静的解析レイアウト: Browser Playback Tool や Scanning Tool など、テスト スイートで静的解析を実行している場合、このレイアウトを推奨します。このレイアウトでは、 SOAtest は静的解析エラーが発見されたテスト、および静的解析エラーが発生したファイルの名前をレポートします。ブラウザー内で生成した HTML でエラーが発生した場合は、ファイル名ではなく "ブラウザー内で生成した HTML (<ブラウザー名とバージョン>)" をレポートします。

静的解析レイアウトを選択するには、次の操作を行います。

  1. [品質タスク] ビューの右上のプルダウン メニューを開きます。



  2. [表示] メニューから適切なレイアウト オプションを選択します。

テスト結果への対応

レポートされた静的解析違反について 1 つずつルールの説明とコードを検証して、次のどれに該当するかを決定します。

  • 違反は正当であり重要である (違反が修正されるべきである)
  • この特定の状況ではルールが当てはまらない (違反が抑制されるべきである)
  • プロジェクトまたは優先順位にルールが適していない (関連するルールが無効化されるべきである)

多くのチームは、コード レビュー時に静的解析違反をレビューすることを好みます。開発者は、チームの設計者あるいは管理者が選択したルールを使って自分のコードをチェックします。特定の違反を無視しても問題ないと判断した場合、開発者はそのことをコード レビュー時にチーム内で話し合います。そして、違反を抑制するのか、ルール自体を無効にするのか、コードを修正するのかを決定します。

ルール違反についての詳細説明

SOAtest のルール説明は「どのルールに準拠するか」「レポートされた違反がアプリケーションの信頼性、安全性、保守性にどのような影響を与えるか」「レポートされた違反をどのように修正するか」を決めるのに役立ちます。

ルールの説明を参照するには、 [品質タスク] ビューで静的解析違反メッセージを右クリックし、ショートカット メニューの [ルール ドキュメントの参照] をクリックします。黄色の "注意" サインのマークがついているノードが、ルールの説明をチェックするべきノードです。

ヒント

SOAtest に付属の静的解析ルールの詳細については、[ヘルプ] > [ヘルプ目次] をクリックして『Parasoft SOAtest 静的解析ルール』ブックを参照してください。

テスト コンフィギュレーションで有効化されている静的解析ルールのリストとその説明を参照するには、次の操作を行います。

  1. [Parasoft] メニューの [テスト コンフィギュレーション]をクリックするか、または ツールバーの [テストの実行] ドロップダウン リストから [テスト コンフィギュレーション] を選択します。
  2. ルール リストを参照するテスト コンフィギュレーションのカテゴリを選択します。
  3. [静的] タブをクリックします。
  4. [有効なルールの一覧] をクリックします。

ルールのリストと各ルールの説明を印刷したい場合、メインのルール リスト (index.html ページ) を印刷する前に、ブラウザーの [リンク ドキュメントをすべて印刷する] オプションを有効にします。PDF を作成するには、 index.html ページから PDFを作成します。必ずリンク先のページも PDF 化するように PDF 生成ツールを設定してください (Acrobat の場合は [サイト全体] オプションを有効にしてください) 。

コードが単一のコーディング スタンダード、所定のカテゴリのコーディング スタンダード、またはすべての利用可能なコーディング スタンダードに準ずるかチェックしたい場合は、次の方法で確認できます。この方法でコーディング スタンダードをチェックするには、以下の操作を行います。

  1. SOAtest の [ナビゲーター] ビューからテストを実行するリソースを選択します。
  2. 次のいずれかを実施します。
    • ツールバーの [テストの実行] プルダウン メニューから、 を選択します。 [テストの実行] > [ビルトイン] > [静的解析ルール] >「任意のルールまたはルールカテゴリ」 を選択します。
    • [Parasoft] > [テストの実行] > [SOAtest] > [ビルトイン] > [静的解析ルール] >「任意のルールまたはルールカテゴリ」 を選択します。

ソース コードのレビューと修正

ルール違反の該当ソース コードを参照するには、行番号を表示するノードをダブルクリックするか、ノードを右クリックしてショートカット メニューの [移動] をクリックします。エディターが開き、該当するコード行がハイライト表示されます。

必要な変更を加え、変更後のファイルを保存できます。

Team Server からインポートした静的解析タスクに関連するソースが参照できない場合

違うページのソースが参照されているなどの理由で、インポートした静的解析タスクのソース コードを参照できない場合、原因として、対象ページを生成するために必要なログイン情報に、ローカルにインストールされた SOAtest がアクセスできないことが考えられます。

SOAtest GUI でテストを再実行すれば、レポートされた違反に関連するコードを参照できるはずです。

レポートされるタスクの抑制

タスクの抑制」を参照してください。

  • No labels