テストについての大原則

  • 投稿日:
  • by
  • カテゴリ:

バグゼロ設計がいかに間抜けな話なのかということはいつも書いていますが、根拠があるということをお知らせしておきます。

バグゼロ議論を与太話だと思っているのは、無知で勉強不足の開発者か開発の難しさをしらない素人テスターだけです。

役員レベルになれば、製品に欠陥は付き物で、その発生つまり品質のバラツキを管理できるように変換すること、例えば投下コストに反比例させるための方策あるいは、大欠陥の発生時の初期対応への備えがメイントピックだということをカラダで知っています。


ここで根拠として挙げるのはゲーデルの不完全性定理です。

例えば、こういう風に引用されます。

つまり「バグがないソフトはあり得ない」ということが、数学的に証明されているのが、ゲーデルの定理の別の表現法になります。

詳しくは、ゲーデルの著作を・・・と言っても誰も読まないでしょう。計算機やるひとは哲学の入門くらいはこなしていないと本来だめなんですが悲しいことです。

哲学どころか論理学の基礎さえ分からないのに、自然言語で書かれた仕様をまともに計算機言語に変換できるわけがないのです。

おっと愚痴っても仕方がありません。とりあえず仕事の『やりかた』だけを覚えれば、飯は食っていけます。余計な知識は邪魔になるだけのこともあります。・・・しかし毎日レンガを積み上げる仕事を20年やったからといって、建築家になれないことはコンセンサスがあるのに、どうしてただのプログラマがシステム設計や、労務管理者になれるんでしょうか。IT系というのは考えれば考えるほど不思議な業界です。・・・


さて、現実のバグ取りやテストでは、そんな定理は関係ありません。目標はバグゼロです。ですが決してゼロにはなりません。ゼロにできないからと言って、ゼロにする努力を怠る理由にはなりません。

原理原則にこだわって思考停止になる必要はないが、原理原則をしらずに闇雲に歩き回っても正しい方向に進むことはできないということです。


ゲーデル 不完全性定理 (岩波文庫)

ゲーデル 不完全性定理 (岩波文庫)


(2008.04.05追記)

論理学についてはこんな感じの本が良さそうです。(立ち読みレビュー)

論理トレーニング101題

論理トレーニング101題