« 男脳・女脳 | トップページ | プリンターを買いました (Canon PIXUS iP7500) »

2006/10/15

テスティング -雑談:腎臓誤廃棄-

 こんなニュースを読んだ。ソフトウェアでいえばこれはバグである。責任者のコメントが、

「恥ずかしい限りで、予想もしていなかったこと。」

である。つまり、予想していなかったところが、検証されず、重大なバグで致命的な問題が発生した。そういうことである。
テレビ報道では、「移植用とかかれていなかったが、関係者であれば、移植用のクーラーボックスであることが一目瞭然のはず。」 といっていた。しかし、実際に問題は起こった。私にはその発言は責任逃れの言い訳にしか聞こえない。

 ここ数年医療事故がある程度報道されるようになった。急に医療事故が増えたのではなく、たんに以前は隠されて報道されなかっただけだと思っている。
“医者や看護師は、国家免許を持った専門家であるから間違いなど起こさない” などと思って仕事をしているのだろう。医者であろうが看護師であろうが、プログラマーであろうがテスターであろうが、人間である以上かならず間違いを起こす危険性がある。だから、その間違いを確実に拾い上げるシステムを構築する必要がある。個人個人の努力に依存して、問題があったときにその個人の責任にするだけでは、問題は解決しない。

 ソフトウェア作成に置き換えれば、“プログラマーの間違いを拾い上げるためにテスターおよびテスティングが存在する”。では、テスターの間違い(“見落とし” や “勘違い”) は誰がひろってくれるのだろう? 結局、テスターをカバーするのもテスターしかいない。つまり、テスターの作業を多重化することである。はなはだ無駄な作業のように見えるかもしれないが、安全性の向上のために、時には重複した作業が必要になる。
私がチームを受け持ったときによく使った手法は、“機能別テスティング” と “操作別テスティング” を分けて行うことである。例えば、“印刷”をテストするとき、印刷に限定してさまざまな既存のファイルをひたすら印刷するテストと、ファイルの新規作成→入力→編集→保存→終了→開く→編集→印刷 といった実使用シナリオにそったテストを時期を離して行う。時期を離すのは、一度テストしたところが他のプログラムの修正によって影響を受けたときの対策である。

 テスティング作業を多重化したとき、二度目の作業では見つかるバグの数はかなり少なくなる。(逆にたくさん見つかるようでは問題である。) そのわりに、二度目の作業量は一度目とそれほど変わらない。一見すると無駄に見られてしまうような作業をきちんとプロジェクトの作業予定に組み込めるのか?ということが問題である。平均以下のプロジェクト・マネージャーだと、明示的には組み込まないが、必要な作業としてテスター個人の努力に押し付けるようとする。テスト・マネージャーの腕の見せ所である。

|
|

« 男脳・女脳 | トップページ | プリンターを買いました (Canon PIXUS iP7500) »

テスティング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/61641/12278519

この記事へのトラックバック一覧です: テスティング -雑談:腎臓誤廃棄-:

« 男脳・女脳 | トップページ | プリンターを買いました (Canon PIXUS iP7500) »