ISBN 9784297110611
ソフトウェアテスト技法練習帳 〜知識を経験に変える40問〜
概要
テスト技法の知識を問題演習で実務レベルまで定着させる
想定読者
座学でテスト技法を学んだが実務への適用に悩む新人〜若手テストエンジニア。企業内新人研修の教材を探す担当者にも適する
こんな人には向いていない
- Selenium・JUnit等のテスト自動化ツール操作を学びたい読者。本書はテスト設計技法に特化しており、自動化実装の手順やフレームワーク操作は対象外
- テスト管理・品質マネジメントの体系知識(プロセス改善・メトリクス設計・テスト計画立案など)を求める中上級者。そうした観点は本書のスコープ外
- 同値分割・デシジョンテーブル・状態遷移テストを実業務で日常的に活用している経験者。既知の技法を演習するだけに終わる可能性が高い
この本で身につくこと
- 同値分割法・境界値分析を料金体系やセンサー判定など業務に近い仕様に適用し、テストケースを体系的に導出できる
- デシジョンテーブルで複雑な条件分岐を網羅的に整理し、条件組み合わせ漏れを防いだテスト設計ができる
- 状態遷移テストでUI・業務フローの状態図からテストケースを導出し、遷移漏れを体系的に検出できる
- ペアワイズ法等の組合せテスト技法で組み合わせ爆発を抑えつつ高リスク部位を優先検証するテスト設計ができる
- 「BUG QUEST★」演習を通じて、バグが潜む境界条件・条件競合を実践的な感覚として身につけられる
ハイライト(外部からの言及)
座学で学んだ「ソフトウェアテスト技法」を実務に活かそうにも,どのように適用したらよいかわからないというのが悩みです。そこで,本書では実践的なシチュエーションを想定した問題を繰り返し解いていくことにより、テスト技法の知識定着を目指します。 — 出典
本書が解決しようとする読者の悩みと学習アプローチが端的に示されており、購入判断の核心となる一文
同値分割法は、同じ結果に範囲に分割して、その中で1つのみテストを実施する。そうすることで、その範囲内の動作は正しいと判断するテスト。ただし、ソースコードの組み方によっては、代表値だけのテストでは足りない場合もありうる。 — 出典
本書 Part 1 を読了した読者の学習メモ。同値分割法の適用原理だけでなく代表値テストが見逃し得るケースまで整理されており、本書の演習が機械的な手順習得ではなく判断力の養成を目指していることを示す傍証
読了後にできること
Before(読む前): テスト技法の名称(同値分割・デシジョンテーブル等)は知っているが、実際の仕様書を前にしてどの技法を選択しどうテストケースに変換するか判断できない
After(読み終えた後): 料金体系・状態遷移・組み合わせ仕様など現実的な仕様に対して適切なテスト技法を選択し、テストケースを体系的に設計できる
章立て
第1章 同値分割法と境界値分析
全13問。ペット用温度計・キッチンスケール・配達便料金体系など日常業務に近い題材で基礎技法を徹底演習する。最初に取り組む章として設計されている
第2章 デシジョンテーブル
全10問。銀行ATM手数料・割引体系・ポイント倍率など条件分岐が複雑な仕様を題材にする。Part1修了後に自然につながる
第3章 状態遷移テスト
全6問。スマホ決済・エアコン・ホテル予約など状態を持つシステムを扱う。UIテスト設計への応用を意識している場合は前倒しで取り組む価値がある
第4章 組合せテスト
全8問。ペアワイズ法・ラルフチャートを扱う。BUG QUEST問題が最多で難易度も高く、前3パートの技法横断が求められる
第5章 総合問題
全3問。スマートフォン料金プランなど複合仕様が題材。各パート直後に腕試しとして試すと習熟度の自己診断になり、弱点技法への戻りタイミングが明確になる
関連記事 / 参考情報
- t_wadaさんによるTDD研修をワードクラウド・名言5選で振り返ってみた — TDD研修の振り返り記事。テスト技法の体系的学習の文脈でソフトウェアテスト技法に言及
- ゲームQAにおすすめの図書紹介~入門編~ — ゲーム品質保証エンジニア向けの入門書リストとして本書を推薦。職域横断の汎用性を示す
- ユーザベースに入社して半年、とても大変でした。 — 入社半年の振り返り記事。テストエンジニアとしての自己学習素材として本書に言及
- WACATE2021冬の予習に役立ちそうなものを調べてみた — テスト技法カンファレンスWACATEの予習教材リストに本書を掲載
- ソフトウェアテスト技法を読んで学んだこと — 本書読了後の学習メモ。各テスト技法の要点を読者視点で整理している
- テスト技法の社内勉強会に参加した。(ソフトウェアテスト技法練習帳 1-1-1) — 本書を教材にした社内勉強会の報告。第1章1問目の解答プロセスを共有した実践例
- ソフトウェアテスト技法練習帳
知識を経験に変える40問の練習問題① — 本書の練習問題①に取り組んだ解答レポート。自力演習の過程を記録した実践的な参考記事
学習のヒント
- Part1(同値分割・境界値)を一通り終えたら、Part3(状態遷移)を前倒しで取り組む。UIや業務フローのテスト設計との接続が早い段階でイメージでき、技法の使い分け感覚が育ちやすい
- 「BUG QUEST★」問題は解けなくても解説を読みながら逆算する使い方が有効。バグが潜む条件の見つけ方を「解き直し」で定着させる
- 1問を個人で解いた後に同僚や同期と答え合わせする形式が効果的。問題設定が現実的なため「なぜそのクラスを選んだか」の議論で技法の本質を掴みやすく、勉強会教材として適している
- Part5の総合問題は最後に一括で解くより、各Partの直後に試してみると習熟度の自己診断になり、弱点の技法に戻るタイミングが明確になる
前提知識
- ソフトウェア開発工程(要件定義〜テスト)の基本的な流れについての概念的な理解
- 条件分岐やループ処理など、プログラムの基本的な仕様書の読み方
次に読む本
はじめて学ぶソフトウェアのテスト技法
本書(練習帳)で演習を積んだ後、「なぜその技法が機能するのか」という設計根拠まで理解を深めるフェーズに適する。Copeland は各技法の適用条件と選択基準を理論的に整理しており、本書の「解く力」を「語る力」に昇華させる位置づけの一冊
テスト駆動開発
本書(練習帳)はテストケース設計の精度を養う技法書であり、続いて TDD を学ぶことで「何をテストするか(設計)」と「どう実装しながら検証するか(TDD サイクル)」の両輪が揃う。t_wada 訳で日本語習得の障壁も低い
JSTQBシラバス Foundation Level(公式テキスト)
本書(練習帳)は特定技法の適用力を養う実践演習書であり、JSTQB シラバスはテストプロセス・マネジメントまでを網羅する体系書として位置が異なる。本書で技法の実感を得た後にシラバスを読むと、経験と体系知識が対応付けやすくなる
出版社による内容紹介
新人や経験の浅いテストエンジニアにとって,座学で学んだ「ソフトウェアテスト技法」を実務に活かそうにも,どのように適用したらよいかわからないというのが悩みです。そこで,本書では実践的なシチュエーションを想定した問題を繰り返し解いていくことにより、テスト技法の知識定着を目指します。個々のテストエンジニアのスキルアップや、企業における新人研修の教材としてもご活用いただけます。 ■Part1 同値分割法と境界値分析 1.1 温度によって表示を変えるペット用室温計 1.2 キッチンスケールの動作検証 1.3 畳の枚数から面積を計算するWebシステム 1.4 まとめ買いがお得な手芸用品店 1.5 年齢によって変わる入園料金 1.6 BUG QUEST★盾と一緒に装備できる武器 1.7 BUG QUEST★武器の強化判定 1.8 BMI値で栄養状態を判定 1.9 肉屋の特売日 1.10 肉屋の特売日〜A社のソースコード 1.11 肉屋の特売日〜B社のソースコード 1.12 配達便の料金体系 1.13 経理システムに入力する部署コード ■Part2 デシジョンテーブル 2.1 1杯目のビールの価格 2.2 銀行ATMの引き出し手数料 2.3 紳士服店の割引率 2.4 BUG QUEST★魔王との戦い 2.5 カレンダーの文字色 2.6 プリペイドカードのチャージ特典 2.7 宅配ピザの特典 2.8 ネットスーパーのポイント倍率 2.9 ショッピングモールの駐車料金システム 2.10 Eコマースサイトの配送料 ■Part3 状態遷移テスト 3.1 ストップウォッチの動作 3.2 スマホ決済アプリの決済処理 3.3 エアコンの運転モード切替 3.4 ホテル予約サイトの予約システム 3.5 BUG QUEST★仙台城奪還大作戦 3.6 BUG QUEST★戦闘中のステータス ■Part4 組合せテスト 4.1 美味しい組合せ 4.2 BUG QUEST★冒険のはじまりの旅支度 4.3 合コン会計用アプリの検証 4.4 BUG QUEST★仲間集め 4.5 健診システムの不養生 4.6 タスク管理ツールの検証〜ラルフチャートの利用 4.7 BUG QUEST★最後の戦い 4.8 BUG QUEST★リメイク版の差分テスト ■Part5 総合問題 5.1 スマートフォンの料金プランと料金計算 5.2 BUG QUEST★隠しアイテム探し 5.3 ミュージックプレーヤーのシステムテスト
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。