ソフトウェア・テストの技法は良い本

前田さんに
「すべてのプログラマは読むべき一冊.いかに我々が進歩してないか分かるよ」
とお勧めされたので読んでみた.
 

ソフトウェア・テストの技法

ソフトウェア・テストの技法

 

テストとは,エラーをみつけるつもりでプログラムを実行する過程である.

という痺れる言葉が記されている.
 
とまぁ,テストの部分はふむふむなるほどという感じ.
 
個人的に興味深かったのはデバッグの章.
あまりにいいので,メモを取りながら読んだ.
 
というかこれ,40年くらい前に書かれたものなんだねぇ...信じられない..
 

= デバッグの原則

== エラーの位置発見の原則

=== 考えよ.

デバッグのもっとも有効な方法は,エラーの兆候と関係ある情報を頭の中で分析する事である.

効率の良いデバッガはコンピュータに触れずにエラーの場所を見つけなければならない.

=== いきづまったときは,明日まで伸ばそう

人間の潜在意識はつよい問題解決の力となる.我々がよくインスピレーションと言っているもの
は,何か他の事,例えば食べる,歩く,映画を見ると行った事のうえで働いているときに,ある問題の
上で働いている潜在意識にすぎない.
あなたの潜在意識が問題を解決するか,またエラーに対して新しい気持ちで調べれられる様になるだろう.

=== いきづまったときは,その問題を他人に説明しよう

聞き手からの助言無しに突然回答を得る事が良くある.

=== デバッグ道具は2番目の手段として使おう

思考の代わりとしてではなく,補助として使おう

=== 実験を避けよう,実験は最後の手段である

プログラムを実験的に変更して問題を解決する事はやめよう.
この全くでたらめなやり方は闇夜に鉄砲を撃つようなものである.

== エラー修正の原則

=== 1つバグがあるところは,別のエラーもある可能性が高い

=== エラーの兆候ではなく,エラーそのものを直そう

表面的な現象だけを直してはならない.根本から直そう.

== エラー分析

(1) いつエラーがおきたのか
(2) 誰がエラーをつくったのか
(3) 何が誤っておこなわれたのか
(4) どうすればそのエラーを防ぐ事ができただろうか
(5) なぜそのエラーは早期に発見されなかったのか
(6) どうすればこのエラーはもっと早く発見できただろうか
(7) どのようにしてそのエラーが発見されたのか