83
角谷 信太郎 KAKUTANI Shintaro; Eiwa System Management,Inc. Testing Environment of Ruby on Rails 日本Rubyの会 (株)永和システムマネジメント [email protected] 第6回Rubyビジネスセミナー 福岡県Ruby・コンテンツ産業振興センター ; 2011-02-24(Thu) ふつうの Ruby on Rails テスティング環境 2011226日土曜日

Testing Environment of Ruby on Rails

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Testing Environment of Ruby on Rails

角谷 信太郎KAKUTANI Shintaro; Eiwa System Management,Inc.

Testing Environment of Ruby on Rails日本Rubyの会

(株)永和システムマネジメント [email protected]

第6回Rubyビジネスセミナー 福岡県Ruby・コンテンツ産業振興センター ; 2011-02-24(Thu)

ふつうのRuby on Railsテスティング環境

2011年2月26日土曜日

Page 2: Testing Environment of Ruby on Rails

提 供

おかげさまで30周年情報化技術を通じて社会と共生する

2011年2月26日土曜日

Page 3: Testing Environment of Ruby on Rails

http://www.flickr.com/photos/t-seto/3740610277/

Kakutani Shintaro

2011年2月26日土曜日

Page 4: Testing Environment of Ruby on Rails

話を聞いただけで、テストが書けるようになったりする。なんて話があるわけないわけで……。

2011年2月26日土曜日

Page 5: Testing Environment of Ruby on Rails

お願い

2011年2月26日土曜日

Page 6: Testing Environment of Ruby on Rails

せっかくの来福の機会であり、かつほどよい規模の参加人数の講演ですから、皆さんとの対話を大切にしたいと思っています。

2011年2月26日土曜日

Page 7: Testing Environment of Ruby on Rails

この講演に直接関係あってもなくても構わないので(関係あると嬉しいですが)、お話の後に皆さんからの質問を受けたいと思います。

2011年2月26日土曜日

Page 8: Testing Environment of Ruby on Rails

これからお話が終わるまでに何かひとつ質問を考えつつ聞いてもらえると嬉しいです。Ruby,Rails.TDD,アジャイル開発...何でも。

2011年2月26日土曜日

Page 9: Testing Environment of Ruby on Rails

2011年2月26日土曜日

Page 10: Testing Environment of Ruby on Rails

今夏翻訳刊行

http://pragprog.com/titles/jtrap/the-agile-samurai2011年2月26日土曜日

Page 11: Testing Environment of Ruby on Rails

http://rubykaigi.org/2011/ja/call_for_sponsors2011年2月26日土曜日

Page 12: Testing Environment of Ruby on Rails

http://rubykaigi.org/2011/ja/call_for_presentations2011年2月26日土曜日

Page 13: Testing Environment of Ruby on Rails

本日お話しすること✓ Rubyコミュニティでテストを

する文化が重視されている理由✓ 現時点でのRuby on Railsの

テスティング環境の全体像✓ 実際にはじめてみよう

2011年2月26日土曜日

Page 14: Testing Environment of Ruby on Rails

Ruby

2011年2月26日土曜日

Page 15: Testing Environment of Ruby on Rails

楽しさ2011年2月26日土曜日

Page 16: Testing Environment of Ruby on Rails

信頼2011年2月26日土曜日

Page 17: Testing Environment of Ruby on Rails

http://confreaks.net/events/rubyconf20102011年2月26日土曜日

Page 18: Testing Environment of Ruby on Rails

http://pragprog.com/magazines/2010-12/chad-fowler-on-ruby2011年2月26日土曜日

Page 19: Testing Environment of Ruby on Rails

http://gihyo.jp/news/report/2011/02/16012011年2月26日土曜日

Page 20: Testing Environment of Ruby on Rails

And there's business value in fun - after all motivation is a major factor in programmer productivity.

- Martin Fowlerそして、楽しさにはビジネス価値があります --

結局、モチベーションこそがプログラマの生産

性を左右するのです。

-- マーチン・ファウラー

2011年2月26日土曜日

Page 21: Testing Environment of Ruby on Rails

http://confreaks.net/videos/431-rubyconf2010-keynote-why-ruby

RubyConf 2010 Keynote: Why Ruby?David Heinemeier Hansson

2011年2月26日土曜日

Page 22: Testing Environment of Ruby on Rails

http://media.rubyonrails.org/presentations/worldofresources.pdf2011年2月26日土曜日

Page 23: Testing Environment of Ruby on Rails

http://www.flickr.com/photos/mckenzieo/1601233059/

Full-Stack

2011年2月26日土曜日

Page 24: Testing Environment of Ruby on Rails

Rubyコミュニティにおけるテストの制約と利点(の一部)✓ 動かしてみないと正しくつくれたかどうかがわからない

✓ 柔軟なオブジェクト操作✓ “コミュニケーション”手段✓ プログラマとコード✓ プログラマとプログラマ

2011年2月26日土曜日

Page 25: Testing Environment of Ruby on Rails

?2011年2月26日土曜日

Page 26: Testing Environment of Ruby on Rails

ChristopherAlexander2011年2月26日土曜日

Page 27: Testing Environment of Ruby on Rails

『クリストファー・アレグザンダー 建築の新しいパラダイムを求めて』

“人の顔に浮かぶ『笑み』のような建物が建てたいのです。

2011年2月26日土曜日

Page 28: Testing Environment of Ruby on Rails

Photo by Claudio.Ar - Hermes BACK!!!!:http://flickr.com/photos/claudio_ar/2644023246/

Amsterdam2011年2月26日土曜日

Page 29: Testing Environment of Ruby on Rails

何百年にもわたって育まれてきた、いきいきとした建物や町を現代の建築家が生成できるようにするには ?

2011年2月26日土曜日

Page 30: Testing Environment of Ruby on Rails

http://www.amazon.co.jp/o/ASIN/4306041719/kakutani-222011年2月26日土曜日

Page 31: Testing Environment of Ruby on Rails

80 自主管理の作業場と  オフィスSELF-GOVERING WORKSHOPS AND OFFICES

2011年2月26日土曜日

Page 32: Testing Environment of Ruby on Rails

“歯車の1つになった人間は、仕事を楽しくできない。

2011年2月26日土曜日

Page 33: Testing Environment of Ruby on Rails

“仕事が楽しくなるのは、仕事の全体像が把握でき、仕事全体の質に責任を持つ場合である。

2011年2月26日土曜日

Page 35: Testing Environment of Ruby on Rails

QualityQuality

2011年2月26日土曜日

Page 36: Testing Environment of Ruby on Rails

全体像

2011年2月26日土曜日

Page 37: Testing Environment of Ruby on Rails

http://www.flickr.com/photos/koichiroo/4651829557

be Fun!!

2011年2月26日土曜日

Page 38: Testing Environment of Ruby on Rails

フィードバックを通じて自分の仕事に自信を持ちたい

http://www.flickr.com/photos/hsbt/5233315305/2011年2月26日土曜日

Page 39: Testing Environment of Ruby on Rails

http://www.amazon.co.jp/o/ASIN/1934356379/kakutani-222011年2月26日土曜日

Page 40: Testing Environment of Ruby on Rails

http://www.slideshare.net/t_wada/the-spirit-of-tdd/362011年2月26日土曜日

Page 41: Testing Environment of Ruby on Rails

よくある“テスト”への誤解✓他人からやらされる✓あとで書く✓つらい

2011年2月26日土曜日

Page 42: Testing Environment of Ruby on Rails

“テスト”の実感✓自分からやる✓さきに書く✓たのしい

2011年2月26日土曜日

Page 43: Testing Environment of Ruby on Rails

http://www.slideshare.net/snoozer05/20101204-youmustunlearnwhatyouhavelearned/612011年2月26日土曜日

Page 44: Testing Environment of Ruby on Rails

QualityQuality

2011年2月26日土曜日

Page 45: Testing Environment of Ruby on Rails

外側の質内側の質

2011年2月26日土曜日

Page 46: Testing Environment of Ruby on Rails

内側の質 - Internal Quality

✓プログラマとソフトウェアとの間にあるクオリティ✓ プロダクトコード✓ テストコード✓ ログテキスト✓ 例外/エラーメッセージ

2011年2月26日土曜日

Page 47: Testing Environment of Ruby on Rails

テストのレベル✓ ユニット✓ 関心のあるオブジェクトがきちんと動くか?

✓ エンドツーエンド✓ システム全体として動くか?

✓ インテグレーション✓ 自分らの制御下にないコードと結合して動くか?

2011年2月26日土曜日

Page 48: Testing Environment of Ruby on Rails

2011年2月26日土曜日

Page 49: Testing Environment of Ruby on Rails

読みたくなるようなテストを書きなさい

“write the testyou want to read

2011年2月26日土曜日

Page 50: Testing Environment of Ruby on Rails

内側の質

Internal Quality2011年2月26日土曜日

Page 51: Testing Environment of Ruby on Rails

全体像

2011年2月26日土曜日

Page 52: Testing Environment of Ruby on Rails

2011年2月26日土曜日

Page 53: Testing Environment of Ruby on Rails

http://www.amazon.co.jp/o/ASIN/4774145440/kakutani-222011年2月26日土曜日

Page 54: Testing Environment of Ruby on Rails

2011年2月26日土曜日

Page 55: Testing Environment of Ruby on Rails

http://www.amazon.co.jp/o/ASIN/1934356379/kakutani-222011年2月26日土曜日

Page 56: Testing Environment of Ruby on Rails

why rspec?✓ テスティングのDSL✓ テストを書くという目的に特化

✓ ベストプラクティスの集積✓ 機能のサポート,読みやすさへの誘導

✓ コミュニティ✓ モジュラリティ,コミュニケーション

2011年2月26日土曜日

Page 57: Testing Environment of Ruby on Rails

Railsのテストでの関心ごと✓ユニットテスト✓テストフィクスチャ✓エンドツーエンドテスト✓テストの継続を支えるツール群

2011年2月26日土曜日

Page 58: Testing Environment of Ruby on Rails

ユニットテスト

2011年2月26日土曜日

Page 59: Testing Environment of Ruby on Rails

オブジェクトをそれぞれ独立してテストしたい!!!

2011年2月26日土曜日

Page 60: Testing Environment of Ruby on Rails

ユニットテスト✓ rspec-rails✓ model✓ view✓ controller✓ helper

2011年2月26日土曜日

Page 61: Testing Environment of Ruby on Rails

テストフィクスチャ

2011年2月26日土曜日

Page 62: Testing Environment of Ruby on Rails

簡単にデータをセットアップしたい!!

外部サービスの稼動状況に依存したくない!!

オブジェクトを独立してテストしたい!!!

2011年2月26日土曜日

Page 63: Testing Environment of Ruby on Rails

テストフィクスチャ✓ Fixture Replacement✓ Fabrication, factory_girl, machinist

✓ Test Double✓ rspec-mocks, rr

✓WebMock2011年2月26日土曜日

Page 64: Testing Environment of Ruby on Rails

エンドツーエンドテスト

2011年2月26日土曜日

Page 65: Testing Environment of Ruby on Rails

全体をつなげて動くことを確かめたい!!

2011年2月26日土曜日

Page 66: Testing Environment of Ruby on Rails

エンドツーエンドテスト✓ request specs✓ capybara✓ selenium✓ cucumber

2011年2月26日土曜日

Page 67: Testing Environment of Ruby on Rails

テストの継続を支えるツール群

2011年2月26日土曜日

Page 68: Testing Environment of Ruby on Rails

テストの継続を支えるツール群✓ 継続的インテグレーション✓ Hudsonだったやつ, bigtuna

✓ 効率的なテストの実行✓ guard-rspec, spork, paralell_tests

✓ メトリクス✓ metric_fu, metrical

2011年2月26日土曜日

Page 69: Testing Environment of Ruby on Rails

全体像2011年2月26日土曜日

Page 70: Testing Environment of Ruby on Rails

実際に

始めてみよう

2011年2月26日土曜日

Page 71: Testing Environment of Ruby on Rails

実際にやってみよう✓記事を読んでみる✓具体的に手を動かす✓相談する

2011年2月26日土曜日

Page 72: Testing Environment of Ruby on Rails

2011年2月26日土曜日

Page 73: Testing Environment of Ruby on Rails

http://www.amazon.co.jp/o/ASIN/4774145440/kakutani-222011年2月26日土曜日

Page 74: Testing Environment of Ruby on Rails

http://kokucheese.com/event/index/7040/2011年2月26日土曜日

Page 75: Testing Environment of Ruby on Rails

https://github.com/testing-rails-rspec-ja/community/wiki2011年2月26日土曜日

Page 76: Testing Environment of Ruby on Rails

まとめ

2011年2月26日土曜日

Page 77: Testing Environment of Ruby on Rails

http://confreaks.net/videos/431-rubyconf2010-keynote-why-ruby

RubyConf 2010 Keynote: Why Ruby?David Heinemeier Hansson

2011年2月26日土曜日

Page 78: Testing Environment of Ruby on Rails

QualityQuality

2011年2月26日土曜日

Page 79: Testing Environment of Ruby on Rails

全体像

2011年2月26日土曜日

Page 80: Testing Environment of Ruby on Rails

http://www.flickr.com/photos/koichiroo/4651829557

be Fun!!

2011年2月26日土曜日

Page 81: Testing Environment of Ruby on Rails

実際に

始めてみよう

2011年2月26日土曜日

Page 82: Testing Environment of Ruby on Rails

本日お話ししたこと✓ Rubyコミュニティでテストを

する文化が重視されている理由✓ 現時点でのRuby on Railsの

テスティング環境の全体像✓ 実際にはじめてみよう

2011年2月26日土曜日

Page 83: Testing Environment of Ruby on Rails

There is no secret ingredient.

It's just you.

2011年2月26日土曜日