JUnitは「エクストリーム・プログラミング」を提唱しているケント・ベック達によって開発された、Javaプログラミングの単体テストを行う為のオープンソースツールです。JUnitには次の4つの特徴があります。①テスト対象とテストプログラミングを分離できるので、テスト対象への負荷が無くなる。②複数のテストプログラムをまとめることができるので、まとめたプログラムを一括してテストできる。③瞬時にテスト結果を出すことができる。④JUnit単体で利用するだけでなく、EclipseなどのIDE(統合環境)と連携して利用ができ、テストコード作成を高速化できる。
利用する際の流れは、①テスト対象クラスの作成②テストソース用フォルダの作成③テストクラスの作成④テストクラスの実装⑤テスト・スイートの作成となります。テストケースは自動作成ができないので人間が作る必要がありますが、一度テストコードをコーディングしてしまえば何度でも利用できるようになります。
テストケースを自分で作るので、Javaでのプログラミングスキルが必須です。そして、テストを自動化しやすい最適なアーキテクチャーを様々なパターンをから考えて構築する、というエンジニアとしての力量も求められます。
実際にJUnitの利用によって、プログラミングテストが伸びるようになり 、その結果コードのバグが減り、プログラミングの信頼性が高まった と言われています。
JUnit以外にも、TestNGやMockito、JMockit、Seleniunといったツールもありますが、Javaプログラミングをテストする際、まず利用されるのがJUnitであり、標準的ツールとして利用されています。ただ、バグの発生がゼロになっているわけではなく、現在も開発チームは発生している問題の解決やJava 8への対応を進めており、更なる品質の向上に努めています。