コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

『ソフトウェア品質を高める開発者テスト 改訂版 アジャイル時代の実践的・効率的でスムーズなテストのやり方』を読み終わったよメモ

下記の本を買ってサッと読んだのでメモです

買った経緯

下記の記事でアジャイルなテストに関して語られており、メインスピーカーの方が新しく書籍を出されていたので気になり購入してみた。

logmi.jp

所感

品質のチェックを最後に寄せない、先にやる

買った動機の部分で紹介したお話でも主張されている内容ですが、この書籍で特に主張されている部分としては主に以下の点だと私は感じました。

  • バグの検出をシステム開発の最後の工程に寄せないで前半の工程でも検知していく(シフトレフト)
  • 単体テストをしやすいコードを書き、なるべく増やす
  • 単体テストもすべてやろうとしてない、抑えるべきところを抑える(HotSpot/C1網羅)
  • そもそも複雑にしない

従来からテストコードを重きにおく考え方に親しんできた開発者には馴染みのある部分もありますが、品質管理の分野の観点からも語られているのはよかったです。

新たな観点

「テストコードは書くべきである」「テストコードは後半のテスト作業の圧縮に寄与する」という部分や、テストコードの書き方一般論は割と他の書籍などで語られている部分でもあるのですが、こちらは著者の経験則と2000年代までのソフトウェアテストの文献の内容がアレンジされており、他の書籍ではあまり見たことのない観点もいくつかありました。自分が深堀りをしたほうがいいなと思ったのは以下のトピックです。

  • HotSpot
  • C0網羅/C1網羅
  • McCabe数(循環的複雑度)の指標

その他気になったこと

経験値がアレンジされた書籍なので、かなり経験談ベースの話が多いのですが書きっぷりがかなり口語調かつ読み手によっては不快感を感じることも多い文体なので、万人にオススメできるような感じではありませんでした。

ただ、筆者のかたの経験値と引用書籍の情報はおそらく他にあまりないものだと思いますし、主張自体も理解できる部分が多いものだったので私個人としては大変学びが多かったですし、純粋なテストケースを作ることに対する対策の解として知見を得ることができました。

また、この記事を読む前にtexta.fm第9回SideShowのテストに関する回を聞いており、チェッキングや探索的テストに関しての知見を聞いて理解度が高まったので、合わせて聞くと非常にいいかなと思いました。

関連リンク