限界プログラマーの備忘録

安心してぐっすり眠りたい

「単体テストの考え方/使い方」を読んで、テストの質の向上に繋がった3つのポイント

概要

単体テストの考え方/使い方」という本は、単体テストについて詳しく解説している書籍です。この本では、単体テストの基本的な考え方や、テストケースの設計方法、テストフレームワークの使い方、テストの自動化方法などが詳しく説明されています。

また、本書では、単体テストの重要性やメリット、実施のタイミングや頻度などについても解説されています。さらに、実際のプロジェクトで単体テストを実施する上でのノウハウやベストプラクティスなども紹介されています。

この本は、単体テストを実施するための基本的な知識や技術を学びたい開発者や品質保証担当者にとって、非常に役立つ書籍です。また、既に単体テストを実施しているが、さらに改善を図りたいと考えている開発者や品質保証担当者にとっても、有益な情報を得ることができるでしょう。

単体テストの価値(目的)

本書の第2部では「単体テストとその価値」という名のもとでテストの価値について教えてくれる。その価値の4つの要因とは「退行に対する保護」「リファクタリングへの耐性」「迅速なフィードバッグ」「保守のしやすさ」である。詳細は割愛するが、これらの4つを考慮すると、そのテストの価値だけでなく保守のコストパフォーマンスみたいなものも見えてくる。現場でのテストカバレッジよりもこれらを考えるほうが、真に価値のあるテストを生むことができるのだと思う。

細かな悩み

本書の終盤では単体テストアンチパターンがいくつか紹介されている。その中では例えば、テストのために本番コードを変更してはいけない、と紹介されいて、実際に開発現場でそういう変更を(ずいぶん昔に)見たことがあるので笑ってしまった。また、その直前ではログ出力におけるテストや日時出力のテストなど個人的には気になるトピックが紹介されていた。

カバレッジに対する考え方

本書の序盤ではテストカバレッジに関する考え方が書かれている。カバレッジとは何か、意味があるのか→実際に参考指標ぐらいで考えたほうがいいのでは、というお話。コラムにはカバレッジ100%にしようとしたプロジェクトの末路が描写されていて楽しんで読めた。そういえば、カバレッジの目安は「ソフトウェア品質を高める開発者テスト」という本に7割くらいって書かれていたような気がする。

まとめ

開発現場で単体テストを書き続けているような初心者~中級者くらいの人には、より質のいいテストを書くことを目的としておすすめできる。