JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

著者 :
  • 技術評論社
4.20
  • (37)
  • (29)
  • (14)
  • (3)
  • (0)
本棚登録 : 538
感想 : 30
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (480ページ)
  • / ISBN・EAN: 9784774153773

作品紹介・あらすじ

Javaプログラマを対象としたJUnitによるユニットテストの実践ガイド。ユニットテストの基本概念から、テストコードの記述方法や拡張機能まで、JUnitに関する内容をほぼ網羅。テスト駆動開発などユニットテストを基盤とする開発手法やツールも紹介。本書で解説するユニットテスト技法を実践し、身に付けるための演習問題を収録した。チートシート付き。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • Matcher, Rule, Runner 辺りについて、とても丁寧にまとめられており、コード例も豊富に載っていたので、とても理解しやすかった。

  • - 「テストとは何か」「なぜテストをするのか」という基本的な部分のインプットに良い1冊だと思った
    - JUnit5ではなくJUnit4の記法で書かれていることに注意

  • 【書誌情報】
    『JUnit実践入門── 体系的に学ぶユニットテストの技法』
    著者:渡辺修司
    シリーズ:WEB+DB PRESS plusシリーズ
    2012年11月21日紙版発売
    2014年12月10日電子版発売
    A5判/480ページ
    定価:3,630円(本体3,300円+税10%)
    ISBN:978-4-7741-5377-3

    本書では,JavaテスティングフレームワークのデファクトスタンダードであるJUnitの基本的な使い方から,拡張機能,テストパターンまでを網羅的に解説します。また,データベースやAndroidのテストを取り上げるほか,ユニットテストを開発に効果的に取り入れるためのビルド支援ツール・カバレッジ測定ツール・継続的インテグレーション・テスト駆動開発などの周辺技術について,ユニットテストからの視点で説明します。JUnitをこれから学びたい方,もっと効率的にユニットテストしたい方,必読の書です。

    こんな方におすすめ
    ・Javaプログラマ全般
    ・ユニットテストの効果的な活用方法に興味のある方
    [https://gihyo.jp/book/2012/978-4-7741-5377-3]


    【目次】
    推薦のことば(和田卓人)
    はじめに
    本書について


      【Part 1 JUnit入門】

    第1章 JUnitチュートリアル――ユニットテストの作成から実行まで
    1.1 なぜ,ユニットテストを行うのか?
    1.2 JUnitとは?
      バージョン
        [コラム]企業文化と「ユニットテスト」の定義
      ライセンス

    1.3 JUnitテストを始めよう
      チュートリアルの概要
      プロジェクトを作成する
        新規Javaプロジェクトの作成
        ライブラリの追加
        [コラム]junit-4.x.jarとjunit-dep-4.x.jar
      テスト対象クラスを作成する
      テストクラスを作成する
        testソースフォルダの作成
        テストクラスの作成
        Quick JUnitの利用
      テストを実行する

    1.4 テストコードの記述
      乗算メソッドのテストを作成する
        日本語のメソッド名でわかりやすくする
        値を比較検証する
        [コラム]日本語のメソッド名を使うメリット
        乗算メソッドテストの実行
      乗算メソッドのテストを追加する
        障害トレースとエラーメッセージの読み方
        テストコードの修正
      除算メソッドのテストを作成する
        Calculatorクラスの設計変更
      ゼロ除算を例外として送出するテストを作成する
        除算メソッドのゼロ除算対応
        例外の送出を検証するテスト
      チュートリアルの完了

    第2章 ユニットテスト――何のためにテストするのか
    2.1 ソフトウェアテストとは?
      ソフトウェアテストの特徴
      テストケースとテストスイート
        [コラム]製造業と建築業とソフトウェア開発
      ソフトウェアテストの目的
      ソフトウェアテストの限界

    2.2 テスト技法
      ホワイトボックステストとブラックボックステスト
      同値クラスに対するテスト
      境界値に対するテスト

    2.3 ユニットテストとは?
      ユニットテストの特徴
      ユニットテストの目的
      ユニットテストのフレームワーク

    2.4 ユニットテストのパターン
      自動化されたテスト ── 繰り返しいつでも実行できること
      不安定なテスト ── 結果が一定でないテストを避けること
        [コラム]実行環境とテスト
      ドキュメントとしてのテスト ── 仕様書として読めること
        [コラム]テストケースとドキュメント
      問題の局所化 ── テスト失敗時に問題を特定しやすいこと
      不明瞭なテスト ── 可読性の低いテストコードは避けること
      独立したテスト ── 実行順序に依存しないこと
        [コラム]シングルトンオブジェクトとユニットテスト

    第3章 テスティングフレームワーク――ユニットテストを支えるしくみ
    3.1 テスティングフレームワークとは?
      xUnitフレームワーク

    3.2 JUnitによるユニットテストの記法
      テストメソッドのthrows句
      テストメソッドを簡単に挿入する

    3.3 可読性の高いテストコードの書き方
      テストケース
      テスト対象
        [コラム]不完全なテストケース
      実測値と期待値
      メソッドと副作用
      4フェーズテスト
      テストフィクスチャ

    3.4 比較検証を行うアサーション
      JUnitのアサーション

    3.5 JUnitが提供するアノテーション
      @Test ── テストメソッドを宣言する
        expected
        timeout
      @Ignore ── テストの実行から除外する
      @Before ── テストの実行前に処理を行う
      @After ── テストの実行後に処理を行う
      @BeforeClass ── テストの実行前に一度だけ処理を行う
        [コラム]JUnit 3スタイルのテスト
      @AfterClass ── テストの実行後に一度だけ処理を行う

    3.6 JUnitのテストパターン
      標準的な振る舞いを検証するテスト
      例外の送出を検証するテスト
      コンストラクタを検証するテスト


      【Part 2 JUnitの機能と拡張】

    第4章 アサーション――値を比較検証するしくみ
    4.1 Assertによる値の比較検証
      assertThat ── 汎用的な値の比較検証
      fail ── テストを失敗させる
      そのほかのアサーションメソッド

    4.2 Matcher APIによるアサーションの特徴
      可読性の高い記述
      柔軟な比較
        カスタムMatcherによる,より柔軟な比較
      詳細な情報の提供

    4.3 Matcher APIの使用
      CoreMatchersが提供するMatcher
        is
        nullValue
        not
        notNullValue
        sameInstance
        instanceOf
      JUnitMatchersが提供するMatcher
        hasItem
        hasItems
      そのほかHamcrestが提供するMatcher

    4.4 カスタムMatcherの作成
      日付の比較検証を行うカスタムMatcherの要件
      カスタムMatcherの作成手順
        IsDateクラスを作成する
        ファクトリメソッドを作成する
        コンストラクタを定義する
        matchesメソッドを実装する
        describeToメソッドを実装する
        テスト失敗メッセージの確認
      カスタムMatcherのメリット
      IsDateによる比較の実行結果

    第5章 テストランナー ――テスト実行方法の制御
    5.1 コマンドラインからのJUnitの実行
      テストクラスからテストを実行する
      JUnitCoreクラスのしくみ

    5.2 テストランナーとは?
      テストランナーの設定

    5.3 JUnitが提供するテストランナー
      [コラム]ユニットテストの実行結果をカスタマイズする
      JUnit4 ── テストクラスの全テストケースを実行する
      Suite ── 複数のテストクラスをまとめて実行する
        テストスイートクラスでテストクラスを束ねる
        テストスイートクラスの利用
        テストスイートとビルド支援ツール
      Enclosed ── 構造化したテストクラスを実行する
      Theories ── パラメータ化したテストケースを実行する
      Categories ── 特定カテゴリのテストクラスをまとめて実行する
        カテゴリクラスの作成
        カテゴリクラスの指定
        カテゴリ化テストの実行
        [コラム]JUnitのorg.junit.experimentalパッケージ

    第6章 テストのコンテキスト――テストケースの構造化
    6.1 テストのコンテキストとは?
    6.2 テストケースの整理
      テストクラスの構造化
      テストケースをグループ化する
      Enclosedによるテストクラスの構造化

    6.3 コンテキストのパターン
      共通のデータに着目する
      共通の状態に着目する
      コンストラクタのテストを分ける

    6.4 テストクラスを横断する共通処理

    第7章 テストフィクスチャ――テストデータや前提条件のセットアップ
    7.1 テストフィクスチャとは?
      ユニットテストのフィクスチャ
      フレッシュフィクスチャ
      フィクスチャとスローテスト問題
      共有フィクスチャ

    7.2 フィクスチャのセットアップパターン
      インラインセットアップ
      暗黙的セットアップ
      生成メソッドでのセットアップ
      外部リソースからのセットアップ
        YAMLを使ったセットアップ
        [コラム]Javaと宣言的記法

    第8章 パラメータ化テスト
    テストケースとテストデータの分離
    8.1 テストデータの選択
      どのくらいのテストデータが必要か?
        同値クラスによるテストデータの選択
        組み合わせによるテストデータの選択
      どのテストデータを選択するか?
        [コラム]妥当な値の範囲を制限する

    8.2 入力値と期待値のパラメータ化
      Theories ── パラメータ化テストのテストランナー
      @Theory ── テストメソッドに指定するアノテーション
      @DataPoint ── パラメータを定義するアノテーション
        [コラム]Parameterizedテストランナー
        複数のテストメソッドがある場合
        複数の引数が定義されている場合
        同じ型の引数が複数定義されている場合
        パラメータをフィクスチャオブジェクトにまとめる
      @DataPoints ── 複数のパラメータを定義するアノテーション

    8.3 組み合わせテスト
      Assumeによるパラメータのフィルタリング

    8.4 パラメータ化テストの問題
      データの網羅性
      パラメータに関する情報の欠落

    第9章 ルール――テストクラスを拡張するしくみ
    9.1 ルールとは?
      ルールの宣言
      ルールのしくみ
      複数のルールの宣言

    9.2 JUnitが提供するルール
      TemporaryFolder ── 一時ファイルを扱う
        TemporaryFolderの拡張
      ExternalResource ── 外部リソースを扱う
      Verifier ── 事後検証を行う
      ErrorCollector ── エラーを収集する
      ExpectedException ── 詳細な例外を扱う
      Timeout ── テストのタイムアウトを設定する
      TestWatcher ── テストの実行を監視する
      TestName ── テスト名を扱う

    9.3 カスタムルールの作成
      TestRuleインタフェース
      事前条件をチェックするカスタムルール
      OSに依存したテストを行うカスタムルール

    9.4 RuleChainによるルールの連鎖
    9.5 ClassRuleによるテストクラス単位でのルールの適用
    [コラム]JUnitのバージョンとルール

    第10章 カテゴリ化テスト――テストケースのグループ化
    10.1 スローテスト問題
      スローテスト問題とは?
      対策
        テストの実行時間を短くする
        テストの実行環境を強化する
        テストを並列で実行する
        実行するテストを絞り込む

    10.2 カテゴリ化テスト
      カテゴリ化テストとは?
      カテゴリ化テストの実行
        カテゴリクラスを作成する
        テストケースにカテゴリを指定する
        テストスイートクラスを作成する
        Eclipseからカテゴリ化テストを実行する

    10.3 カテゴリ化テストのパターン
      データベーステスト
      通信処理を伴うテスト
      GUIを伴うテスト

    10.4 ビルドツールによるカテゴリ化テスト


      【Part 3 ユニットテストの活用と実践】

    第11章 テストダブル――テスタビリティと,モック/スタブによるテスト
    11.1 テスタビリティを高めるリファクタリング
      テスタビリティとは?
      リファクタリングとは?
        [コラム]ユニットテストを前提としたリファクタリング
      メソッドの抽出
        処理をメソッドに抽出する
        抽出メソッドをテストでオーバーライドする
      委譲オブジェクトの抽出
        処理を委譲オブジェクトに抽出する
        [コラム]メソッドとオブジェクト
        委譲オブジェクトをテストで置き換える
        [コラム]DIとユニットテスト

    11.2 テストダブルとは?
      スタブ ── 依存オブジェクトに予測可能な振る舞いをさせる
        固定値を返すスタブ
        例外を送出するスタブ
      モック ── 依存オブジェクトの呼び出しを検証する
        モックとスタブの違い
      スパイ ── 依存オブジェクトの呼び出しを監視する
        [コラム]状態に着目するテストと相互作用に着目するテスト

    11.3 Mockitoによるモックオブジェクト
      Mockitoとは?
      Mockitoを利用する準備
      モックオブジェクトの作成
      スタブメソッドの戻り値
      スタブメソッドの定義
        例外を送出するスタブメソッド
        void型を返すスタブメソッド
        任意の引数に対するスタブメソッド
      スタブメソッドの検証
        [コラム]Mockitoの後置記法と前置記法
      部分的なモックオブジェクト
      スパイオブジェクト
        メソッド実行時のコールバック

    第12章 データベースのユニットテスト――テストコードで外部システムを制御する
    12.1 データベースに依存するユニットテスト
      データベースを扱うソフトウェアの設計
        Web三層構造アーキテクチャ
        パーシステンス層のスタブによる置き換え
        プロダクション環境とユニットテスト
        [コラム]代替データベースを利用したテスト
      データベースの状態とユニットテスト
        参照系のテスト
        更新系のテスト

    12.2 ユニットテストの自動化とH2 Database
      H2 Databaseサーバの起動/停止を行うルール

    12.3 DbUnitによるデータベースのテスト
      DbUnitとは?
      DbUnitのJUnit 4対応
        DbUnitのルールクラスの作成
        DbUnitのルールクラスの利用
      データベースのセットアップ
        DbUnitのデータセット
        データセットの外部定義
      データベースのアサーション
        JUnit 4スタイルでのアサーション
      コンテキストによるテストケースの整理
      DbUnitのそのほかの機能

    第13章 Androidのテスト―― UIとロジックを分けてテストする
    13.1 GUIアプリケーションの設計
      GUIアプリケーション開発のポイント
      MVCパターン
        モデル
        ビュー
        コントローラ
      イベント駆動
        イベントハンドラ/イベントリスナ
      GUIアプリケーションのスレッドモデル

    [コラム]なぜGUIはシングルスレッドモデルなのか?
    13.2 MVCパターンによるAndroidアプリケーションの作成
      HelloAndroidの概要
      Androidのプロジェクトの作成
      エミュレータの起動
      レイアウトを作成する
      アクティビティを実装する
        コンポーネントの参照
        イベントハンドラの追加
      モデル用プロジェクトの作成
      モデルの定義
      モデルのスタブ実装
        [コラム]独立したモデルプロジェクトのメリット
      スタブ実装によるイベントの実装

    13.3 モデルのテスト
      認証ユーザクラスのテスト
      ユーザ認証クラスのテスト

    13.4 ビューとコントローラのテスト
      Androidアプリケーションの機能テスト
      Android SDKが提供するテスティングフレームワーク
      アクティビティのテスト
        テスト用プロジェクトの作成
        [コラム]JUnit 3.8におけるテストを書くルール
        MainActivityTestの作成
        アクティビティテストの初期化
        初期状態のテスト
        アクティビティテストの実行
    シナリオテスト
        ハッピーパスのテスト
        拡張シナリオのテスト
        エラーシナリオのテスト
        シナリオの優先順位

    13.5 GUIアプリケーションのテストにおける注意点
        [コラム]正常系/準正常系/異常系
        [コラム]Webアプリケーションの機能テスト

    第14章 コードカバレッジ
    テスト網羅率の測定
    14.1 コードカバレッジとは?
       カバレッジの基準
        C0(命令網羅)
        C1(分岐網羅)
        C2(条件網羅)
       カバレッジ測定の効果

    14.2 カバレッジツールの利用
       ユニットテストの漏れを監視する
       テストケースの問題を検知する
       コードの実行をトレースする
       カバレッジツールの選択肢

    14.3 EclEMMAによるカバレッジ測定
       EclEMMAプラグインのインストール
        [コラム]そのほかのカバレッジツール
       EclEMMAプラグインの実行
        [コラム]EclEMMAプラグインとJaCoCoエンジン
      カバレッジビューとカウンタ
        命令カウンタ
        ブランチカウンタ
        行カウンタ
        メソッドカウンタ
        型カウンタ
        複雑度
      コードハイライト
      測定結果のクリア

    14.4 カバレッジに関するよくある疑問
      カバレッジとは何か?
      カバレッジ測定の目的は何か?
        [コラム]デフォルトコンストラクタとカバレッジ
      何%のカバレッジを目標とするべきか?
      ユーティリティクラスのコンストラクタをどう扱うか?
      再現困難な例外処理をどうするか?
      いつカバレッジを測定するか?
      カバレッジは本当に役に立つのか?


      【Part 4 開発プロセスの改善】

    第15章 継続的テスト―ーすばやいフィードバックを手に入れる
    15.1 継続的テスト
      開発チームへのすばやいフィードバック
        早期からテストする
        自動的にテストする
        繰り返しテストする
      継続的テストとは?
      継続的テストを行うための3つの要素
        ユニットテスト
        自動化
        バージョン管理
      継続的テストの運用
      継続的テストとリファクタリング
        ユニットテストとリファクタリング
        積極的なリファクタリング

    15.2 Mavenによるビルドプロセスの自動化
      Mavenとは?
        [コラム]Mavenのバージョン
      Mavenの準備
      MavenプロジェクトとPOM
      Mavenプロジェクトの作成
      Mavenのプロジェクト構成
      依存ライブラリの管理
      Mavenのリポジトリ
      依存ライブラリの追加
      ソースコードのエンコーティング設定
      Mavenのプラグイン
        プラグインの設定
    [コラム]プラグインのconfigurationセクション
      Mavenによるビルドの実行とフェーズ
        テストをスキップする
        Eclipseから実行する
      プラグインとゴール
        ゴールを実行する
      Mavenによるカテゴリ化テスト

      Mavenによるカバレッジレポート
        JaCoCoプラグインの導入
        JaCoCoによるカバレッジレポート

    15.3 バージョン管理システムによる継続的テストの運用
      バージョン管理システムとは?
      バージョン管理システムへのコミット
      Subversionでのテストサイクル
      GitやMercurialでのテストサイクル

    15.4 Jenkinsによる継続的インテグレーション
      継続的インテグレーションとは?
      Jenkinsとは?
      Jenkinsの導入
      Jenkinsのジョブ
      ジョブの作成
      ジョブの設定
        バージョン管理システムの設定
        ビルドゴールの設定
        ジョブの実行
      ビルドトリガーの設定
        Jenkinsのリモートビルド機能
        バージョン管理システムのフック機能
      継続的インテグレーションの効果
        テストの実行コスト削減
        すばやいフィードバック
        テスト結果の履歴
        [コラム]失敗するテストの扱い

    第16章 テスト駆動開発
    テストファーストで設計する
    16.1 テスト駆動開発とは?
    16.2 テスト駆動開発のサイクル
      設計する
      テストコードを書く
      プロダクションコードを書く
      リファクタリングを行う
      次のサイクルを始める

    16.3 Calculatorクラスのテスト駆動開発
      テストファースト
        テストクラスの作成
        設計とテストケースの作成
        テストケースの実装
      コンパイルエラーの解決
        [コラム]テスタビリティとクラス設計
        クイックフィックスの活用
      仮実装
        仮実装の目的
      リファクタリング
        リファクタリングの目的
      三角測量
        計測点の追加
      プロダクションコードの修正

    16.4 テスト駆動開発の目的
      ステップバイステップ
      自分が最初のユーザ
      動作するきれいなコード
      すばやいフィードバック
      メンテナンスされたドキュメント

    第17章 振舞駆動開発――ストーリーをテスト可能にする
    17.1 受け入れテストとは?
      受け入れテストの自動化

    17.2 振舞駆動開発とは?
      ソフトウェアの振る舞いを記述するシナリオ
        「~するべき」とアサーション
      振舞駆動開発と受け入れテスト
      テスト駆動開発との違い
        テストコードと自然言語によるシナリオ
        [コラム]ユースケースシナリオと振舞駆動開発のシナリオ
        API設計のタイミング
        検証する対象の粒度
      振舞駆動開発の語彙
        Given/前提
        When/もし
        [コラム]振舞駆動開発の生まれた背景
        Then/ならば

    17.3 cucumber-junitによる振舞駆動開発
      cucumber-junitのしくみ
      cucumber-junitの準備
      ポーカーアプリケーションの概要
      フィーチャファイルの作成
      シナリオの作成
        ランダム性とテスト
      シナリオの実行
      ステップ定義の作成
        コードスニペットの利用
        ステップ定義ファイルの作成
      ステップ定義の実装
        ポーカーアプリケーションの設計
        プロダクションコード
        [コラム]PokerGameクラスの設計
      ワンペアシナリオの作成
      シナリオテンプレートの利用
      アウトサイドインの開発


      【Part 5 演習問題】
    第18章 ベーシックなテスト
    18.1 状態を持たないメソッドのテスト
    18.2 例外を送出するメソッドのテスト
    18.3 副作用を持つメソッドのテスト
    18.4 同値クラスに対するテスト
    18.5 void型を戻り値とするメソッドのテスト
    18.6 マルチスレッドのテスト

    第19章 アサーションとフィクスチャ
    19.1 リストのアサーション
    19.2 JavaBeansのアサーション
    19.3 複数行テキストのアサーション
    19.4 境界値のテスト
    19.5 フィクスチャを用いたパラメータ化テスト
    19.6 組み合わせテスト

    第20章 テストダブルの活用
    20.1 システム時間に依存するテスト
    20.2 例外ハンドリングのテスト
    20.3 外部システムに依存するテスト
    20.4 インタフェースとスタブによるテスト
    20.5 サーブレットのテスト
    20.6 Hello Worldのテスト

    【付録】
    付録A 開発環境のセットアップ
      A.1 JDKのセットアップ
        Javaのバージョン
        JDKのインストール
      A.2 Eclipseのセットアップ
        Eclipseのバージョン
        Eclipseのインストール
        Eclipseの日本語化
        Mac OS X環境におけるデフォルト文字コードの設定

    [コラム]Eclipseは英語版のまま使おう
    付録B Eclipseの便利機能と設定
      B.1 EclipseのJUnitサポート
      B.2 テキストファイルのエンコーディング設定
      B.3 staticインポートのワイルドカード
      B.4 Quick JUnit
        Quick JUnitプラグインをインストールする
        テスティングペアを開く
        テストを実行する
      B.5 コンテンツアシストとお気に入り
      B.6 テンプレート
        test ── テストメソッド
        at ── アサーション
        setUp ── 初期化メソッド
        tearDown ── 後処理メソッド
        setUpClass ── クラスの初期化メソッド
        tearDownClass ── クラスの後処理メソッド
        when ── ネストしたテストクラス
        instantiation ── インスタンス化テスト
      B.7 次の注釈
      B.8 クイックフィックス
      B.9 クイックアウトライン
    付録C H2 Databaseのセットアップと使い方
      C.1 H2 Databaseの特徴
      C.2 H2 Databaseのセットアップ
      C.3 H2 Databaseの起動と停止
        サーバモード
        組込みモード
      C.4 H2 Databaseの起動オプション
      C.5 H2 Console
    付録D Android開発環境のセットアップ
      D.1 ADTのインストール
      D.2 AVDの設定
    付録E Jenkinsの設定
      E.1 JDKの設定
      E.2 Mavenの設定
      E.3 プラグインの設定
    付録F 本書利用環境のバージョン
      F.1 開発環境
      F.2 Eclipseプラグイン
      F.3 外部ライブラリ
      F.4 Mavenプラグイン

    巻頭付録 JUnitチートシート
    巻末付録 Eclipseのショートカット
    索引

  • プログラムの検証に対して、考え方を変えるきっかけになった書籍です。

    テストといったら、キャプチャをとる、手動で何度も繰り返し行うということをやってきた時期がありました。

    テストケースも実施者によっては粒度も解釈も異なり一定の品質を担保することができませんでした。

    初めてテストケースを書いたときに手動のほうが早いのではと思ったことがありました。

    しかし、プロジェクトが進む中でで繰り返し実行して壊れていないことを確認することに大きい価値を感じるようになりました。

    多くの開発者が並行して機能を開発する中で壊れていないことを確認することができる安心感は素晴らしいものでした。

    フレームワークを通して、テストで意識を持つ必要があることを学び直すことと共にプログラムの処理についても新しい視点で取り組むことができるようになりました。

    まだ進行中のプロジェクトではJUnit4ですが、現在の開発はJUnit5で進行しています。

    差異が大きいので、テストの概要を掴んだ上で、そのversionの差異を比較したほうがいいかもしれません。

  • JUnit4系についての書籍。
    単にJUnitについての話だけではなくてテストコードを書くときに迷うことなどまで考えてあり、これからテストコードを書こうという方にはお勧めできる。また、JUnitの細かな仕様についてもおそらく他のJUnit系の書籍よりもまとまっており初学者に限らず参考になると思います。

  • JUnitの実践的な教本

    ソフトウェア開発におけるテスト技法について興味があって調べていたところ,JavaでのテストツールのJUnitというものが有名と知り,Javaはできないけれど借りて読んでみた。

    500ページとけっこうな厚さであるが,どういう手順でテストを行えばいいか,どういう考え方をするのか,具体的で丁寧な解説があって参考になった。JavaでJUnitを使ったテストを行う際には,この本が必携のように思えた。

  • すごく勉強になった。

  • JUnit4系を実践を交えて学べる。とても分かりやすい。

  • 少し、初めてテスティングに取り組む人には優しくなかったような気が。
    とはいえ、前半は凄くわかりやすかったし、この本を見つつ、あとはlearning by doingというか、書いて覚えるしかないのかなあ、とも。

全30件中 1 - 10件を表示

著者プロフィール

2007年より大学の教鞭をとり、2010年度より正式に立命館大学映像学部准教授に専任。現職 日本デジタルゲーム学会研究委員、立命館大学ゲーム研究センター運営委員。1997 年 「FinalFantasy7 international」(株式会社スクウェア) でゲーム業界に参加後、多数の会社で企画・監督職として参加。代表作は、2008年「internet Adventure」(株式会社セガ) 原案・企画監修。2004年 エンターブレイン主催 第1回ゲーム甲子園 大賞受賞 「みんなの城」個人作品、2003年 メディア芸術祭審査員推薦作品 「ガラクタ名作劇場 ラクガキ王国」(株式会社タイトー 2003年)、原案・監督職

「2014年 『なぜ人はゲームにハマるのか』 で使われていた紹介文から引用しています。」

渡辺修司の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×