自動テスト
のすすめ
自己紹介

• 神田勝規 (@potix2)
• 株式会社いろはクリエイティブ
• Webシステム開発(PHP,C#など)
今日のテーマ


• テストを書こう
• 作業を自動化しよう
伝統的な開発
Edit
Pray
不安
なぜ不安なのか?

• テストされていないコードが存在する
 • すべてのコードパスが網羅できてない
 • そもそもテストするのが難しい
   • メモリ不足、境界値、閏年など
コードへの信頼
信頼




          実行回数
開発者に必要なもの
自動テスト
人手を介さず実施
 できるテスト
作り方
フレームワークを使う



•   xUnit
•   xSpec
実施方法
Jenkinsを使う

• コミットされたらテストを実行
• テストに失敗したら全員に通知す
 る
自動テストの肝


•
高速

• 高い網羅性

• 高頻度で実施
テスト駆動開発
 (TDD)
TDDのルール

• 自動テストが失敗した場合だけ、新し
 いコードを書く

• 重複を取り除く(DRY)
TDD黄金の回転

きれい
            Red




                       Refactoring
汚い
            Green


       動く           動かない
Live Coding
もっと学ぶために
参考書籍:テスト駆動開発入門



•   TDDのバイブル


•   TDDのリズムを掴むに
    は最適


•   少し内容が古い
しかし、現実は厳しい
参考書籍:レガシーコード改善ガイド



•   テストが存在しない
    コードの保守について


•   実践的な内容


•   何度も読む必要がある
ご清聴ありがとうご
  ざいました

自動テストのすすめ