Riverside Learning LABO(Skill/Idea/Code)

よりよいシステムのため工学系と人間系の学習下書きメモ

ビューティフルコード7

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード (THEORY/IN/PRACTICE)

ビューティフルコード


[メモ]
7章 ビューティフル・テスト
Alberto Savoia
テストの主な目的はコードが想定通りに動作するということを確信させてくれるもの
簡潔さゆえに美しいと言えるテスト
バグのない2分探索コードがはじめて公表されたのは最初に公表されてから12年後
中央点の計算がオーバーフローしない代わりに和ではなく差を使う
もっとも簡単なコードでさえも多くのパターンのテストが必要
JUnitは開発者が自分のソースをテストする際に使用する画期的ツール
・スモークテスト(機能の根幹を検証)を実装前に作る(TDD)
・境界値テスト
・複合テスト(ランダム、突然変異)
・性能テスト
1つ1つのクラスのスモークテストは最小にとどめる
素数が最小の時と最大の時を確認する
3段論法でテストケースを作成する
テストは書き出すと他のパターンも思いつきやすい
美の追求には問題から離れた角度から見ることも大事