学習ロードマップ

ユニットテスト入門

テスト可能な設計とモック・スタブ・アサーションの基礎を、入門漫画からテスト技法、フロント実装、持続可能な戦略書まで 5 冊で積み上げる。

マンガでわかるソフトウェアテスト入門 テスターちゃん Vol.1 ソフトウェアテスト技法ドリル【第2版】 : テスト設計の考え方と実際 ソフトウェアテスト技法練習帳 〜知識を経験に変える40問〜 フロントエンド開発のためのテスト入門 今からでも知っておきたい自動テスト戦略の必須知識 単体テストの考え方/使い方 : プロジェクトの持続可能な成長を実現するための戦略
SCROLL TO BEGIN

このロードマップが扱うもの

- - `assert` -

このロードマップの全体像

対象読者

  • 動作確認を手動のデバッグ実行に頼っており、自動テストをゼロから始めたい実装者
  • assert を書いたことはあるが、何をどこまで検証すれば十分なのか判断できないエンジニア
  • レビューや保守でテストコードを読む機会が増え、テスト設計の語彙を体系的に揃えたい中級者

5 冊で到達する状態

  • 同値分割・境界値・デシジョンテーブルなど主要なテスト技法を、実装対象に合わせて選べる
  • テスト可能な設計(依存の注入、副作用の分離)を意識してプロダクトコードを書ける
  • モック・スタブ・フェイクの使い分けと、モック乱用によるテストの壊れやすさを説明できる
  • フロントエンドのコンポーネント/ロジック/統合の各層に、どのテストをどの比率で置くか設計できる
  • 単体テストの価値を「リグレッションからの保護 × リファクタリング耐性」で評価し、捨てるべきテストを判断できる

進め方のヒント

  • 1 冊目と 2 冊目でテストの語彙と技法名を先に頭に入れてから、3 冊目で手を動かして定着させる
  • 4 冊目は業務で触っているコードベースに近い章から写経し、assert を自分で書き換えて挙動を比較する
  • 5 冊目は読みながら既存プロジェクトのテストを棚卸しし、「消してよいテスト」を判定する練習に使う

ロードマップ

5 つのステップで読み進める

  1. 01
    ステップ 01 漫画で俯瞰するソフトウェアテストの全体像
    マンガでわかるソフトウェアテスト入門 テスターちゃん Vol.1
  2. 02
    ステップ 02 境界値と同値分割を軸にしたテスト技法の体系化
    ソフトウェアテスト技法ドリル【第2版】 : テスト設計の考え方と実際
  3. 03
    ステップ 03 40 問の実務演習によるテスト技法の定着
    ソフトウェアテスト技法練習帳 〜知識を経験に変える40問〜
  4. 04
    ステップ 04 フロントエンド実装に自動テストを組み込む実戦手順
    フロントエンド開発のためのテスト入門 今からでも知っておきたい自動テスト戦略の必須知識
  5. 05
    ステップ 05 価値ある単体テストを見抜き持続可能にする戦略書
    単体テストの考え方/使い方 : プロジェクトの持続可能な成長を実現するための戦略

第 1 章

漫画で俯瞰するソフトウェアテストの全体像

  1. 漫画で俯瞰するソフトウェアテストの全体像

    テストの目的と種類、現場で使う言葉をストーリー仕立てで俯瞰する入口の 1 冊。ここで抵抗感を外し、以降の技法書を読み進める土台を作る。

    マンガでわかるソフトウェアテスト入門 テスターちゃん Vol.1
    この章の 1 冊 マンガでわかるソフトウェアテスト入門 テスターちゃん Vol.1

    マンガ形式でソフトウェアテストの基礎概念を身につける

    この本で身につくこと
    • ソフトウェアテストの目的と定義を自分の言葉で説明できる
    • マイヤーズの三角形を使ったテストケース設計の考え方を理解する
    • テストケースの再現性・客観性を担保するための記述作法を身につける
    • バグレポートに必要な情報と書き方の基本を習得する

    想定読者: ソフトウェアテストの経験がない新人エンジニアや、テスト工程に初めて携わるチームメンバー

    本の詳細を見る →
  2. 境界値と同値分割を軸にしたテスト技法の体系化

    同値分割・境界値・状態遷移など主要技法を演習込みで通す定番。単体テストで検証する入力候補を選ぶ感覚を、この 1 冊で標準化する。

    ソフトウェアテスト技法ドリル【第2版】 : テスト設計の考え方と実際
    この章の 1 冊 ソフトウェアテスト技法ドリル【第2版】 : テスト設計の考え方と実際

    複数のテスト設計技法を点・線・面・立体の視点で体系的に習得する

    この本で身につくこと
    • 同値分割・境界値分析をループ境界や負荷テストへ応用する技術
    • デシジョンテーブル・原因結果グラフ・CFD法を使って『面』で仕様を網羅する設計ができる
    • HAYST法・ペアワイズを用いた多因子組み合わせテストの設計と削減戦略
    • 状態遷移テストをUMLステートマシン図から正確に導出する際の注意点

    想定読者: テスト設計の引き出しを増やしたい初・中級のテスト技術者、およびJSTQB Advanced Level取得を目指す受験者

    本の詳細を見る →
  3. 40 問の実務演習によるテスト技法の定着

    技法ドリルで得た知識を、実務に寄せたシチュエーション演習で動かして定着させる副読本。座学と実装の橋渡しとしてここに置く。

    ソフトウェアテスト技法練習帳 〜知識を経験に変える40問〜
    この章の 1 冊 ソフトウェアテスト技法練習帳 〜知識を経験に変える40問〜

    テスト技法の知識を問題演習で実務レベルまで定着させる

    この本で身につくこと
    • 同値分割法・境界値分析を料金体系やセンサー判定など業務に近い仕様に適用し、テストケースを体系的に導出できる
    • デシジョンテーブルで複雑な条件分岐を網羅的に整理し、条件組み合わせ漏れを防いだテスト設計ができる
    • 状態遷移テストでUI・業務フローの状態図からテストケースを導出し、遷移漏れを体系的に検出できる
    • ペアワイズ法等の組合せテスト技法で組み合わせ爆発を抑えつつ高リスク部位を優先検証するテスト設計ができる

    読み終えると Before(読む前): テスト技法の名称(同値分割・デシジョンテーブル等)は知っているが、実際の仕様書を前にしてどの技法を選択しどうテストケースに変換するか判断できない After(読み終えた後): 料金体系・状態遷移・組み合わせ仕様など現実的な仕様に対して適切なテスト技法を選択し、テストケースを体系的に設計できる

    想定読者: 座学でテスト技法を学んだが実務への適用に悩む新人〜若手テストエンジニア。企業内新人研修の教材を探す担当者にも適する

    前提知識: ソフトウェア開発工程(要件定義〜テスト)の基本的な流れについての概念的な理解 / 条件分岐やループ処理など、プログラムの基本的な仕様書の読み方

    本の詳細を見る →
  4. フロントエンド実装に自動テストを組み込む実戦手順

    コンポーネント・ロジック・E2E の戦略を題材に、ユニットテストを実プロジェクトへ組み込む具体像を掴む。テストの層別分担の基準を作る。

    フロントエンド開発のためのテスト入門 今からでも知っておきたい自動テスト戦略の必須知識
    この章の 1 冊 フロントエンド開発のためのテスト入門 今からでも知っておきたい自動テスト戦略の必須知識

    フロントエンド自動テストの基礎から実践的な導入手法を体系的に学ぶ

    この本で身につくこと
    • UIコンポーネントのユニットテストを Jest および Testing Library を用いて実装できる
    • ビジュアルリグレッションテストの仕組みと、導入が有効な場面の判断軸を持てる
    • アクセシビリティに配慮したクエリ戦略(ロール・属性ベース)でテストを設計できる
    • CI パイプラインへのテスト組み込みを設定レベルで実装できる

    想定読者: テストの必要性を感じながらも着手できていない、ある程度の開発経験を持つフロントエンドエンジニア

    前提知識: JavaScript または TypeScript でフロントエンドのコンポーネントを書いた経験(ゼロスタートでも読めるが、コード例の理解が格段に深まる) / React などのモダンなフロントエンドフレームワークのコンポーネントモデルに関する基礎知識

    本の詳細を見る →
  5. 価値ある単体テストを見抜き持続可能にする戦略書

    価値ある単体テストを「保護 × リファクタ耐性 × 高速フィードバック × 低保守」で評価する枠組みを獲得する到達点の書。モック乱用からの脱却地点に置く。

    単体テストの考え方/使い方 : プロジェクトの持続可能な成長を実現するための戦略
    この章の 1 冊 単体テストの考え方/使い方 : プロジェクトの持続可能な成長を実現するための戦略

    テストの「価値判断」と「設計改善」の軸を実務で身につける

    この本で身につくこと
    • 「良い単体テスト」をリグレッション防止・リファクタリング耐性・迅速なフィードバック・保守コストの4軸で評価し、取捨選択の判断ができる
    • モックを乱用すると壊れやすいテストになる理由と、モックが適切な境界を正しく理解できる
    • 出力値ベース・状態ベース・コミュニケーションベースの3手法を状況に応じて選び分けられる
    • テストを削除・リファクタリングすべき判断基準を言語化し、既存テストスイート全体の価値を高める方針を立てられる

    読み終えると Before(読む前): テストの数が増えるにつれて保守コストが膨らみ、どのテストを直すべきか・削除すべきかの判断軸がなかった After(読み終えた後): リファクタリング耐性とリグレッション防止の観点から各テストの価値を評価し、スイート全体を計画的に整理できる

    想定読者: テストを書いているが保守コストの増大・壊れやすさに課題を感じている中級以上のエンジニア

    前提知識: オブジェクト指向言語(Java / Python / TypeScript 等)での実務経験 / JUnit / pytest / Vitest 等、何らかのテストフレームワークで基本的なテストを書いた経験 / モック・スタブという用語の概念を大まかに知っていること(厳密な定義は本書が整理してくれる)

    本の詳細を見る →