背景
IT 業界に入りました。日曜プログラマ卒業のため、まずは英語やテストなどの基礎ステータスの向上に努めたいと思います。
今回は 初めての自動テスト を読みました。原著のタイトルは The Way of the Web Tester です。プログラマーのみならず、テスターや QA エンジニア向けの内容もあって面白そうでした。
本の感想
親切な本でした。前提知識が必要無い上に、丁寧に行間を埋めて書かれています。テストのコードもほぼ英文として読むことができ、 (内部実装に目を瞑れば) 全内容を把握できます。
テストに関連した用語 (モック、スタブ、 DI, etc.) が無理なく頭に馴染みました。 Web 記事で何度も見たような単語であっても、断片的な情報を頭に住まわせるのは難しかったのだと思います。付録 C まで 256 ページあって良かったです。
付録 C は訳者作成のため、明らかに \(2^8\) に調整してあって美しいですね。
特に嬉しかったのは、 RSpec (Ruby の BDD (振る舞い駆動開発) フレームワーク) の使い方が腑に落ちた点です。本書では、 RSpec の使い方の一例として、状況 (コンテキスト) を区切るためのリファクタリングに使用していました。 Haskell でも hspec というライブラリが大活躍しますが、奇怪な見た目に面食らっていました。 describe
や it
の意義が理解できたので、今後は無理なく使っていけると思います。
『ダイアン』などのキャラクターが登場し、質問を投げて、作者が感謝するというマッチポンプがありました。これも作者の心遣いを感じられて良かったので、僕のブログでもやって行きたいと思います。
____ / \ / ⌒ ⌒ \ 来てやったお / (●) (<) \ | (__人__) | \ `⌒´ ,/ /_∩ ー‐ \ (____) |、 \ | |/ / | ⊂ / | し' \ 、/ / \/ / _/ /``l (____/(_/
ありがとうやる夫。
今後について
今は TDD (テスト駆動開発) や PBT (プロパティベーステスト) に興味があります。特に PBT は、最初からランダムテストが書ける上に、失敗ケースが最小形まで縮小するのが良いです。テスト駆動開発とも相性が良く、何らかの形で取り入れたいと思います。
余談ですが、最近スマートウォッチを購入し、ポモロードタイマーとして使用しています。次回以降は、何ポモロード使って読んだかを記載できればと思います。