Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 ・保守容易性指数

 ・サイクロマティック複雑度

 ・継承の深さ

...

静的解析(コーディング規約チェック、フロー解析)の実行

ここでは、ビルトインのテストコンフィギュレーション「builtin://Critical Rules」を使用します。1.

  1. demoプロジェクトディレクトリに移動します。

    cd <JTEST_HOME>\examples\demo

...


  1.  Maven から Jtest の静的解析を実行します。次のコマンドを実行してください。

    demo>mvn jtest:jtest -Djtest.config="builtin://Critical Rules"

...


  1. BUILD SUCCESS」 が出力され Maven ビルドが成功したことを確認します。

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 01:02 min
    [INFO] Finished at: 2018-09-07T15:57:33+09:00
    [INFO] ------------------------------------------------------------------------

...


  1. 終了後、<JTEST_HOME>\examples\demo\target\jtest ディレクトリにレポート (report.html, report.xml) が生成されます。

...

静的解析(コーディング規約チェック、フロー解析)結果の確認

...

  1. <JTEST_HOME>\examples\demo\target\jtest ディレクトリに生成されたreport.htmlを開きます。

...

  1. 「すべての指摘事項 カテゴリごと」では静的解析ルールごとに検出された違反の件数を確認します。

    Image Modified

...


  1. 「作成者ごとの指摘事項」ではコードの作成者別に違反の件数および内容を確認します。

    Image Modified

    ・コーディング規約チェックの結果

    demo/src/main/java/examples/eval/Simple.

...

  1. javaの24行目で、map()メソッドのcase文においてcase 10ではなくcase10(空白なし)を使用していることが示されています。
    これは単純な入力ミスですが、値として10が渡された時にクラスは不正な結果を生成します。

    ・フロー解析の結果

    demo/src/main/java/examples/flowanalysis/AlwaysCloseGSS.java 30

...

  1. 行目で「”context” null の可能性がある」ことが示されています。

...

  1. レポートでは30 行目の指摘に至るまでのパスとして以下の流れを確認することが出来ます。

    20 行目: “context” null 値の代入
    22 行目: GSSException がスローされる
    26,27 行目: 例外処理
    30 行目: null 値の “context” に対して context.dispose()

...

  1. の呼出しでNullPointerException が発生する可能性がある

...



  1. 「ファイルごとの指摘事項」では、プロジェクト、パッケージおよびファイルごとに検出された違反の件数や違反の詳細を確認します。

    Image Modified

...


  1. 「アクティブなルール」では、使用されたルールを確認します。

    Image Modified

...


  1. 「テスト パラメーター」では、Jtest 実行オプションを確認できます。

...

メトリクス計測の実行

demoプロジェクトのソースコードのメトリクスを計測し、レポートを生成します。生成されたレポートを参照し、メトリクスを確認します。
ここでは、メトリクスの計測のために「builtin://Metrics」テストコンフィギュレーションを使用します。

...

  1. demoプロジェクトディレクトリに移動します。

    cd <JTEST_HOME>\examples\demo

...


  1. Maven から Jtest の静的解析を実行します。次のコマンドを実行してください。

...

  1. [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 01:02 min
    [INFO] Finished at: 2018-09-07T15:57:33+09:00
    [INFO] ------------------------------------------------------------------------

...


  1. BUILD SUCCESS」 が出力され Maven ビルドが成功したことを確認します。
  2. 終了後、<JTEST_HOME>\examples\demo\target\jtest ディレクトリにレポート (report.html, report.xml, metrics.xml) が生成されます。

...

メトリクス計測結果の確認

...

  1. <JTEST_HOME>\examples\demo\target\jtest ディレクトリに生成されたreport.htmlを開きます。

...

  1. 「メトリクスサマリー」で解析プロジェクト対象において計測された各メトリクス値を確認します。

    Image Modified

    report.html にはプロジェクト毎のサマリー情報が出力されます。
    各ファイルやメソッド毎に計測した値を確認するには DTP Standard に解析結果をアップロードする必要があります。