JWalkは、Javaプログラミング言語用のユニットテストツールキットです。[ 1 ] Anthony Simonsによって作成されたJWalkは、Lazy Systematic Unit Testingと呼ばれるテストパラダイムをサポートしています。[ 2 ]これは、動的分析によってクラスの仕様の進化をオンザフライで推測する能力である遅延仕様と、クラスの状態空間を制限された深さまで徹底的に探索してテストする能力である体系的テストという 2つの概念に基づいています。
JWalkの使用
JWalkは、Javaプログラミング言語(現時点で唯一サポートされている言語)でコンパイルされた単一のクラスをテストするために使用されます。すべてのメソッドプロトコルを体系的に探索し、長いテストレポートを出力するように指示することも、テスト対象クラスの状態ベースモデルに従って自動テストを実行するように指示することもできます。仕様は、プログラマーがテスト結果を承認または拒否することで対話的に構築され、進化するコードの変更に迅速に適応します。そのため、JWalkは、ソフトウェア開発におけるエクストリームプログラミング手法で用いられるテスト駆動開発に適しています。
比較
JWalkは、プログラマがテストクラスの状態空間を適切にカバーする単体テストを生成するのに効果的です。JWalkの使用は、専門家による手動テスト(JUnitを使用)と比べても遜色ありません。[ 3 ] これは、JWalkがテストクラスを体系的に探索し、プログラマが通常忘れがちなテストケースを提案し、手動確認が必要な特定のテストケースのサブセットにプログラマの注意を集中させるためです。
参考文献
- ^ JWalk ホームページ、 http://staffwww.dcs.shef.ac.uk/people/A.Simons/jwalk/
- ^ AJH Simons、JWalk:設計イントロスペクションとユーザーインタラクションによるJavaクラスの遅延体系的単体テスト、 Automated Software Engineering、14(4)、12月、B. Nuseibeh編、(ボストン:Springer、2007)、369-418。
- ^ AJH SimonsとCD Thomson、「Lazy systematic unit testing: JWalk versus JUnit」、第2回学術・産業分野におけるテスト会議:実践と研究手法(ウィンザー:IEEE Computer Society、2007年)、138ページ。