とんちゃんといっしょ

Cloudに関する技術とか日常とかについて書いたり書かなかったり

第25回 Ruby/Rails勉強会@関西

Tomcat on Rails by Pascal(紅月さん)
Pascal大先生による発表
・発表の中身はきっとPascal大先生がブログに書くはず。
・デモが動かないとか典型的過ぎてわろた。
・きっと懇親会で動かしてくれるはず


スはスペックのス〜RSpecによるTDDの実演〜 by かくたにさん
・目的
 テストへの認識を変える
・今日までの”テスト”
 他人からやらされる
 あとで書く
 つらい
・明日からの”テスト”
 自分からやる
 先に書く
 たのしい
・本日のお品書き
 1.TDDのポイントを知る
 2.RSpecを簡単に紹介
 3.RSpecでTDDの実演
・今日のまとめ
 TDDは設計技法であり、開発の進め方である
 一度にひとつずつ
 不安をテストで表現する
 リズムとフィードバック
・TDD
 1つのゴール
 

テスト駆動開発入門

テスト駆動開発入門

  • 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2003/09
  • メディア: 単行本
  • 購入: 45人 クリック: 1,058回
  • この商品を含むブログ (161件) を見る
 「動作するきれいなコード」がTDDのゴール

 1つのテスト
 「感情をテストにすること」がTDDのテーマ
 ・不安、何かがおかしい、これでいい、退屈だ

 2つの主張
  TDDは
  1.設計の技法
   ソフトウェア設計とは何か?
    設計:ソースコード
    製造:ビルド
  2.開発の進め方
   テストの分類
    Developer Testing(開発者が行う、開発促進のためのテスト)
    Customer Testing(お客様と昨日確認のために用いる進捗管理のためのテスト)
    QA Testing(品質保証のためのテスト)

 2つのルール
  1.テストに失敗したときだけコードを書く
  2.重複を取り除く
  ・2つのルールが導くものが
   Think(隠しモード)
   Red→テストに失敗している状態
   Green→コードが動作している状態
   Refactoring→
・いま、どのモードなのかを意識するのが大事
RSpec
 「テスト」が設計であることを強調するテスティングフレームワーク
 Rubyを使って、プログラムの振る舞いを本質的に(ry

・実演
 コード=カタ
  空手の「型」
  単純な定型を反復
  素振り
  カラダで覚える
 Fake It
 Triangulation(三角測量)
・参考文献
 1.テスト駆動開発入門
 2.達人プログラマー
 3.リファクタリング プログラミングの体質改善テクニック
 4.パターン指向リファクタリング入門
 5.アジャイルソフトウェア開発の奥義
 6.デザインパターン