『知識ゼロから学ぶソフトウェアテスト 【改訂版】』を読みました。流石に知識ゼロではないつもりではいますが、まだまだ知らないことだらけなので、ここは一つ入門書に戻って読んでみようと思ったのと、あとはKindle版があったので手軽に手に入って電車でも読みやすかった、というのが理由です。
感想
本書のターゲットは?
まず、本全体を通して表現が柔らかかったので、堅苦しい本よりは読みやすい。
が、「知識ゼロの人」をどう捉えるかによって当たる人とハズれる人が分かれそうだな、とも思います。
テスト会社に新卒で入ったけど開発とかよくワカリマセーンな「知識ゼロの人」がこの一冊から始めると厳しい。
Amazonのレビューで「開発経験はあるけどテストはやったことなくて、そんな自分には良かった。★5つ!」などと書いている人もいて、自分としても「ソフトウェアテストの知識はゼロだけど開発とかプログラミングとかは少しやったことある」くらいの知識レベルは要求される本だな、と感じました。
逆にそこにピッタリハマる人には、ソフトウェアテストのことを外観するにはちょうど良い本です。
全体の流れ
まずテストって何?というところから始まって、ソフトウェアテストの基本としてホワイトボックステストの話やカバレッジ、ブラックボックステストとテスト技法(境界値、同値分割、デシジョンテーブル)、探索的テスト、非機能テスト、メトリクスの話、自動化の話・・・と、ソフトウェアテストに関する内容をひととおり総ざらいしてくれる内容。
既にテストの経験があって知識ゼロでない人が読んでも、復習や整理にちょうどいいでしょう。
個人的には知識ゼロの人よりも、テスト実行経験が1,2年あってこれからいよいよ実行以外のところにも顔を出してくるかな?という人が読むと役に立ちそうだなと思ってます。
あとちょこちょこ面白かったポイントや引っかかったポイントを。
テストプランの書き方
ソフトウェアテスト全体について触れられているので、テスト設計部分にフォーカスした本と違って「IEEE 829のテストプランテンプレートを使っておけばいい」なんてところも触れられています。
たとえば部長から「レビューするからテスト計画を出せ!」といわれた場合は、胸をはって「はい、IEEE 829を使ってテストプランを書きました」といって提出します。まあ管理職なんてIEEEとかISOを必要以上に信奉していますし、レビューが出てきても「漢字の間違いが多いぞ!」などと言ってくるのが関の山です。
なんて書いてあったりして、痛快。(※弊社にはこんな上司はいませんが。念のため。)
本全体がこの調子なので楽しく読めます。
自動化に向かないテスト
セクション名が「8章 テストの自動化という悪魔」なので、気持ちはわかるなぁと思いつつも、自動化エンジニアとしては悪魔よばわりされたくない部分もあり複雑。
そして『自動化に向かないテスト』の項では、回帰テストが自動化に向かないテストとして紹介されています。
回帰テストは一見自動化に向くように思えますが、それは大きな間違いです。筆者もバグデータベースに登録された順にすべて自動化したことがあります(馬鹿でした)。はじめの数ヶ月は「うんうん、いいね!いいね!」という感じだったのですが、数ヶ月が過ぎるとプログラムの度重なるユーザーインターフェイスの変更のせいで、自動化プログラムが半分ぐらい動かなくなりました。それでも自動化していくと、自動化するテストケースの数はまったく増えず、既存の自動化コードのメインテナンス作業だけになってしまったのです
いやー、やり方の問題でしょう。というのが正直な感想なので、ちょっと考えまとめて別記事で整理しようかなと。
他の自動化エンジニアの方にもこのへん聞いてみたいです。
などなど「本当かな?」とか、「詳しい人にもっと聞いてみたいな」と思うポイントもあったので、知識ゼロから学んでいる人は「なるほどなるほど」と読み進めつつ、ソフトウェアテストを少しかじったくらいの人からは、この本に書いてあることを「知識ゼロの人」に自分のことばで説明してみたり、「ここどう思う?」と仲間同士で話してみる題材にすると良いと思います。