『ソフトウェアテスト293の鉄則』を読んだ。
まずタイトルを見た瞬間に――つまり本文を読む前に思ったことがある。〈鉄則〉としては多過ぎやしないか。
原題を見て納得した。原題では"Lessons Learned" = 「教訓」となっていて、〈鉄則〉ほど強い言葉は使われていない。
実際に読み進めてみると、著者自身もこれを金科玉条としないようにして欲しいという旨のことを述べている。あくまで著者らが経験したプロジェクトを通して得られた経験だと言っている。
それはそうだとしても、もちろん他のプロジェクトでは使えないなんてことはない。ありがちな誤りに陥らないために役に立つと思う。
自分が気になったのは自動化関連のLessons Learned。思い出すトリガにするために列挙しておく。
特に鉄則137は『レガシーコード改善ガイド』に通じるものがある。『レガシーコード改善ガイド』でいう「検出」と「接合」の話に対応していると思う。本書でも『レガシーコード改善ガイド』でも散々述べられているけれど、難易度を上げているのはテスト対象のテスト容易性の低さだよなぁ、と思う。手動テストにしろ自動テストにしろ。
まずタイトルを見た瞬間に――つまり本文を読む前に思ったことがある。〈鉄則〉としては多過ぎやしないか。
原題を見て納得した。原題では"Lessons Learned" = 「教訓」となっていて、〈鉄則〉ほど強い言葉は使われていない。
実際に読み進めてみると、著者自身もこれを金科玉条としないようにして欲しいという旨のことを述べている。あくまで著者らが経験したプロジェクトを通して得られた経験だと言っている。
それはそうだとしても、もちろん他のプロジェクトでは使えないなんてことはない。ありがちな誤りに陥らないために役に立つと思う。
自分が気になったのは自動化関連のLessons Learned。思い出すトリガにするために列挙しておく。
鉄則102 目的はコストダウンではない、開発プロセスの迅速化だ
鉄則108 手動テストと自動テストを同格に扱うな
鉄則119 テストの自動化は決して安くない投資である
鉄則136 自動化よりテスト容易性を上げることにまず投資せよ
鉄則137 「テスト容易性」とは可視性と操作性である
特に鉄則137は『レガシーコード改善ガイド』に通じるものがある。『レガシーコード改善ガイド』でいう「検出」と「接合」の話に対応していると思う。本書でも『レガシーコード改善ガイド』でも散々述べられているけれど、難易度を上げているのはテスト対象のテスト容易性の低さだよなぁ、と思う。手動テストにしろ自動テストにしろ。