SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

早期に問題を発見、品質向上に貢献するJava対応静的解析・単体テストツール「Jtest」(AD)

JUnitの単体テストを30秒で作成! 工数削減への近道は「Jtest」を使った単体テストの高速化

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

わずか30秒で単体テストを実装

 単体テストを行うためには、テストコードを書き、入力値を設定し、期待した動作をしているか検証する必要があります。通常は一からテストコードを書いていくか、またはIDEの機能を使ってテストコードが空のテンプレートを作成後、テストコードを実装しなくてはいけません。Jtestを使うと、簡単なテストであればわずか30秒で実行可能なテストコードの作成が可能です。

 次の3ステップを実行するだけでテンプレートに沿った単体テストコードが実装できてしまいます。

[1]テストケーステンプレートを作成

 クリックひとつでテストケースのテンプレートを作成できます。テストケースのスケルトンだけではなく、値の設定が必要なパラメータの定義や空のアサートも作成してくれます。

[2]テスト対象メソッドに渡すパラメータを設定

 テスト対象メソッドに渡すパラメータを手動でテストコード内に記述します。

テストケーステンプレートの作成とパラメータの設定
テストケーステンプレートの作成とパラメータの設定

[3]アサートのテンプレート作成

 テスト結果(期待値)を現在の動作に合わせる場合は、テストを実行し、期待値が正しいことを確認後、クリックひとつでアサートを作成します。

アサートの作成
アサートの作成

 このように、クリック操作と簡単なテストケースの修正でテストを実装することができました。テストを実施する上で必要となる作業について、大幅に軽減されたことがお分かりいただけたと思います。時間にすると、わずか30秒でテストケースの実装が可能となります。テストケースの入力値と期待値はあらかじめユーザーが用意する必要があるものの、Jtestはテストケースの作成を大きく効率化してくれます。

Jtestを使った単体テスト

 Jtestを使った[1]~[3]のステップを動画で体感できます。

 動画中で使用しているサンプルコードはこちらからダウンロードできます。

なぜテストが失敗したのかをひと目で確認

 もうひとつ、単体テストにおいて意外と面倒なのがテストのデバッグ作業です。テストが失敗した場合や、期待通りに動作しなかった場合、通常はステップ実行によって変数の値の変化を見たり、デバッグログなどを挟んでプログラムがどのように動いたかを確認したりします。この作業もJtestを使えば、実行したテストが期待通りの動作にならなかった際、テスト対象のどのコードが実行され、どのように処理がされたのかを瞬時に確認することができます。

実行箇所の見える化とスタックトレースの監視
実行箇所の見える化とスタックトレースの監視

 また、カバレッジや実行時の処理フローを追うことで、実行されていないコードを見つけ出すことができます。さらに、Jtestでは実行された処理の経路(スタックトレース)を監視しているため、メソッドの戻り値や引数の値を確認してなぜ実行されなかったのか、テスト実行時の状態を見える化することができます。

Jtestの無料体験版を入手!

 Jtestの無料体験版を配布しております。以下のリンクからダウンロード可能です。

関連記事

次のページ
モックの監視やパラメータライズのテンプレートまで生成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
早期に問題を発見、品質向上に貢献するJava対応静的解析・単体テストツール「Jtest」連載記事一覧

もっと読む

この記事の著者

テクマトリックス株式会社 Jtestチーム(テクマトリックスカブシキガイシャ ジェイテストチーム)

 「品質」をキーワードに、さまざまなツールを扱うソフトウェアベンダーです。 品質を犠牲にすることなく開発プロセスを改善し、開発スピードを飛躍的に向上させるために、テクマトリックスは品質保証分野における20年来の経験と、豊富なツールラインナップを活かして、お客様に最適な改善ソリューションを提案させてい...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10367 2017/09/04 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング