「初めての自動テスト」を読んだメモ

第Ⅰ部:基礎

ユニットテスト

🙆 メリット

  • 超高速
  • 多目的に利用できる

🙅 デメリット

  • 統合部分の確認に弱い
    • 全体がつながっているか、は統合テストで確認

統合テスト

🙆 メリット

  • WebサービスAPIのテスト
  • つながりを見る
    • 複数の機能がつながって実現されている機能もテストできる

🙅 デメリット

  • 詳細さに欠ける
    • 「何か」が壊れていることはわかっても、「どこ」が壊れているかわからない

UIテスト

🙆 メリット

  • エンドツーエンドで動く
    • システムの内部構造に立ち入らず、システムの外から全体をテストする
  • ユーザと同じ対象を見る

🙅 デメリット

  • 高コストで遅い
    • HTMLの要素が変わったりすると壊れてしまう

親指の法則

  1. UIよりもユニットを優先する
  2. ユニットテストでうめられないことを統合テストでカバーする
  3. UIテストは限定的に行う

そのほか

  • JSもテストがかける
  • REST
  • Ajax

第Ⅱ部