【書評】「【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]」ミスを見落とさないための考え方が学べる本

ソフトウェアで重要な「ソフトウェアテスト」を学べる本書ですが、ソフトウェア以外にも応用可能な考え方でした。
2022.05.19

こんにちは、hotoke_nekoです。

皆さん、テストしてますか?(挨拶

大学で学んだソフトウェアテストについて復習してみようという事で、今回「【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]」という本を読んでみました。図も多く内容が分かりやすかったです。

書籍タイトルの「【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]」という名前通りで、これからソフトウェアテストを体系的に学びたい方・復習したい方に向いていると思われます。

ただ、アジャイル開発が主な開発形態の方の場合は、考え方を応用するために工夫が求められるかと思います。(アジャイル開発ではどのようにテストを考えると良いか、そのヒントが本書には記載されています。)

「ソフトウェアの品質をいかにして守るのか、その方法は?」という事を知りたい方や「ソフトウェアテストはしているがツール任せで、実はそこまで分かっていないかもしれない」という人にとって、必要な知識をとても分かりやすくまとめられているので、手にとってみてはいかがでしょうか。

この記事ではどういう方が読むと良さそうか、また感想などを書いていきます。

こんな方におすすめ

  • ソフトウェアテストについて基礎から学びたい方
    • 学生でソフトウェアテストについて学びたい方
    • お仕事で必要となった方
  • 開発エンジニア
    • テストで上手く通るよう実装したい方
  • 計画時のミスを減らしたい方
    • 何かしらの計画内容をチェックする時に効率よくミスがないか点検したい方

目次と概要

本書ではPart1~4のそれぞれが複数の章で構成されており、ソフトウェアテストの基礎知識から活用方法について順を追って説明されています。

Part 1 ソフトウェアテストの基本

  • 第1章 ソフトウェアテストとは
  • 第2章 ソフトウェア開発の流れとテスト工程
  • 第3章 ホワイトボックステストとブラックボックステスト

そもそもの基礎知識の部分から、実際の開発現場で適用する段階についての話、テストの種類(ホワイトテストとブラックテスト)について記載されています。 テストの種類以外にも、カバレッジという「テストをどういう観点で網羅していくのか」についても書かれています。

Part 2 さまざまなテスト技法

  • 第4章 同値分割テスト・境界値テスト
  • 第5章 デシジョンテーブルテスト
  • 第6章 状態遷移テスト
  • 第7章 組合せテスト技法
  • 第8章 テスト技法適用チャート

実際のテストの技法について説明されます。

ここでのテストの種類やどういう場面で適用するのかといったところで、計画でミスを減らすためのチェックリストの技法のようにも捉えられました。そのため、対象読者として、ここでの考え方とデシジョンテーブルなどの技法は何かしらの計画を立てる方にも向いているのでは、と考えた次第です。

また、実装上でも参考になる所が疑似コードで示されているので、開発エンジニアの方は特に第4章同値分割テスト・境界値テストを要チェックです。

Part1でカバレッジの話がされているのですが、Part2のデシジョンテーブルなどのテスト技法と対応づけて考えると良いと思います。

個人的には、ソフトウェアテストとは具体的にどういうものかを知るために一番重要なPartです。

実際、Part2が一番ページ数が割かれています。

Part 3 テストドキュメントとモニタリング

  • 第9章 テストドキュメントの作成
  • 第10章 テストドキュメントの正しい書き方
  • 第11章 テスト実施のモニタリング

Part3では実際に、Part1の第2章で考えた架空の製品に対して、テストを実施するにはどうすれば良いのかと順序立てて考えていきます。どういう資料を作って記述をしていくのか、テストを実施して得られた情報をどう活用していくのか、さまざまな指標が確認できます。 実際に現場で活用するには、その製品にとって重要だと思われる指標を選択する事が必要ですが、その時に使う事も出来そうです。

Part 4 次のステップへ

  • 第12章 アジャイル開発とテスト
  • 第13章 テスト自動化

アジャイル開発とウォーターフォールモデルでの差異を確認しつつ、テスト自動化で気を付けるポイントなどPart3までの内容から発展したPartになります。 ここまで説明した事をアジャイル開発で活かすにはどうすべきなど、役立つTipsが載っています。

特に良いと感じたところ

単語の意味から説明されるので取りこぼされる心配がない

ホワイトボックステストやブラックボックステストなど、単語を知らない人であっても分かりやすく説明されます。一言での簡単な説明があるので、知識習得は本書で完結できるのではないでしょうか。まさに【この1冊でよくわかる】というタイトルに偽りなしです!

図例が豊富

上記でのホワイトボックステストとブラックボックステストでは、下のような図とともに説明がなされていますし、実際の技法でどのようにテストをチェックしていくのか、図例があるため理解が捗りました!

ブラックボックスとホワイトボックステスト

まとめと感想

本書では、ソフトウェアテストとはどういうものかという所から、実際にテストの技法や活用方法について記載されており、これからソフトウェアテストを活用していきたいという入門者の方にナイスな本でした。

読んでいた時に感じた事ですが、実際のソフトウェアを見る場面にもそうでない場面でも、使えそうな考え方と技法があり、読んでいて面白かったです。

具体例としては、以下のような内容です。

  • 同値分割テストは、パスワードポリシーにも関連する考え方
  • デシジョンテーブルは複数の条件に対してアクションを起こした時の反応を知るためのもので、探偵が複数の条件から犯人を絞り込む時に使っていそうな考え方を図示しているかのよう

最後まで通読して印象深かったもの

263ページのテストケースの記述の粒度の話です。議事録など後で人が見る文章を書くときに「細かすぎると分かりづらいし、大きすぎると伝わりづらい」と感じた経験があったので、テストケースでも同じ事はやはり気をつけねばとハッとしました。具体例付きで説明されているのは参考になりました。 重要な観点ですが、同じチームメンバーで開発し続ける場合は慣れの問題でそういった気を使う事が減ってしまっていないか、注意が必要だと感じました。

終わりに

色々な発見や気づきを与えてくれる本書ですが「開発をしていてテストは他の担当者が主にするが、どういう所を押さえて見ているのだろう」といった方が読んでみても、面白い内容なのではないでしょうか。

気になる方はAmazonやSBクリエイティブで書籍購入できますので、是非手に入れてみてください。

それでは、また!