Versions Compared

Key

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

Jtestを使用してJavaプロジェクトの解析およびテストを実行するための準備を行います。

Anchor
_Toc524113156
_Toc524113156
Ant 起動確認

「ant -version」コマンドを実行して、Antが実行可能かを確認します。

Code Block
>ant -version
Apache Ant(TM) version 1.10.5 compiled on July 10 2018

Ant のバージョン情報が表示されない場合は、ご利用環境の環境設定を見直してください。

Anchor
_Toc524113157
_Toc524113157
サンプルプロジェクトのビルド

demo プロジェクトがビルドできることを確認します。

  1. demoプロジェクトディレクトリに移動し、「ant compile」コマンドを実行してdemoプロジェクトをビルドします。

    Code Block
    demo>ant compile
    Buildfile: C:\jtest\examples\demo\build.xml
    
    compile:
        [mkdir] Created dir: C:\jtest\examples\demo\ant-target
        [javac] C:\jtest\exmaples\demo\build.xml:23: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
        [javac] Compiling 65 source files to C:\jtest\examples\demo\ant-target
    
    BUILD SUCCESSFUL
    Total time: 2 seconds


  2. 「BUILD SUCCESSFUL」 が出力されビルドが成功したことを確認します。
    ビルドエラーが発生する場合は、ご利用環境の環境設定を見直してください。

Anchor
_Toc524113158
_Toc524113158
Jtest 解析用ビルドスクリプト

Jtestを適切に実行するためにプロジェクトのbuild.xmlを変更することも可能ですが、その代わりにJtest用のビルドファイルを作成することができます。
これにより、プロジェクトの成果物であるbuild.xmlに影響を与えることなくJtestの解析が実行可能になります。
Jtest用のビルドファイルのサンプルとして、demoプロジェクトディレクトリに jtest.xml があります。このチュートリアルでは jtest.xmlを利用します。
demoプロジェクトディレクトリに存在するjtest.xmlでは次の5個のビルドターゲットを定義しています。

  • jtest-analysis
    Jtestを使用して静的解析(コーディング規約チェック、フロー解析、メトリクスの計測)を実行します。実行にはビルトインテストコンフィギュレーション「Recommended Rules」が使用されます。
    実行の結果はプロジェクトディレクトリのparasoft/jtest/reportディレクトリに出力されます。
    testディレクトリ以下に保存されているソースコードは、解析の対象外となります。

  • jtest-sae
    Jtestを使用して静的解析(コーディング規約チェック、フロー解析、メトリクスの計測)を実行します。
    実行にはビルトインテストコンフィギュレーション「Recommended Rules」が使用されます。実行の結果はプロジェクトディレクトリ直下のreport-saeディレクトリに出力されます。
    testディレクトリ以下に保存されているソースコードは、静的解析およびメトリクスの計測の対象外となります。
  • jtest-utc
    単体テストおよびカバレッジの計測を実行します。実行にはJtestのビルトインのテストコンフィギュレーション「Unit Tests」が使用されます。
    実行の結果はreport-utcディレクトリに出力されます。testディレクトリ以下に保存されているソースコードは、単体テストの対象外となります。

  • clean
    プロジェクトをクリーンします。プロジェクトのbuild.xmlのcleanターゲットを実行します。

  • build
    プロジェクトをビルドします。プロジェクトのbuild.xmlのbuildターゲットを実行します。

Anchor
_Toc524113159
_Toc524113159
テストコンフィギュレーション

テストコンフィギュレーションは、Jtest でどのようにコードを解析するかを定義したものです。
OWASP への準拠、メトリクスの計測、単体テストの実行などテストの目的に合わせて解析に利用するルールの設定や、解析の範囲、実行時のパラメーターを定義します。
「jtestcli -listconfigs」コマンドを実行すると、現在使用可能なテストコンフィギュレーションの一覧を表示できます。

Code Block
>jtestcli -listconfigs
Parasoft Jtest 2022.1.0 (10.6.0.202205101413) -- Copyright (C) 2022 Parasoft Corporation

[Jtest] 匿名の使用状況データの送信は無効です。有効化するには usage.reporting.enabled を使用します
[Jtest] ライセンス: Jtest 10.6 のローカル ライセンスを初期化しています
[Jtest] ライセンス: Custom Edition をアクティブ化しています
[Jtest] ライセンス: 機能をチェックしています ...
~ 中略 ~
[Jtest] 利用可能なテスト コンフィギュレーション: 85
[Jtest]   builtin://Calculate Application Coverage
[Jtest]   builtin://CERT for Java
[Jtest]   builtin://Code Smells
[Jtest]   builtin://Critical Rules
[Jtest]   builtin://CWE 4.6
[Jtest]   builtin://CWE Top 25 + On the Cusp 2021
[Jtest]   builtin://CWE Top 25 2021
[Jtest]   builtin://Demo Configuration
[Jtest]   builtin://DISA-ASD-STIG
[Jtest]   builtin://Find Duplicated Code
[Jtest]   builtin://Find Memory Problems

...