【新人エンジニア向け】Javaシステム開発では必須!テストツールJUnit

  • このエントリーをはてなブックマークに追加
  • Pocket

システム開発をするにあたり、作成したソースコードをテストすることは避けて通れない。

しかし、効率的にテストを行わないとテストに膨大な時間がかかってしまい、システム開発全体に影響を及ぼしかねない。

そこでこのページでは、Javaでシステム開発をする時に、効率良くテストするためのJUnitというツールを紹介する。

JUnitとは何か

JUnitとは、Javaで書かれたプログラムのテストを自動化するためのツールだ。プログラムはユーザの要求を元に書かれるものだが、ユーザの要求通りにプログラムが動くかどうかはテストしてみなければわからない。

では、なぜテストのためのツールが必要なのか、まずはそこから始めよう。

なぜテストツールが必要か

なぜこのようなツールが必要なのだろうか。次のような場面を考えてみよう。

ユーザから依頼されてJavaで開発する場面だ。プログラムは商品の合計金額を商品の個数で割って単価を求めるというものだ。プログラムが出来上がった。さて、プログラムが正しく動くかテストしてみる。あなたならどうやってテストするだろうか。

ひとつの方法は、合計金額と個数を入力し、計算結果をプリント文(System.out.print()メソッド)でコンソールに表示しテストするというものだ。これは、テストデータの入力もテスト結果の確認も手動で行う。

これで大丈夫とユーザに出来上がったプログラムを使ってテストしてもらう。

ユーザが使ってみると商品の個数がゼロの時、エラーが発生してしまうことが指摘された。そうだ、ゼロで割るとJavaは例外が発生する。例外処理を入れればいい。例外処理を加えてテストする。

また、ユーザにテストしてもらう。

そうすると、ユーザからマイナスの個数が入力できてしまう。「個数は1以上だよ。チェックを入れてよ。」と言われてしまう。何だ、ゼロでの割り算の例外処理を入れる必要はなかった。個数が1以上の条件を入れればよかった。でも、エラーをどうやって知らせようか。そうだ、ゼロを返すことによってエラーとしよう。

さらに、ユーザにテストしてもらう。

こんなことが延々と繰り返される。その度にプログラムを修正して、テストをやり直すという作業が繰り返される。それに、これまで行ってきたテスト全てをやり直すのは疲れる。実際の開発では、ユーザの要求が山ほどあり、それに応じてテストが山ほど繰り返されるのだ。

そこで、これらの問題を解決するのがテストを自動化するテストツールだ。

テストツールJUnitを使った開発の概要を見てみよう。

テストツールを使った開発の概要

JUnitは、Javaによるソフトウエア開発の流れの中でプログラムをテストする工程で使われる。テストデータの入力とテスト結果の確認を自動的に行う。

このJUnitによる自動化テストプログラムを使った開発の流れは次ようになる。

最初にプログラマがユーザからの要求を聞く。その要求をテストプログラムにする。テストを通る要求を満たすプログラムを書く。そして、テストプログラムを実行してテストを行う。この流れが繰り返される。この時、テストプログラムは毎回新しく書くのではなく、新たな要求に対応したテストが追加される。

一度書いたテストプログラムは自動実行されるので新たな作業は必要ない。この自動化はユーザと開発者に大きなメリットとなる。また、テストプログラムを実際のプログラミングの前に書くことによって、ユーザの要求を明確にできる。

JUnitがどのように使われているかを実際のプログラムで見てみよう。

実際のテスト

実際のプログラムを以下に示す。JUnitが提供するメソッドはいくつかある。そのひとつassertEquals()メソッドはテストの期待値とテスト結果の比較を自動化する。このメソッドを使うと目で比較する必要はないのだ。

さらに、テスト結果を集計してまとめて見ることもできるので便利だ。結果をひとつひとつ見る必要はない。

さらにもしエラーがあれば、エラーの場所、期待値や計算結果を含む詳細なエラー情報も提供されるのだ。

ぜひ、使ってみて欲しいツールのひとつだ。

まとめ

プログラムのテストは、闇雲に行うと膨大な時間がかかるだけでなく、テストに漏れが発生しバグを見逃してしまう可能性もある。

そのために、今回紹介したJUnitを利用して、効率良く漏れのないテストを実施しよう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

ゼロからエンジニアを目指す方へ
短期間でエンジニアになる方法

必要な勉強や技術の最新動向、本当に使えるIT資格、学習に役立つ国からの奨励金などの情報を無料でお届け

資料を見てみる