No Test
No Ruby
2013.8.31 関西Ruby会議05
福井修@iR3
13年8月31日土曜日
ルビールビールビー
Ruby大好き
福井修@iR3
2012 Rubykaja
sendagaya.rb
#七輪life
Ruby関西cofounder
2009Ruby会議スタッフ
&スポンサー
13年8月31日土曜日
2002年KOFにて Matzを囲む
13年8月31日土曜日
るびま42号 テスト記事wrote♪
13年8月31日土曜日
刻言道場「まいトレ」
http://maitore.net/
販売管理・在庫管理システム
株式会社 iRubySystems
13年8月31日土曜日
本日はテストの話
13年8月31日土曜日
タイトル
まずはじめに
の話から
13年8月31日土曜日
No Test
No Ruby
13年8月31日土曜日
?
13年8月31日土曜日
さて
13年8月31日土曜日
Rubyなしでは
生きていけない
Rubyのない
人生なんて
13年8月31日土曜日
2011 最後のRuby会議LT
13年8月31日土曜日
Account
会計から逃れられない
11
■
,
July 16-18 2011
13年8月31日土曜日
会計なしでは
人生は送れない
会計のない
人生はない
13年8月31日土曜日
No Test
No Ruby
13年8月31日土曜日
Testなしでは
Rubyはない
Testのない
Rubyなんて
13年8月31日土曜日
?私はRubyを作っているコミッタ
ではないので ちとひっかかる
なんとなくわからなくはないが
13年8月31日土曜日
テーマを決めたときは
「TestなしでRubyで
作ったシステムの
リリースはない」
くらいの意図だった
13年8月31日土曜日
わかりにくいので
出直します
13年8月31日土曜日
2013.8.31 関西Ruby会議05
福井修@iR3
No Ruby
No Test
13年8月31日土曜日
Test
テストから逃れられない
13 August 31 2013
13年8月31日土曜日
Rubyなしでは
Testはできない
Rubyのない
テストなんて
13年8月31日土曜日
!
13年8月31日土曜日
テストから検証に
「検証自動化」もっと大事!
手になじむRuby製の
ツールをもっと
検証に活用しよう!!
本日の結論
13年8月31日土曜日
TurnipとかCapybaraとか
systemuとかexpectとか
いろいろ
Ruby製のテストや検証に使えるツール
13年8月31日土曜日
ではまず世間のテストツールを鳥瞰
13年8月31日土曜日
出典
テストツールの導入状況/
キーマンズネット
http://www.keyman.or.jp/at/dev/
debug/30004610/
13年8月31日土曜日
世間ではテストツール導入済みは8.5%
13年8月31日土曜日
単体テストがメイン
テストの記録や
レポート
Javaがメイン
Rubyは1.8%
導入されたテストツールの用途
13年8月31日土曜日
テストは大事といいながら
テストツールは
まだまだ
これから
13年8月31日土曜日
テスト自動化
STAR Software Testing Automation Research groupテス
ト自動化研究会
テスト自動化エンジニア Automator という職種
TABOK「自動テストに関する知識体系(BOK)」
「テス...
「テストツール丸わかりガイド」より
13年8月31日土曜日
世間の動向
13年8月31日土曜日
継続的インテグレーション
継続的デリバリー
C I
13年8月31日土曜日
13年8月31日土曜日
「継続的デリバリー」より
13年8月31日土曜日
DevOps
継続的インテグレーション
継続的デリバリー
13年8月31日土曜日
テスト自動化動向についてのおすすめ
「夏サミ2013」講演関連資料のまとめ:
http://codezine.jp/article/detail/7305
実践!テスト自動化の勘所
http://itpro.nikkeibp.co.jp/art...
自論      展開
13年8月31日土曜日
DevOps
DevOpsBiz
DevVerOpsBiz
Verfication
13年8月31日土曜日
ベリフィケーション 【 verfication 】 と
バリデーション 【 validation 】
妥当性を確認する, 実証(する)
(正しいということの)確認; 立証,検証,証明
正しいということを検証するという意味では
ベリフィケーション
...
では「本番系で検証をする」
「テストは開発系でせえよ」となる
というのには違和感
「本番系でテストをする」
というのはどう? →とても納得感あり
そうか「エンドツーエンド回帰テスト」は
「エンドツーエンド検証」
と言う方がよさげという気づき!!...
開発
Dev
運用
Ops
検証
Ver
開発
Dev
運用
Ops
正しいということを検証するという
ベリフィケーション を経て受け渡し
13年8月31日土曜日
開発
Dev
運用
Ops
検証
Ver
設計→実装→テスト
↓↑
ここを俊敏に
繰り返し
やるのがAgile
回帰テスト
受け入れテスト
システムテスト
経営
Biz
評価
リーン
13年8月31日土曜日
次はエンドツーエンド検証自動化へ
Turnip
13年8月31日土曜日
念の為に
単体テスト・組み合わせテストの話は
TDD/BDD,RSpec,Cucumber
の優れた記事をご覧ください
そちらの道しるべには↓がおすすめです
「Rspec/Capybara/Turnipの入門記事を
全力でまとめてみた」
htt...
エンドツーエンド検証
TurnipとCapybaraとJenkins
13年8月31日土曜日
Turnipとは?
feature ファイルと step_definitions ファイル
の構成 (Gherkin 書式) を RSpec 内で実行す
ることができるツール(Rspec一本化)
Cucumber の面倒さである正規表現を使用し
...
gherkin書式
システムの振る舞いを記述するための自然言
語に近い書式のこと。
Business Readable DSLとも呼ばれ、ベタなテ
ストコードにメタな説明 (機能・シナリオ・ス
テップ) の層 (レイヤ) を付加し、プログラム
...
13年8月31日土曜日
検証項目列挙方式
単体テスト項目積み上げ
ボトムアップアプローチ
機能仕様書から掘り下げ
トップダウンアプローチ
TDD/BDDの
成果物
Excelシート
テスト設計
13年8月31日土曜日
Excelテストケース
.feature
ファイル
xx_step.rb
ファイル
Excelから文言を抜き出
して.featureの骨組みを
作るツールは作成可能
step.rbファイルを記述するには
Capybara,Rspecのmatch...
Jenkins
検証コンテンツ
Gherkin書式
RSpec
Turnip
xx.
feature
xx_steps
.rb
Capybara
Spork
Capybara-
webkit
Polterguist
selenium
syste...
demoサイト
関西Ruby会議05用Rails4 demoサイト
http://kanrk05.ruby.iijgio.com/zipcodes
MOGOKは速い!
ここにTurnipを使った
エンドツーエンド検証を実施
13年8月31日土曜日
# encoding: utf-8
# language: ja
機能: 1.画面表示確認
@javascript
シナリオ: 1.トップページ確認
前提 対象ページを表示する
ならば 'ようこそ 関西Ruby会議05' が表示されて
いること...
# encoding: utf-8
require 'capybara/rspec'
Capybara.javascript_driver = :webkit
step 'kanrk05サイトにアクセスする' do
Capybara.app_h...
## encoding: utf-8
# language: ja
機能: 2.検索動作確認
@javascript
シナリオ: 2.一覧確認
前提 対象ページを表示する
かつ 郵便番号一覧 をクリックする
ならば Zipcode が表示されて...
#encoding: utf-8
step '郵便番号一覧 をクリックする' do
#click_link '郵便番号一覧'
first(:link, '郵便番号一覧').click
end
view2_steps.rb
13年8月31日土曜日
テストの自動化の課題
本体や環境(ツールのバージョンアップ
etc.Capybara1→2)の変更に合わせて、テスト
コードをメンテナンスし続ける必要がある。
自動化の範囲を拡げるには、実装コストがかか
る。
 自動化が困難だったり、非常にコス...
 テストから検証に
「検証自動化」もっと大事!
手になじむRuby製の
ツールをもっと
検証に活用しよう!!
ご清聴ありがとうございました
13年8月31日土曜日
Upcoming SlideShare
Loading in …5
×

20130831 No Ruby No Test #kanrk05

1,031
-1

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,031
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

20130831 No Ruby No Test #kanrk05

  1. 1. No Test No Ruby 2013.8.31 関西Ruby会議05 福井修@iR3 13年8月31日土曜日
  2. 2. ルビールビールビー Ruby大好き 福井修@iR3 2012 Rubykaja sendagaya.rb #七輪life Ruby関西cofounder 2009Ruby会議スタッフ &スポンサー 13年8月31日土曜日
  3. 3. 2002年KOFにて Matzを囲む 13年8月31日土曜日
  4. 4. るびま42号 テスト記事wrote♪ 13年8月31日土曜日
  5. 5. 刻言道場「まいトレ」 http://maitore.net/ 販売管理・在庫管理システム 株式会社 iRubySystems 13年8月31日土曜日
  6. 6. 本日はテストの話 13年8月31日土曜日
  7. 7. タイトル まずはじめに の話から 13年8月31日土曜日
  8. 8. No Test No Ruby 13年8月31日土曜日
  9. 9. ? 13年8月31日土曜日
  10. 10. さて 13年8月31日土曜日
  11. 11. Rubyなしでは 生きていけない Rubyのない 人生なんて 13年8月31日土曜日
  12. 12. 2011 最後のRuby会議LT 13年8月31日土曜日
  13. 13. Account 会計から逃れられない 11 ■ , July 16-18 2011 13年8月31日土曜日
  14. 14. 会計なしでは 人生は送れない 会計のない 人生はない 13年8月31日土曜日
  15. 15. No Test No Ruby 13年8月31日土曜日
  16. 16. Testなしでは Rubyはない Testのない Rubyなんて 13年8月31日土曜日
  17. 17. ?私はRubyを作っているコミッタ ではないので ちとひっかかる なんとなくわからなくはないが 13年8月31日土曜日
  18. 18. テーマを決めたときは 「TestなしでRubyで 作ったシステムの リリースはない」 くらいの意図だった 13年8月31日土曜日
  19. 19. わかりにくいので 出直します 13年8月31日土曜日
  20. 20. 2013.8.31 関西Ruby会議05 福井修@iR3 No Ruby No Test 13年8月31日土曜日
  21. 21. Test テストから逃れられない 13 August 31 2013 13年8月31日土曜日
  22. 22. Rubyなしでは Testはできない Rubyのない テストなんて 13年8月31日土曜日
  23. 23. ! 13年8月31日土曜日
  24. 24. テストから検証に 「検証自動化」もっと大事! 手になじむRuby製の ツールをもっと 検証に活用しよう!! 本日の結論 13年8月31日土曜日
  25. 25. TurnipとかCapybaraとか systemuとかexpectとか いろいろ Ruby製のテストや検証に使えるツール 13年8月31日土曜日
  26. 26. ではまず世間のテストツールを鳥瞰 13年8月31日土曜日
  27. 27. 出典 テストツールの導入状況/ キーマンズネット http://www.keyman.or.jp/at/dev/ debug/30004610/ 13年8月31日土曜日
  28. 28. 世間ではテストツール導入済みは8.5% 13年8月31日土曜日
  29. 29. 単体テストがメイン テストの記録や レポート Javaがメイン Rubyは1.8% 導入されたテストツールの用途 13年8月31日土曜日
  30. 30. テストは大事といいながら テストツールは まだまだ これから 13年8月31日土曜日
  31. 31. テスト自動化 STAR Software Testing Automation Research groupテス ト自動化研究会 テスト自動化エンジニア Automator という職種 TABOK「自動テストに関する知識体系(BOK)」 「テストツール丸わかりガイド」http://aster.or.jp/business/testtool_wg/pdf/ Testtool_beginningGuide_Version1.0.0.pdf ASTER テストツールWG NPO法人 ソフトウェアテスト技術振興協会 13年8月31日土曜日
  32. 32. 「テストツール丸わかりガイド」より 13年8月31日土曜日
  33. 33. 世間の動向 13年8月31日土曜日
  34. 34. 継続的インテグレーション 継続的デリバリー C I 13年8月31日土曜日
  35. 35. 13年8月31日土曜日
  36. 36. 「継続的デリバリー」より 13年8月31日土曜日
  37. 37. DevOps 継続的インテグレーション 継続的デリバリー 13年8月31日土曜日
  38. 38. テスト自動化動向についてのおすすめ 「夏サミ2013」講演関連資料のまとめ: http://codezine.jp/article/detail/7305 実践!テスト自動化の勘所 http://itpro.nikkeibp.co.jp/article/COLUMN/ 20120919/423524/ DevOpsについてのおすすめ 13年8月31日土曜日
  39. 39. 自論      展開 13年8月31日土曜日
  40. 40. DevOps DevOpsBiz DevVerOpsBiz Verfication 13年8月31日土曜日
  41. 41. ベリフィケーション 【 verfication 】 と バリデーション 【 validation 】 妥当性を確認する, 実証(する) (正しいということの)確認; 立証,検証,証明 正しいということを検証するという意味では ベリフィケーション が使われる。 13年8月31日土曜日
  42. 42. では「本番系で検証をする」 「テストは開発系でせえよ」となる というのには違和感 「本番系でテストをする」 というのはどう? →とても納得感あり そうか「エンドツーエンド回帰テスト」は 「エンドツーエンド検証」 と言う方がよさげという気づき!!! 13年8月31日土曜日
  43. 43. 開発 Dev 運用 Ops 検証 Ver 開発 Dev 運用 Ops 正しいということを検証するという ベリフィケーション を経て受け渡し 13年8月31日土曜日
  44. 44. 開発 Dev 運用 Ops 検証 Ver 設計→実装→テスト ↓↑ ここを俊敏に 繰り返し やるのがAgile 回帰テスト 受け入れテスト システムテスト 経営 Biz 評価 リーン 13年8月31日土曜日
  45. 45. 次はエンドツーエンド検証自動化へ Turnip 13年8月31日土曜日
  46. 46. 念の為に 単体テスト・組み合わせテストの話は TDD/BDD,RSpec,Cucumber の優れた記事をご覧ください そちらの道しるべには↓がおすすめです 「Rspec/Capybara/Turnipの入門記事を 全力でまとめてみた」 http://morizyun.github.io/blog/the-rspec-book- review-rails/ 13年8月31日土曜日
  47. 47. エンドツーエンド検証 TurnipとCapybaraとJenkins 13年8月31日土曜日
  48. 48. Turnipとは? feature ファイルと step_definitions ファイル の構成 (Gherkin 書式) を RSpec 内で実行す ることができるツール(Rspec一本化) Cucumber の面倒さである正規表現を使用し ないという改善(代わりにプレースフォルダ) 13年8月31日土曜日
  49. 49. gherkin書式 システムの振る舞いを記述するための自然言 語に近い書式のこと。 Business Readable DSLとも呼ばれ、ベタなテ ストコードにメタな説明 (機能・シナリオ・ス テップ) の層 (レイヤ) を付加し、プログラム の実装者でなく第三者や受け入れ者が記述し 理解できる (日本語でも記述できる) 道が開か れました。 13年8月31日土曜日
  50. 50. 13年8月31日土曜日
  51. 51. 検証項目列挙方式 単体テスト項目積み上げ ボトムアップアプローチ 機能仕様書から掘り下げ トップダウンアプローチ TDD/BDDの 成果物 Excelシート テスト設計 13年8月31日土曜日
  52. 52. Excelテストケース .feature ファイル xx_step.rb ファイル Excelから文言を抜き出 して.featureの骨組みを 作るツールは作成可能 step.rbファイルを記述するには Capybara,Rspecのmatcherや Web操作仕様の詳細を理解し ておく必要があり習熟コストは かかる 自動化の肝は、.featureファイルとxx_step.rbファイルの作成 この2種類のファイルさえ作成すれば、ツール群で自動実行可能! ただしxx_step.rbに記述できない処理は当然実行できない 13年8月31日土曜日
  53. 53. Jenkins 検証コンテンツ Gherkin書式 RSpec Turnip xx. feature xx_steps .rb Capybara Spork Capybara- webkit Polterguist selenium systemu expect 本番サーバ ステージング サーバ エンドツーエンド検証 13年8月31日土曜日
  54. 54. demoサイト 関西Ruby会議05用Rails4 demoサイト http://kanrk05.ruby.iijgio.com/zipcodes MOGOKは速い! ここにTurnipを使った エンドツーエンド検証を実施 13年8月31日土曜日
  55. 55. # encoding: utf-8 # language: ja 機能: 1.画面表示確認 @javascript シナリオ: 1.トップページ確認 前提 対象ページを表示する ならば 'ようこそ 関西Ruby会議05' が表示されて いること view01.feature 13年8月31日土曜日
  56. 56. # encoding: utf-8 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 common_steps.rb 13年8月31日土曜日
  57. 57. ## encoding: utf-8 # language: ja 機能: 2.検索動作確認 @javascript シナリオ: 2.一覧確認 前提 対象ページを表示する かつ 郵便番号一覧 をクリックする ならば Zipcode が表示されていること view02.feature 13年8月31日土曜日
  58. 58. #encoding: utf-8 step '郵便番号一覧 をクリックする' do #click_link '郵便番号一覧' first(:link, '郵便番号一覧').click end view2_steps.rb 13年8月31日土曜日
  59. 59. テストの自動化の課題 本体や環境(ツールのバージョンアップ etc.Capybara1→2)の変更に合わせて、テスト コードをメンテナンスし続ける必要がある。 自動化の範囲を拡げるには、実装コストがかか る。  自動化が困難だったり、非常にコストがかかる 場合には手動のままとする自動化の範囲の見切り が必要。 13年8月31日土曜日
  60. 60.  テストから検証に 「検証自動化」もっと大事! 手になじむRuby製の ツールをもっと 検証に活用しよう!! ご清聴ありがとうございました 13年8月31日土曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×