0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

書籍「JUnit実践入門 」の復習用チャート

Posted at

概要

当方、渡辺修司さんの著作「JUnit実践入門」を学習したのですが、
いざ書くとなると知識がさっと出てこないという問題に直面。
そこで、知識の体系化をしたい、忘れた時にさっと書籍を復習できるようにしたいと思い
復習用のチャートシートを作成しました。

JUnitを構成する各要素を項目ごとにまとめ、該当するページのみを記載しているので、
項目を見て概要を思い出す。思い出せなければ該当ページを見返す。という風に
学習内容の復習に使えるかと思います。

第1章 JUnitチュートリアル

JUnitの概要

  • JUnitおよび、テスティングフレームワークが主に提供する機能とは何か(3つ)
    → 3ページ
  • テスティングフレームワークは何をサポートするのか
    → 3ページ
  • JUnitを利用するにあたり必要なライブラリとその違いは何か(2つ)
    → 6ページ
  • テストケースとは何か
    → 24-25ページ
  • 複数のテストケースをまとめたものをなんというか
    → 24-25ページ

第2章 ユニットテスト

テスト技法

  • 以下のテスト技法は、どういった内容のテストであるか
    • ホワイトボックステスト(27ページ)
    • ブラックボックステスト(27ページ)
    • 同値クラステスト(28ページ)
    • 境界値テスト(28-29ページ)

ユニットテストの概要

  • 最近のユニットテストには「品質の向上」以外に優先される目的がある。それは何か
    → 31-32ページ

テストパターン

  • アンチパターン、デザインパターンのように、テストにもパターンがある。
    xUnit Test Patternsが提唱する以下のパターンは具体的にどういったテストを表しているか

    • 自動化されたテスト(33-34ページ)
    • 不安定なテスト(34-35ページ)
    • ドキュメントとしてのテスト(35-36ページ)
    • 問題の局所化(36ページ)
    • 不明瞭なテスト(36-37ページ)
    • 独立したテスト(37ページ)
  • シングルトンオブジェクトがテストにおいてアンチパターンとなりうる要素とは何か(4つ)
    → 38ページ

第3章 テスティングフレームワーク

テスト用語

  • JUnitにおけるテストメソッドの実装の制約は何か(3つ)
    → 40ページ
  • テスト対象となるクラスやオブジェクトのことをなんというか(略称も合わせて)
    → 43ページ
  • テスト対象が返す値と、テスト対象が返すべき値をそれぞれなんというか
    → 44ページ
  • テストを行いやすいメソッドが持つ性質とは何か(3つ)
    → 45ページ
  • 4フェーズテストについて、どのような概要のフェーズで構成されるか
    → 47ページ
  • テストにおいて必要とされる全てのデータ、状態を総称してなんというか
    → 47-48ページ

アノテーション

  • JUnitが提供する主なアノテーション(6つ)とそれらに設定できる属性はどのようなものか
    → 50-56ページ

第4章 アサーション

Assertクラス

  • Assertクラスの所属するパッケージと提供する2つのメソッドはなにか
    → 60-63ページ

Matcher API

  • CoreMatchersクラスが所属するパッケージと提供する主なAPI(6つ)は何か
    → 67-70ページ
  • JUnitMatchersクラスが所属するパッケージと提供する主なAPI(2つ)は何か
    → 70-71ページ
  • その他、Hamcrestが提供するMatcherクラスにはどのようなものがあるか(8つ)
    → 72ページ
  • カスタムMatcherを以下の手順で作成せよ(73-79ページ)
  1. Matcherクラスを作成する
  2. ファクトリメソッドを作成する
  3. xxxメソッド(値の検証メソッド)をオーバーライドして実装する
  4. xxxメソッド(エラーメッセージの定義メソッド)をオーバーライドして実装する

第5章 テストランナー

JUnitの実行

  • JUnitで行うユニットテストはどのような流れで実行されるか(3ステップ)
    → 81ページ

テストランナー

  • テストランナーとは一体どんな機能か
    → 82ページ
  • JUnitの提供する主なテストランナーには何があるか(5つ)、また、それぞれについて実装せよ
    → 84-91ページ

第6章 テストのコンテキスト

コンテキスト(構造化)のパターン

  • 以下のコンテキストのパターンは具体的に何に着目しているか
    • 共通のデータに着目する
      → 99-100ページ
    • 共通の状態に着目する
      → 101-103ページ
    • コンストラクタのテストを分ける
      → 103ページ

第7章 テストフィクスチャ

テストフィクスチャとは

  • フレッシュフィクスチャとは、どういった戦略か
    → 107ページ
  • フィクスチャのセットアップ方法について、どのようなものがあるか(4つ)
    → 110-119ページ

第8章 パラメータ化テスト

  • パラメータを利用しやすくするためのオブジェクトをなんというか
    → 132ページ
  • パラメータをフィルタリングするためのクラスおよびそのパッケージは何か
    → 137-138ページ
  • パラメータ化テストの抱える問題点(2つ)とはなにか

第9章 ルール

ルールとは

  • ルールとはどういった場合に使用する機能か、また、どういった特徴があるか
    → 141ページ
  • ルールの宣言には2種類のアノテーションがある。それぞれの挙動はどのように異なるか
    → 142-143ページ

JUnitの提供するルール

  • JUnitの提供するルールにはどのようなものがあるか(8つ)
    → 143-154ページ

カスタムルール

  • カスタムルールを作成せよ
    → 154-157ページ
  • ルールの実行順序を制御したい場合に使用するクラスは何か
    → 158-159ページ

第10章 カテゴリ化テスト

  • スローテスト問題への対策にはどういったものがあるか(4つ)
    → 163-165ページ
  • カテゴリ化テストを以下の手順で実行せよ(165-168ページ)
  1. カテゴリクラスを作成する
  2. カテゴリを設定する
  3. テストスイートクラスを作成する
  • カテゴリ化テストを適用する代表的なケースは何か(3つ)

テストダブル

  • テストダブルとは何か
    → 181ページ
  • スタブとモックの違いは何か
    → 186ページ

Mockito

  • モックオブジェクトを作成せよ
    → 191-192ページ
  • スタブメソッドのデフォルトの戻り値は何が設定されるか
    → 192ページ
  • 以下のスタブメソッドを定義せよ
    • 標準的な戻り値のあるスタブメソッド(192-193ページ)
    • 例外を送出するスタブメソッド(193ページ)
    • void型を返すスタブメソッド(193-194ページ)
    • 任意の引数をとるスタブメソッド(194ページ)
  • スタブメソッドの実行状態(実行回数など)を検証せよ
    → 194-196ページ
  • Mockitoのspyメソッドを使用し、スパイオブジェクトを使用したテストを実装せよ
    → 196-198ページ

書籍の紹介

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?