■ 『基本から学ぶソフトウェアテスト』 バグのないソフト開発のために  (2002.2.10)


腰帯の惹句には、「バグのないソフト開発のために プロフェッショナルの技を極める」とある。ほとんど500ページに近い大冊であり、うたい文句に偽りはない。既に出版されている「テスト技法」の類書に比べても、より実戦的である。様々なテスト技法についても網羅的に記述している。特にパソコン・アプリケーションの開発/テスト担当者には強力な助っ人になるだろう。3部構成であるが、付録は「よくあるソフトウェア不具合」として400種類以上のバグを体系的にまとめている。標準化されたテスト/デバッグ項目として明日にも使えると思えるほど実務的な内容である。

米国では、開発担当のプログラマとテスト担当者が完全に分離しているようである。プログラマはテスト担当者の指摘を受けてバグ修正を行うという短期サイクルを何回も繰り返すのである。日本では、工程が進み製品ができあがった段階で、製品検査という視点でテストを行うのが通常ではないだろうか。この辺の日米の違いを頭に入れて読み進める方がよいかもしれない。

第1部は基本編。基本的なテストの進め方をまとめている。主なテスト技法について、それぞれの特徴や得失などを明確にしている。例えば、製品評価でのフォーカスグループ法の採用とか、レビューでのウォークスルーの実施、ホワイトボックステストとブラックボックステストの対照などである。テスト担当者の目的は、最終的には製品の品質を向上させることであるとしている。製品の品質というのは顧客の満足度であって、決して仕様に合致していることではないという。品質の一つの側面として信頼性があり、「品質=信頼性」ではない。そのプログラムで顧客の望むことができなければ、たとえ信頼性が高くとも顧客は喜ばない。満足度が低ければ品質は高いとは言えないという。

第2部はテスト技術の各論。テストケースの設計や障害レポートの作成法についてまとめている。プリンタのテストにかなりのページが割いてあるのは、実際に苦戦したからであろうか。

第3部では、機能を段階的に付加してい エボリューショナリ (進化型) 開発プロセスに言及している。プログラマとテストチームが機能追加とテストのサイクルを繰り返し、徐々に製品を仕上げていく方式である。とりあえず売り物になる製品がいつも確保されているわけだ。マイクロソフトで言う、「毎日ビルド方式」であろうか。進化型プロセスによる開発で信頼性は向上する。しかし、核となる製品にきちんと柔軟性を組み込んでおくのが前提である。

品質管理(QC)品質保証(QA)を区別する必要があると。QCは、標準や規則を遵守させること。QC組織は検査を担当していることと、不具合のある製品の出荷停止の権限をもっていることである。一方、QAは品質を保証すること。すべての開発工程に関与する必要がある。QAグループの最も重要な役割は不具合を予防することであるとする。



◆ 『基本から学ぶソフトウェアテスト〜テストの「プロ」を目指す人のために〜
Cem Kaner、Jack Falk、Hung Quoc Nguyen著 テスト技術者交流会訳 日経BP社、2001/11


読書ノートIndex1 / カテゴリIndex / Home