Submit Search
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
•
3 likes
•
4,788 views
Fukui Osamu
Follow
・エンドツーエンド検証自動化の波を! ・Gherkin+Capybaraという検証DSLをTurnipで使うのがよさげ ・Jenkinsでエンドツーエンド検証を回す
Read less
Read more
1 of 38
Download now
Downloaded 12 times
More Related Content
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
1.
エンドツーエンド検証 をJenkinsで回す話 2013.10.16 at shibuya.rb
@iR3 13年10月16日水曜日
2.
ルビールビールビー Ruby大好き 福井修@iR3 2012 Rubykaja sendagaya.rb #七輪life Ruby関西cofounder 13年10月16日水曜日 2009Ruby会議スタッフ &スポンサー
3.
結論を先に • エンドツーエンド検証自動化の波を! • Gherkin+Capybaraという検証DSLを Turnipで使うのがよさげ •
Jenkinsでエンドツーエンド検証を回す 13年10月16日水曜日
4.
カジュアルにテストして、 フォーマルに検証する 2013.9.21 toRuby 福井修@iR3 13年10月16日水曜日
5.
経営 評価 Biz リーン 開発 検証 運用 Dev Ver Ops フォーマル 設計→実装→テスト ↓ ↑ ここを俊敏に 繰り返し やるのがAgile 13年10月16日水曜日 に検証 カジュアル にテスト
6.
開発 運用 Dev Ops 開発 検証 運用 Dev Ver Ops 正しいということを検証するという ベリフィケーション を経て受け渡し 13年10月16日水曜日
7.
経営 評価 Biz リーン 開発 検証 運用 Dev Ver Ops フォーマル 設計→実装→テスト ↓ ↑ ここを俊敏に 繰り返し やるのがAgile 13年10月16日水曜日 に検証 カジュアル にテスト
8.
DevOps DevOpsBiz DevVerOpsBiz Verfication 13年10月16日水曜日
9.
Andreas Spillner: “The W-MODEL
– Strengthening the Bond Between Development and Test” STAREAST2002 13年10月16日水曜日
10.
高信頼性ソフトウェアのための開発手法ハンドブックより 13年10月16日水曜日
11.
http://www.ipa.go.jp/files/000005144.pdf 13年10月16日水曜日
12.
「継続的デリバリー」より 13年10月16日水曜日
13.
13年10月16日水曜日
14.
経営 評価 Biz リーン 開発 検証 運用 Dev Ver Ops 設計→実装→テスト ↓ ↑ ここを俊敏に 繰り返し やるのがAgile 13年10月16日水曜日 回帰テスト 受け入れテスト システムテスト
15.
エンドツーエンド検証 TurnipとCapybara 13年10月16日水曜日
16.
Turnipとは? feature ファイルと step_definitions
ファイル の構成 (Gherkin 書式) を RSpec 内で実行す ることができるツール(Cucumberを使わない でRspec一本化できる) Cucumber の面倒さである正規表現を使用し ないという改善(代わりにプレースフォルダ) 13年10月16日水曜日
17.
13年10月16日水曜日
18.
gherkin書式 システムの振る舞いを記述するための自然言 語に近い書式のこと。 Business Readable DSLとも呼ばれ、ベタなテ ストコードにメタな説明
(機能・シナリオ・ス テップ) の層 (レイヤ) を付加し、プログラム の実装者でなく第三者や受け入れ者が記述し 理解できる (日本語でも記述できる) 道が開か れました。 13年10月16日水曜日
19.
demoサイト 関西Ruby会議05用Rails4 demoサイト 高速郵便番号検索 http:/ /kanrk05.ruby.iijgio.com/zipcodes MOGOKは速い! mogokでRails4は使える! mogok無料枠美味しい!!! 13年10月16日水曜日
20.
view01.feature # encoding: utf-8 #
language: ja 機能: 1.画面表示確認 シナリオ: 1.トップページ確認 前提 対象ページを表示する ならば 'ようこそ 関西Ruby会議05' が表示されて いること 13年10月16日水曜日
21.
# encoding: utf-8 common_steps.rb require
'capybara/rspec' Capybara.javascript_driver = :webkit step 'kanrk05サイトにアクセスする' do Capybara.app_host = "http:/ /kanrk05.ruby.iijgio.com/" Capybara.current_driver = :webkit end step 'トップページを表示する' do visit '/' end step '対象ページを表示する' do send 'kanrk05サイトにアクセスする' send 'トップページを表示する' end step ":hoge が表示されていること" do |hoge| expect(page).to have_content hoge end 13年10月16日水曜日
22.
エンドツーエンド検証の実行 エンドツーエンド検証スクリプトを個別に実行 $ rspec -r
turnip/rspec --drb spec/features/xxxxx.feature 13年10月16日水曜日
23.
Turnip入門のソースコード https:/ /github.com/ir3/e2etest 13年10月16日水曜日
24.
エンドツーエンド検証 検証コンテンツ Gherkin書式 xx. feature xx_steps .rb 本番サーバ expect systemu Turnip Polterguist Capybara selenium Jenkins RSpec Spork 13年10月16日水曜日 Capybarawebkit ステージング サーバ
25.
Jenkinsインストール Mac $ brew install
jenkins CentOS まずJava $ sudo yum -y install java-1.7.0-openjdk 次にJenkins $ sudo yum install -y jenkins 13年10月16日水曜日
26.
Jenkins稼動 Mac で都度起動 $ java
-jar /usr/local/opt/jenkins/libexec/jenkins.war CentOSで常時起動 環境変数に追加 export JENKINS_HOME=/var/lib/jenkins 自動起動 # chkconfig jenkins on 13年10月16日水曜日
27.
新規作成 13年10月16日水曜日
28.
命名 13年10月16日水曜日
29.
13年10月16日水曜日
30.
設定 13年10月16日水曜日
31.
13年10月16日水曜日
32.
13年10月16日水曜日
33.
sporkにてRailsをプレロードしている前提でdrb経由 rspec からfeatureファイルの実行を指示 オプションは.rspecで指定できるがあえて個 別指定する。 ビルド(テスト)を並列実行す る場合はsporkのポート番号を変える為。 13年10月16日水曜日
34.
出来上がり 13年10月16日水曜日
35.
Jenkinsビルド要求前に spork でRailsをプレロード $ spork
rspec ~/e2etest Using RSpec, Unknown Loading Spork.prefork block... Spork is ready and listening on 8989! 13年10月16日水曜日
36.
実行要求 13年10月16日水曜日
37.
おまけ DSL 7レンジャー Rails,sinatraはWebのDSL RSpecはテストのDSL ChefはシステムアドミストレーションのDSL Fluentdはマシン間配送のDSL + Gherkinは仕様記述DSL Capybaraはe2e検証のDSL 13年10月16日水曜日
38.
ご清聴ありがとうございました • エンドツーエンド検証自動化の波を! • Gherkin+Capybaraという検証DSLを Turnipで使うのがよさげ •
Jenkinsでエンドツーエンド検証を回す 13年10月16日水曜日
Download