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 プロジェクトがビルドできることを確認します。
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 |
- 「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.5 のローカル ライセンスを初期化しています
[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 |
...