意味深なタイトルの本である。

本の帯の裏には"テストエンジニアの「思考過程」をつかめ!"が惹句として載っている。

マインドマップとソフトウェアテストを素材にした本なら、「マインドマップを使ってソフトウェアテストをする方法」というような趣旨が最初に思い浮かぶ。

しかし、本書はそういう意図で書かれた本ではなさそうである。つまり、マインドマップでソフトウェアテストができる、と単純な主張をしているわけではないようにみえる。

「はじめに」をチェック

そこで、「はじめに」をチェックしてみる。

「はじめに」は、本の執筆の一番最後に、著者の頭が整理された状態で書かれることが多いと思われるので、本の要点を的確に知りたければ「はじめに」をチェックするとよい。 「はじめに」には本書の狙いとして以下のことが書かれている。

  • テスト全体の作業工程を知ること
  • テストエンジニアの思考過程を知ること

面白いことに、狙いの中に"マインドマップ"は出てこない。マインドマップが前面に出ている内容ではないようである。

この狙いの文章から、本書はソフトウェアテストの技術を総合的に知ることを目的とした本であることが分かる。それでは、「マインドマップ」はこの目的にどのように関係してくるのか調べてみよう。

本書の構成

本書は、以下の4部構成になっている。

  • 第1部: ソフトウェアテストとマインドマップの基本
  • 第2部: マインドマップをソフトウェアテストに使ってみよう
  • 第3部: デジタルツールを使ってみよう
  • 第4部: 本書のまとめ

この中で、本書の中核となるのが第2部「マインドマップをソフトウェアテストに使ってみよう」である。以下の章で構成されている。

  • Chapter 4: 仕様分析 - 仕様を分析しよう
  • Chapter 5: テスト計画 - テストを計画しよう
  • Chapter 6: テスト設計 - テストを設計しよう
  • Chapter 7: テスト実装 - テストケースを作成しよう
  • Chapter 8: テスト実行 - テストログとインシデントレポートを書こう
  • Chapter 9: テスト報告 - 報告書を作成しよう

ここから分かるのは、ソフトウェアテストは、ソフトウェア開発の付随物ではなく、独立した一つの開発作業であるということである。通常のソフトウェア開発の作業手順も要求、分析、設計、実装、テストといったような手順を踏むが、それと同等の作業手順がソフトウェアテストでも必要である。

通常のソフトウェア開発では、顧客のニーズを"要求仕様としてまとめ"、これを実現するための"ソフトウェア構造を構築"していく。

一方、ソフトウェアテストの場合には、開発対象のソフトウェアが"顧客"であり、ソフトウェアの要求仕様が正しく実現されていることを確認するための"テスト仕様としてまとめ"、これを実行するための"テストケースを構築"していく。

しかし、ソフトウェア開発とソフトウェアテストでは一つ大きな違いがある。それは、前者は顧客の漠然としたニーズを要求仕様というソフトウェア・モデルに変換する作業が発生するのに対し、後者はソフトウェアの仕様からテスト仕様への変換という、いわばソフトウェア・モデル内での変換に留まるということである。このため、以下のような現象が発生する。

ソフトウェアテストの経験の少ない人や新人の場合、仕様書から直接テストケース表に書き込んでしまうと、本来テストしなくてはならない項目が落ちてしまいがちになります。(P.47)

これは、ソフトウェアの仕様からテスト仕様への変換時に、内容を深く正確に把握することなく表面的な転記で済ませてしまうことが可能なためだ。

このような理解不足問題への対策として、マインドマップを利用するというのが、本書が提案するマインドマップ利用法の柱である。

本書では、仕様書からテストケース表に直接テスト仕様を起こすのではなく、一旦マインドマップを使ってテスト仕様の観点から情報を整理することを提案している。この作業を行うことによって、(1)作業者本人がソフトウェア仕様およびテスト仕様の内容を理解することができる、(2)レビューする際に作業者の思考過程を知ることができ、適切なレビューを行うことができる、という効果があるのだ。

前出の本書の狙いに「テストエンジニアの思考過程を知ること」があったが、マインドマップを使うことによって、(1)により作業者本人がテストエンジニアの思考過程を気づき、(2)によりベテラン・テストエンジニアの思考過程をレビューを通じて伝えることができる、という効果が得られこの狙いを達成することができる。

本書では、仕様分析だけでなく、テスト計画、テスト設計、テスト実装、テスト実行、テスト報告の各作業において同様のテクニックを提案している。

それぞれの作業におけるマインドマップの利用テクニックについてはぜひ本書を手にとって確認して欲しい。

一石二鳥の本

本書の最大の美点は、ソフトウェア・テストの全体像を理解することができる、という点である。

仕様分析、テスト計画、テスト設計、テスト実装、テスト実行、テスト報告の各作業においてマインドマップを使って中間モデルを作成する手法を知ることによって、本来テストエンジニアの頭の中で行われ可視化されることがなかった"視点"や"ノウハウ"を知ることができる。

ソフトウェアテストの全体像を把握するのに役立つこの内容が200ページ強の手頃なボリュームに収められている。これは、網羅的に正確で精密な定義をしている分厚いテスト・マニュアルよりも、はるかに現場での作業に役立つだろう。

さらに、ソフトウェア開発でマインドマップを使う勘所を知ることができる点も重要である。

ソフトウェアテストにマインドマップを利用する目的は「気づきを得ること」です。(P.204)

(マインドマップは)公文書のように間違いが混入するのを拒む物を作成するのには向きません。(P.201)

といった、マインドマップ活用のノウハウは、ソフトウェアテストだけに閉じたものではなく、マインドマップをソフトウェア開発全般に適用する際にも参考になる。

本書は、ソフトウェアテスト技術の全体像と勘所を効率よく学ぶことができ、かつソフトウェア開発でマインドマップを使う勘所を知ることができる一石二鳥の本である。

『マインドマップから始めるソフトウェアテスト』

池田暁、鈴木三紀夫著
技術評論社発行
2007年6月22日発売 /220ページ
ISBN 978-4-7741-3131-3
定価2,499円

本稿で取り上げた書籍『マインドマップから始めるソフトウェアテスト』を3名様にプレゼントいたします。ご希望の方はこちらからお申し込みください。