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

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

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

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

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

JUnitとは何か

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

実際のテスト

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

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

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

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

まとめ

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

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

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

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

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. 山口達也 より:

    僕もなれますか?

    1. リカレントテクノロジー より:

      ご愛読いただきありがとうございます。
      未経験の方々も勉強されてエンジニアになっております。
      まず、始めることが大切ですので、授業体験などにご参加いただき、
      ITに興味を持つところから初めていってみましょう。

山口達也 へ返信する コメントをキャンセル

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する