give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【書評】「ソフトウェアテスト技法練習帳」を読んで、体系的なテスト技法の知識を身につけよう

はじめに

弊社ソニックガーデンの中でも「この本、面白そう」と少し話題になった「ソフトウェアテスト技法練習帳」を買って読んでみました。

このエントリでは本書を読んだ感想をざっくりまとめておきます。

本書の概要と目次

最初に、本書の概要と目次を技術評論社の書籍ページから引用します。

この本の概要

新人や経験の浅いテストエンジニアにとって,座学で学んだ「ソフトウェアテスト技法」を実務に活かそうにも,どのように適用したらよいかわからないというのが悩みです。そこで,本書では実践的なシチュエーションを想定した問題を繰り返し解いていくことにより,テスト技法の知識定着を目指します。個々のテストエンジニアのスキルアップや,企業における新人研修の教材としてもご活用いただけます。

目次
Part1 同値分割法と境界値分析
1.1 温度によって表示を変えるペット用室温計
1.2 キッチンスケールの動作検証
1.3 畳の枚数から面積を計算するWebシステム
(以下略、全13問)
Part2 デシジョンテーブル
2.1 1杯目のビールの価格
2.2 銀行ATMの引き出し手数料
2.3 紳士服店の割引率
(以下略、全10問)
Part3 状態遷移テスト
3.1 ストップウォッチの動作
3.2 スマホ決済アプリの決済処理
3.3 エアコンの運転モード切替
(以下略、全6問)
Part4 組合せテスト
4.1 美味しい組合せ
4.2 BUG QUEST★冒険のはじまりの旅支度
4.3 合コン会計用アプリの検証
(以下略、全8問)
Part5 総合問題
5.1 スマートフォンの料金プランと料金計算
5.2 BUG QUEST★隠しアイテム探し
5.3 ミュージックプレーヤーのシステムテスト

技術評論社の書籍ページにはサンプルページも載っているので、中身が気になるという方はこちらもどうぞ。

gihyo.jp

それでは以下が本書を読んだ僕の感想です。

良かったところ

  • 例題が親しみやすく、かつ実践的。「あー、こういうテストケースあるよねー」と思えるものがたくさんあった。
  • 各例題のゴールはあくまで「提示された仕様に対応するテストケースを作成すること」なので、特定の言語やフレームワークの知識が不要。
  • 勉強会とかでみんなでワイワイガヤガヤとテストケースを考えたりすると面白そう。
  • 似たような仕様のプログラムを作る機会があれば、本書の回答がテストケース作成の良いリファレンスになりそう。
  • ペアワイズ法を知らなかった。この本を読んで初めて知った。

少し惜しかったところ

  • 完全に「問題集」に振り切っているため、テスト技法そのものの説明がない。テスト技法については事前に別の本で学んでおく必要がある。(なので最初の1冊としては不適)
  • ペアワイズ法もほとんど説明がないのでネットで調べないといけなかった。
  • 問題をもう少し減らして、テスト技法に関するオリエンテーション的な解説があってもよかったのではないか?
  • テストの例題として出てきた架空のゲームの中に、「仲間の性格=むっつりスケベ」というキーワードが出てきたが、なんというか、いろんな意味で「時代にそぐわないな」と思ってしまった。

あと、おそらく「問題を読んでいる途中に解答例が目に入らないように」という考慮から、空白のメモページがたびたび挿入されます。

f:id:JunichiIto:20200204081514p:plain
(画像は https://gihyo.jp/book/2020/978-4-297-11061-1 から引用)

解答例が目に入らないのはとてもありがたいのですが、まっ白なページが何ページも挿入されると、本を買った側としては「なんかもったいな」という気が少しします。
なので、代わりにコラム的な読み物か何かが入っていたら良かったのになー、と思いました。(コラムにするとそれはそれで「例題を解いているときに気が散ってしまう」という問題あるかもしれませんが・・・)

本書を読む前に読んでおきたいテスト技法の本

前述の通り、本書にはテスト技法そのものの説明はないため、「同値分割法とはなんぞや?境界値分析とはなんぞや??」という人は先に別の本で勉強しておく方が良いです。
本書の中では推奨図書として、「ソフトウェアテスト技法ドリル」が紹介されていました。

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

  • 作者:秋山 浩一
  • 出版社/メーカー: 日科技連出版社
  • 発売日: 2010/10/01
  • メディア: 単行本

僕は「ソフトウェアテスト技法ドリル」は読んだことはないので、僕が代わりにお勧めするなら「はじめて学ぶソフトウェアのテスト技法」がいいんじゃないかなーと思います。

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

ちなみに、このエントリを書く前にあらためて「はじめて学ぶソフトウェアのテスト技法」に目を通してみたのですが、「ペアワイズ法を知らなかった」とか言いながら、この本の中でほぼ同じ内容が「ペア構成テスト」として紹介されていたことに気づきました。
以前読んだはずなのに頭に入ってないのはダメですね・・・反省😓

まとめ

というわけで、このエントリでは「ソフトウェアテスト技法練習帳」を読んだ感想を書いてみました。
「惜しかったところ」のボリュームが少し増えてしまいましたが、それでもこんなふうに「テストケースを考えるための問題集」というのは今まで見たことがなかったので、本書はとても貴重な一冊だと思います。

フレームワークやライブラリの最新トレンドを追いかけることもそれはそれで楽しいし、大事なことではあるのですが、こういったテスト技法の知識も重要です。
テスト技法のような知識はスポーツで例えると、基礎体力作りや筋トレにあたるんじゃないかなーと僕は考えています。
派手さはないし、学ぶときは少し退屈なんだけど、コードを書くときは言語やフレームワークを問わず役に立つので、エンジニア人生全体にわたって長く使える知識になります。

作ったプログラムをテストするときは、毎回「勘と経験」がよりどころになっているという人は、ぜひ本書(と、テスト技法の解説書)を読んで、体系的なテスト技法の知識を身につけてください!

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

ソフトウェアテスト技法ドリル―テスト設計の考え方と実際

  • 作者:秋山 浩一
  • 出版社/メーカー: 日科技連出版社
  • 発売日: 2010/10/01
  • メディア: 単行本
はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

あわせて読みたい

テスト技法と同様に、「少し地味だけど、エンジニア人生全体にわたって長く使える知識が学べる本」をまとめたエントリです。
こちらもあわせてどうぞ。
blog.jnito.com