高品質なソフトウェア開発のために、さまざまな開発プロセスや管理手法が提唱されているが、その最後の砦(とりで)ともいえるのがソフトウェアテストである。本書は、テスト技法のみにとどまらず、計画、管理に至るまで、あくまで現場主義、実用主義に基づいて解説を行っており、ソフトウェアテスト解説の集大成といえる。今日のPCソフトウェア開発現場で長く望まれていたものだ。
ソフトウェアテストに関しては、いくつかの古典的な名著があるが、技法を重視したものや学術的なものが多かった。本書は、厳しいスケジュールとより少ない予算、人員で開発を行わなければならず、かつ十分な品質が要求される今日のソフトウェア業界にとってよりふさわしい内容となっている。
「基本から学ぶ」という本書のタイトル通り、内容は具体的でわかりやすい。テスト対象となるプログラムの分析方法や効果的なテストケースの作成方法、障害レポートの記述方法や障害の再現方法などを解説している。経験の浅いテストエンジニアにとっては、短期間で十分な知識を身に付けられる、ありがたい書である。さらに、プロジェクト管理者やテストチームリーダーレベルの読者を対象として、障害管理データベースの構築、テスト自動化、テスト計画、テストチームの管理など、テスト技法から一歩踏み込んだ内容も取り上げられている。
また、本書で取りあげられているトピックをいくつか挙げてみると、ソフトウェアのローカライゼーション、構成テスト、ユーザマニュアルやオンラインヘルプなどのドキュメントテスト、さらにはソフトウェアの不具合に対する法的責任などがあり、ソフトウェアテストの範ちゅうとして考えられるあらゆるものが、具体的に解説されている点も特筆したい。
テストエンジニアにとっては必携の1冊。また、プログラマーにとっても、高品質ソフトウェア開発のためのヒントがちりばめられている。(福島紀行)
第1章はわかりやすかった。第2章が分かりにくいのは何故でしょう。
★★★★★
第1章は分かりやすく、なぜ、これまでこの本を読まなかったのだろうと反省した。
第2章になって、急に分かりにくくなっている。
全入力試験の目的を特定のものに限定して話しを進めているのはなぜだか分からない。
全入力試験は、特異値や境界値を求めるための手法の一つで、全入力試験を何度も繰り返すことが目的とは限らない。あるいは、負荷試験として全入力試験を行い、どの程度の負荷が試験条件として好ましいかを探ったりすることがある。
また、全入力試験の時間を見積もり、全入力試験を繰り返すかどうかを検討するのにも用いる。
よくある例でも3つあるが、ここで議論の対象にしているのはどれでもない。
なぜなんだろう。
ソフトウェア技術者 必読の書
★★★★★
長年、ソフトウェア開発に携わっては来たが、ソフトウェアテストの基本について、かなり良く解説してある本である。
設計側から見れば、テスター・テストチームは煙たい存在だが、(これは主に時間に追われているのに、細かいことを言ってくることに起因する)近年ニュースで問題になるような障害を防ぐためには、設計側が障害をださない意識を持つことが重要である。
テストチームだけではなく、広くソフトウェア技術者に読んでもらいたい一冊だ。
とりあえず開発者も含めて目を通しておけば役に立つ部分がある
★★★★☆
テストの意義、テスト計画のあり方、テストの項目の立て方など、入門編として実践的に懇切丁寧に解説した大作である。丁寧すぎて、ざっと目を通すのもかなり大変な量だが、基本的なことは一通り書かれている。プリンタの事例が多くて、やや古いという点が気になったが、検査や品質管理の専門家はもちろん、開発者でも座右の書として適宜参照すべき本だと思う。あとは自分のアプリケーションに合わせて考えて、カスタマイズする事が重要だろう。そのあたりのヒントはほとんど書かれていない。
巻末の「よくあるソフトウェア不具合」の400種類以上の不具合事例のリストと解説は圧巻で、テスト項目の建て方のヒントだけでなく、開発者のセルフチェックにも大いに役立つ。ただしここでもカスタマイズは重要。
なお随所に、テスト部門と開発者との確執とか、マネージャーやマーケティング部門との力関係、タイトなスケジュールの中でのテスト部門の対処方法などが登場するのだが、これら具体的で現実的な事例や警句には苦笑すると同時に大きくうなづくところがある。こういうところは普遍的なものだ。
英語版の資料が古いか??
★★☆☆☆
初版2001年ということだが申し訳けないが、資料が古い。
IBM社のSAAを参考資料にあげているが、英語版のころから知っているし、アーキテクチャとして綺麗であることは認めるが、如何せん古い。社内でももう知っている御仁はいないのではないか?。
それはおいておくとして、テストが品質管理であると認識できている技術者は少ない。国内でテスティングエンジニアという職種が開発秘書的な待遇が多いのは、彼等自身のレベルの他にその有用性に気が付かない国内の技術者のレベルに問題がある。本書はそういった実情の上にあるのではないため、テストのABCがかかれてはいるが、開発屋が読んで「そういう手法があるのか」と目から鱗の話しはない。寧ろ、新入社員の頃ならった手法を並べてあるとしかとれないだろう。
経験として言わしてもらえば、本書は正しい。愚鈍なくらいに基礎を繰り返すことが品質向上に繋がる、それは事実なのだが、技術として目新しいものや、生産工程の省略に繋がるものはない。もっとも品質を保証する工程に省略できるものなどないのであるが。
どうでしょうか?
★★☆☆☆
正直お勧めしません。特に副題が「テストの”プロ”を目指す人のために」となっていますが、テストとは本来どうあるべきか?ということに関する記述や洞察はあまり深くありません。その代わりといっては何ですが、パッケージ開発に必要なテスト項目の羅列はされていますので、さらっと確認するにはいいかも知れません。何にもテストがわからない人向けの教科書であり、「こうやればテストは”とりあえず”できます」という著作です。テストはどうあるべきか、という点を掘り下げる著作ではないですね。よって応用が利かない。カタログみたいな本です。著作の内容をそのままやろうとするとたぶん時間がぜんぜん足りません。では優先順位等は?という問いには答えてくれません。よって結局役に立たない。いや、マジで。(だって条件網羅に関する記述が一ページにも満たないテストの教科書なんて!ありですか、そんなの?)