単体テストの自動化に使うツールの選定

シェアする

本記事は、前記事での課題となった単体テストプログラムの作成にかかる工数をいかに削減できるか?についての記事となります。

前提条件

前提条件として、テストプログラムはJavaで作成することとします。よって、Javaで開発された単体テストの自動化を行うためのフレームワークである「JUnit」を使用します。JUnitを使う上で、その他ツールの選定をしていきます。

テスト自動化に必要な機能

前記事でも記載しましたが、テスト項目としては、以下のような項目があります。

  • 画面表示項目に正しい値が設定されているか?
  • 検索条件に対する検索結果は正しいか?
  • 必須チェックは正しく行われているか?
  • 依存性チェックは正しく行われているか?
  • DBへ正しい値が登録されているか?
  • 出力ファイルに正しい値が出力されているか?

上記項目からテストプログラムではどのような機能が必要であるかを考えた結果、以下機能が必要となりました。

  1. テストを行う上で必要なテストデータをDBに登録する機能
  2. DB更新があるためテーブルの比較を行う機能
  3. ファイル出力機能があるためファイルの比較を行う機能
  4. 期待値(expected)と実際値(actual)の比較は、JUnitのassertメソッドを使う
  5. 条件網羅が漏れていないか確認する機能
  6. 単体テストの実行を自動でやってくれる機能
  7. 単体テスト結果のレポート出力機能

テスト自動化ツールの選定

テスト自動化で必要な機能が分かりましたので、項番ごとにその機能を実現してくれる自動化ツールを選定しました。

項番 ツール
1 DbSetup
2 DbUnit
3 自作メソッド(md5で比較するメソッド)
4 JUnit
5 jacoco
6 Jenkins
7 Jenkinsのプラグイン(HTML Publisher plugin)

項番1については、DbUnitの機能でも可能なんですが、DbSetupはテストデータをインサートするテーブルの必要なカラムにだけ値を設定すればよく、使い勝手がよさそうでしたので、こちらを選択しました。その他は王道ですね。

課題であった「単体テストプログラムの作成にかかる工数をいかに削減できるか? 」 についてですが、上記のとおり、自作するのは項番3のみで、共通メソッドを作成してしまえば解決します。

よって、単体テストプログラムの作成にかかる工数は、単にJunitのテストメソッドを作成する工数に抑えることができます。

では、選定したツールを使っての実装方法については次回の記事で記載します。

単体テスト自動化 JUnitプロジェクトの作成手順
JUnitを使った単体テストを行うプロジェクトの作成手順を説明します。 環境設定 IDEは、NetBeansを使用しますのでオ...

以上

スポンサーリンク
PC用広告

フォローする

スポンサーリンク
PC用広告