Jtestのポイント
- ソースコードの静的解析、単体テストなどによってJavaアプリの開発を支援
- 1000以上のコーディングルールをもとにソースコードを解析
- プログラムの問題点や特定の処理フローに潜む検出の難しいエラーを発見
Jtestの製品解説
テクマトリックスの「Jtest」は、ソースコードの静的解析、単体テストなどによってJavaアプリケーションの開発を支援するテスト自動化ツールだ。1000以上のコーディングルールをもとにソースコードを解析し、プログラムの問題点や特定の処理フローに潜む検出の難しいエラーを発見することが可能だ。
静的フロー解析は、アプリケーションを実行せず静的に検証するもので、コレクション、例外、リソースリーク、バグの可能性、セキュリティ、スレッドと同期の6カテゴリについて、処理フローや渡された値によって発生する問題点を指摘することでエラーを検出する。重複コードやパフォーマンスに影響するガーベッジコレクションの問題、SQLインジェクションやクロスサイトスクリプティング(XSS)などの攻撃に対して脆弱なコードなどの検出が可能だ。
問題の可能性が発見された場合は、その箇所とそれまでの処理フローがレポートされ、処理フローから原因となったコードや値を確認することができる。複数のクラスやメソッドに渡る複雑なパスについても検証が可能だ。
単体テストについては、JUnitを用いたテストを効率化するための機能が盛り込んだ単体テストアシスタント機能が用意される。これによって、JUnitの単体テストの実行と失敗件数を管理し、テストの実施状況を確認することができる。テストの実施箇所や未実施箇所が可視化されるので、テスト漏れも容易に確認できる。
また、テストメソッドのテンプレートの作成機能、メソッドの呼び出しに必要なクラスオブジェクトをモックとして生成する機能、テスト結果の判断のためのアサーションとテンプレートの作成支援機能があるため、単体テストの作成、実行を効率化することが可能だ。
テスト実行時にカバレッジを計測する機能も備えている。単体テスト時には行カバレッジ(C0)を計測できるので、テストの信頼性を高めることが可能だ。またシステムテストもカバレッジを確認しながら実施できるため、テストケースの作成漏れ、テストの実行漏れを防止でき、ソースコード全体のカバレッジを数値でレポートすることができるほか、実施したシステムテストの妥当性を証明することも可能になる。
用途と機能 | Javaシステムのテスト工数を削減、品質向上を支援するテスト自動化ツール |
---|---|
特徴 | 1000以上のルールをもとに静的解析し、検出困難なエラーも検出。単体テストを支援するアシスタント機能、テストの信頼性を高めるカバレッジ計測機能も搭載する |
導入企業 | みずほトラストシステムズ、NTTコムウェア、など |