このセクションでは、静的解析違反を分析して修正する方法について説明します。
このセクションの内容:
結果には、GUI のさまざまな場所から、あるいはコマンドライン レポートからアクセスできます。
GUI からテストを実行した場合、テスト結果は [品質タスク] ビューにレポートされます。
テストしたソース ファイルをエディターで開くと、静的解析ルールに違反するソース コードの行がマーカーで示されます。マーカーをマウス オーバーすると、静的解析ルールや他の情報がポップアップ ウィンドウに表示されます。また、問題の原因のソース コードを右クリックして [Parasoft] > [タスクの表示] を選択することで、[品質タスク] ビューで違反メッセージを確認できます。
コマンドライン インターフェイスから実行された静的解析の場合、違反はレポートの [Static Analysis] セクションに表示されます。違反を Team Server または DTP に送った場合、「GUI への結果のインポート」で説明するように、GUI に違反をインポートできます。違反は [品質タスク] ビューに表示されます。
静的解析エラーは、機能テストの失敗の基準ではありません。たとえば、Browser Playback ツールまたは Scanning ツールを含む Web シナリオに対して静的解析を実行できる場合、テストは正常に実行されるかもしれません。しかし、参照されるページで静的エラーが発見された場合、テストは成功し、静的解析エラーは [品質タスク] ビューに表示されます。
[テスト進捗] ビュー には、テストの進捗とステータスがレポートされます。
以下の点に注意してください。
[レポート] ダイアログが開き、レポートの設定を行うことができます。
「インタラクティブなテスト中に生成された」または「コマンドライン テストからインポートされた」自分の割当の品質タスクは、[品質タスク] ビューに表示されます。このビューが表示されていない場合、 [Parasoft] メニューの [ビューの表示] > [品質タスク] をクリックします。さらに詳細を確認するには、[品質] ビューのツリーを展開します。このビューにレポートされた項目を切り替えるには、ビューのツールバーの矢印ボタンを使用します。
結果はタスク リストとして表示され、テストとコードの実装をどのように進めるかをユーザーが判断するのに役立ちます。タスクは、作成者、カテゴリ、重要度 (割り当てられている場合) によってまとめられます。重要度レベルは、レベル 1 からレベル 5 までの 5 段階あります。レベル1 が最も違反の深刻度が高いレベルです。重大なバグを排除したり防止できる確率が最も高いといえます。
タスクは、Parasoft ツールの機能によって異なるカテゴリに分類されます。カテゴリの詳細については、ご使用の Parasoft ツールのドキュメントを参照してください。
ソース ファイルに対して実行されたテストの場合、結果はソース コード レベルでもレポートされます。
テストしたソース ファイルをエディターで開いた場合、発見された問題の原因であるソース コードにはマーカーが表示されます。静的解析違反の場合、マーカーは違反の原因であるコード行の隣に表示されます。単体テストのエラーの場合、マーカーはテスト対象クラスに一致するスタック トレースの先頭行に表示されます。単体テストの失敗の場合、またはテスト対象クラスが不明なエラーの場合、マーカーはテスト対象クラスに一致するスタック トレースの先頭行に表示されます。マーカーが示す問題を確認するには、マーカー上にマウス ポインタを起きます。ポップアップ ウィンドウに情報が表示されます。または、関連する [品質タスク] ビュー メッセージに直接行くには、問題の原因であるソース コードを右クリックし、[表示] > [品質タスク] (Eclipse の場合) または [Parasoft] > [品質タスクで表示] を選択します。
テストの詳細を確認するには、テストの実行中に [コンソール] ビューを表示します。テストの進行中、テストの詳細は [コンソール] ビューに表示され、消去されるか別のテストが実行されるまで、[コンソール] ビューに表示され続けます。
コマンドラインから実行したテストの場合、結果は生成されたレポートに記録されます。結果を Team Server に送った場合、「GUI への結果のインポート」で説明するように、この結果は GUI にインポートできます。GUI でテストを実行したかのように結果をレビューすることができます。
デフォルトでは、[品質タスク] ビューは機能テストの結果を表示するためのレイアウトになっています。
静的解析の結果をレビューしやすくするために、SOAtest には 2 種類のレイアウトが用意されています。
静的解析レイアウトを選択するには、次の操作を行います。
レポートされた静的解析違反について 1 つずつルールの説明とコードを検証して、次のどれに該当するかを決定します。
多くのチームは、コード レビュー時に静的解析違反をレビューすることを好みます。開発者は、チームの設計者あるいは管理者が選択したルールを使って自分のコードをチェックします。特定の違反を無視しても問題ないと判断した場合、開発者はそのことをコード レビュー時にチーム内で話し合います。そして、違反を抑制するのか、ルール自体を無効にするのか、コードを修正するのかを決定します。
SOAtest のルール説明は「どのルールに準拠するか」「レポートされた違反がアプリケーションの信頼性、安全性、保守性にどのような影響を与えるか」「レポートされた違反をどのように修正するか」を決めるのに役立ちます。
ルールの説明を参照するには、 [品質タスク] ビューで静的解析違反メッセージを右クリックし、ショートカット メニューの [ルール ドキュメントの参照] をクリックします。黄色の "注意" サインのマークがついているノードが、ルールの説明をチェックするべきノードです。
ヒントSOAtest に付属の静的解析ルールの詳細については、[ヘルプ] > [ヘルプ目次] をクリックして『Parasoft SOAtest 静的解析ルール』ブックを参照してください。 テスト コンフィギュレーションで有効化されている静的解析ルールのリストとその説明を参照するには、次の操作を行います。
ルールのリストと各ルールの説明を印刷したい場合、メインのルール リスト (index.html ページ) を印刷する前に、ブラウザーの [リンク ドキュメントをすべて印刷する] オプションを有効にします。PDF を作成するには、 index.html ページから PDFを作成します。必ずリンク先のページも PDF 化するように PDF 生成ツールを設定してください (Acrobat の場合は [サイト全体] オプションを有効にしてください) 。 コードが単一のコーディング スタンダード、所定のカテゴリのコーディング スタンダード、またはすべての利用可能なコーディング スタンダードに準ずるかチェックしたい場合は、次の方法で確認できます。この方法でコーディング スタンダードをチェックするには、以下の操作を行います。
|
ルール違反の該当ソース コードを参照するには、行番号を表示するノードをダブルクリックするか、ノードを右クリックしてショートカット メニューの [移動] をクリックします。エディターが開き、該当するコード行がハイライト表示されます。
必要な変更を加え、変更後のファイルを保存できます。
Team Server からインポートした静的解析タスクに関連するソースが参照できない場合違うページのソースが参照されているなどの理由で、インポートした静的解析タスクのソース コードを参照できない場合、原因として、対象ページを生成するために必要なログイン情報に、ローカルにインストールされた SOAtest がアクセスできないことが考えられます。 SOAtest GUI でテストを再実行すれば、レポートされた違反に関連するコードを参照できるはずです。 |
「タスクの抑制」を参照してください。