Enviar pesquisa
Carregar
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
•
14 gostaram
•
6,955 visualizações
Fukui Osamu
Seguir
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 50
Baixar agora
Baixar para ler offline
Recomendados
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
Drecom Co., Ltd.
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
20131209_buildinsidermeetup
20131209_buildinsidermeetup
kumake
JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014
Naoki Shimizu
Spring Security 4.1 の新機能
Spring Security 4.1 の新機能
正和 井岡
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla
FiNC DDD第一回勉強会
FiNC DDD第一回勉強会
裕紀 重村
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Recomendados
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
Drecom Co., Ltd.
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
20131209_buildinsidermeetup
20131209_buildinsidermeetup
kumake
JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014
Naoki Shimizu
Spring Security 4.1 の新機能
Spring Security 4.1 の新機能
正和 井岡
Spring Framework ふりかえりと4.3新機能
Spring Framework ふりかえりと4.3新機能
kimulla
FiNC DDD第一回勉強会
FiNC DDD第一回勉強会
裕紀 重村
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
nomlab
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
20150531 phpcon kansai
20150531 phpcon kansai
kumamidori
Reudy on Ruby1.9
Reudy on Ruby1.9
Glass_saga
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
Takashi Sogabe
Ruby Introduction
Ruby Introduction
YushiroDodo
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
nekogeruge_987
Pry による repl 駆動開発について
Pry による repl 駆動開発について
Tomoya Kawanishi
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
Fumiyasu Sumiya
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
PHPer のための Ruby 教室
PHPer のための Ruby 教室
higaki
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
DNSのRFCの歩き方
DNSのRFCの歩き方
Takashi Takizawa
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
S2dao Seminar in tripodworks
S2dao Seminar in tripodworks
tripodworks
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
#027 tddのさわり
#027 tddのさわり
森下 智裕
Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)
masayoshi takahashi
20160529 tokyurubykaigi10
20160529 tokyurubykaigi10
Fukui Osamu
20141129 tokyurubykaigi08
20141129 tokyurubykaigi08
Fukui Osamu
Mais conteúdo relacionado
Semelhante a 20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
nomlab
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
20150531 phpcon kansai
20150531 phpcon kansai
kumamidori
Reudy on Ruby1.9
Reudy on Ruby1.9
Glass_saga
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
Takashi Sogabe
Ruby Introduction
Ruby Introduction
YushiroDodo
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
nekogeruge_987
Pry による repl 駆動開発について
Pry による repl 駆動開発について
Tomoya Kawanishi
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
Uchio Kondo
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
Fumiyasu Sumiya
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Takuya Mukohira
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
PHPer のための Ruby 教室
PHPer のための Ruby 教室
higaki
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Masahito Zembutsu
DNSのRFCの歩き方
DNSのRFCの歩き方
Takashi Takizawa
Summary of Ruby
Summary of Ruby
Tamotsu Furuya
S2dao Seminar in tripodworks
S2dao Seminar in tripodworks
tripodworks
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
#027 tddのさわり
#027 tddのさわり
森下 智裕
Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)
masayoshi takahashi
Semelhante a 20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
(20)
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
20150531 phpcon kansai
20150531 phpcon kansai
Reudy on Ruby1.9
Reudy on Ruby1.9
Tokyo ruby kaigi 10 (sogabe)
Tokyo ruby kaigi 10 (sogabe)
Ruby Introduction
Ruby Introduction
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
Pry による repl 駆動開発について
Pry による repl 駆動開発について
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
苫小牧高専 ソフトウェアテクノロジー部 Rubyで遊ぼう 1
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
PHPer のための Ruby 教室
PHPer のための Ruby 教室
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
Serfが面白いと俺の中で話題にwwwwww 【改訂版】
DNSのRFCの歩き方
DNSのRFCの歩き方
Summary of Ruby
Summary of Ruby
S2dao Seminar in tripodworks
S2dao Seminar in tripodworks
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
#027 tddのさわり
#027 tddのさわり
Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)
Mais de Fukui Osamu
20160529 tokyurubykaigi10
20160529 tokyurubykaigi10
Fukui Osamu
20141129 tokyurubykaigi08
20141129 tokyurubykaigi08
Fukui Osamu
20141101渋谷ruby会議
20141101渋谷ruby会議
Fukui Osamu
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
Fukui Osamu
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
Fukui Osamu
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
Fukui Osamu
20130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk05
Fukui Osamu
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイト
Fukui Osamu
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
Fukui Osamu
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
Fukui Osamu
20101106 ramaze発表
20101106 ramaze発表
Fukui Osamu
Mais de Fukui Osamu
(11)
20160529 tokyurubykaigi10
20160529 tokyurubykaigi10
20141129 tokyurubykaigi08
20141129 tokyurubykaigi08
20141101渋谷ruby会議
20141101渋谷ruby会議
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20140823 devlove甲子園 東日本 心トラック5回裏 #devlove
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20131016 エンドツーエンド検証をJenkinsで回す話 #shibuyarb
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130921 カジュアルにテストしてフォーマルに検証する #toRuby
20130831 No Ruby No Test #kanrk05
20130831 No Ruby No Test #kanrk05
Herokuで作るdevise認証サイト
Herokuで作るdevise認証サイト
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
Rubyistに 不足しているのは会計(そろばん)!
20101106 ramaze発表
20101106 ramaze発表
Último
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Último
(9)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
1.
テスト自動化のアプローチ拡張トレンド ∼e2eはExcel項目定義手動テスト からTurnip自動テストへ∼ 2014.2.12 DevLove #157 福井修
@iR3
2.
ルビールビールビー Ruby大好き 福井修@iR3 2012 Rubykaja sendagaya.rb #七輪life Ruby関西cofounder 2009Ruby会議スタッフ &スポンサー
3.
2002年KOFにて Matzを囲む
4.
エンドツーエンドにはTurnip
5.
from 2009.11 刻言道場「まいトレ」 http://maitore.net/ 販売管理・在庫管理システム 株式会社 iRubySystems
6.
世間の動向
7.
ドメイン特化言語 (DSL:Domain Specific Language) DSLのLをLibraryと広義に解釈すると…
8.
Rails,sinatraはWebのDSL ChefはシステムアドミストレーションのDSL Fluentdはマシン間配送のDSL RSpecはテストのDSL Gherkinは仕様記述DSL Capybaraはe2e検証のDSL
9.
結論を先に • Rubyの進んだテストツールを使うと自動 テストも美味しくええとこ取りできる • エンドツーエンド(e2e)テスト自動化に は Gherkin+Capybara
+Turnip ライブラリが有利 • 外部テスト管理ツールもそろそろExcel からWebDBに
10.
CucumberとTurnipを 利用するメリットの 本質は Gherkinにあり
11.
時代の流れの背景 テスト自動化のうねり
12.
13.
14.
Andreas Spillner: “The W-MODEL
– Strengthening the Bond Between Development and Test” STAREAST2002
15.
http://www.ipa.go.jp/files/000005144.pdf
16.
高信頼性ソフトウェアのための開発手法ハンドブックより
17.
テストの種類 1.単体テスト、Unit-Test 2.結合テスト、Integration-Test,Component-Test 3.システムテスト、System-Test,e2e-Test 4.受け入れテスト、Acceptance-Test (5.回帰テスト、regression-Test) テストは、視点や範囲の違いでベタからメタ方向に 守備範囲の違いで区別があり 当然自動テストにもこの区別は該当
18.
内部テスト 内部テストは「ホワイトボックステスト」 プログラマが意図したとおりにプログラムが 動作することを確認するテストのこと 具体的には、プログラマが変数の値を変えな がらコードを直接実行して、期待する結果が 得られるかどうかを検証
19.
外部テスト 外部テストは「ブラックボックステスト」 プログラムのコードに立ち入ることなくプログラムの外部イ ンターフェース (画面 etc.)
を介して評価 → エンドツーエンドテスト エンドツーエンドは略して e2e
20.
経営 評価 リーン Biz 開発 検証 運用 Dev Ver Ops 設計→実装→テスト ↓ ↑ ここを俊敏に繰り返し やるのがAgile,TDD/BDD (回帰テスト) システムテスト 受け入れテスト e2eテスト 2013.9.21toRuby「カジュアルにテストして、 フォーマルに検証する」に加筆
21.
経営 評価 リーン Biz 開発 検証 運用 Dev Ver Ops 設計→実装→テスト ↓ ↑ ここを俊敏に 繰り返し やるのがAgile フォーマル に検証 カジュアル にテスト
22.
『自動テストのニーズはベタからメタへ』 ! ベタ ←――――――――――――――→ メタ Unit
Test → Integration Test → System Test、e2eTest → 回帰テスト るびま42号 「エンドツーエンドテストの自動化は Cucumber から Turnip へ」を編集
23.
Unitテスト自動化 ↓ e2eテスト自動化
24.
『テストツールもベタからメタへ』 ! ベタ ←――――――――――――――→ メタ ! Test::Unit
→ RSpec → Gherkin (Cucumber/Turnip) るびま42号 「エンドツーエンドテストの自動化は Cucumber から Turnip へ」より
25.
CucumberとTurnip ・featureファイルと step_definitionsファイル の構成 (Gherkin
書式) を 実行するのは同じ ・Cucumberは独立なプログラム(2本立て) ・TurnipはRSpec内で実行することができる (RSpec一本化) ・Cucumberは正規表現を使用(結構面倒) ・Turnipは代わりにプレースフォルダ
26.
検証項目列挙方式 単体テスト項目積み上げ ボトムアップアプローチ TDD/BDDの 機能仕様書から掘り下げ トップダウンアプローチ Excelシート 成果物 テスト設計
27.
出典:るびま42号
28.
gherkin書式 システムの振る舞いを記述するための自然言語に近い 書式 Business Readable DSLとも呼ばれ、ベタなテストコー ドにメタな説明
(機能・シナリオ・ステップ) の層 (レ イヤ) を付加し、プログラムの実装者でなく第三者や受 け入れ者が記述し理解できる (日本語でも記述できる) https://github.com/cucumber/cucumber/wiki/ Gherkin
29.
Gherkin書式の導入で プログラマ以外の 関係者による日本語 テストシナリオの記述 が可能に そこが画期的!!
30.
Gerkin書式は 1.機能feature 2.シナリオ 3.ステップ の3階層で記述
31.
具体的な.featureファイルへ
32.
view01.feature # encoding: utf-8 #
language: ja 機能: 1.画面表示確認 シナリオ: 1.トップページ確認 前提 対象ページを表示する ならば 'ようこそ 関西Ruby会議05' が表示されて いること
33.
view02.feature ## encoding: utf-8 #
language: ja 機能: 2.検索動作確認 シナリオ: 2.一覧確認 前提 対象ページを表示する かつ 郵便番号一覧 をクリックする ならば Zipcode が表示されていること !
34.
xx_steps.rbは featureファイルでステップ に記述した具体的な操作を RSpecとCapybaraの ライブラリの仕様にて Rubyスクリプトで実装
35.
具体的なsteps.rbファイルへ
36.
# 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
37.
view2_steps.rb #encoding: utf-8 ! step '郵便番号一覧
をクリックする' do #click_link '郵便番号一覧' first(:link, '郵便番号一覧').click end
38.
自動化の肝は、.featureファイルとxx_step.rbファイルの作成 この2種類のファイルさえ作成すれば、ツール群で自動実行可能! ただしxx_step.rbに記述できない処理は当然実行できない Excelテストケース .feature ファイル xx_step.rb ファイル Excelから文言を抜き出 して.featureの骨組みを 作るツールは作成可能 step.rbファイルを記述するには Capybara,Rspecのmatcherや Web操作仕様の詳細を理解し ておく必要があり習熟コストは かかる
39.
環境構築
40.
Turnip入門 http://magazine.rubyist.net/?0042-FromCucumberToTurnip#l36
41.
Turnipインストール Gemfileでturnip..を組み込み指定 2014.2.12時点では Turnipは1.2.0, capybaraは2.1.0, capybara-webkitは1.1.1,
gherkinは2.12.2 (Rails4ではプレロードはsporkからspringに) group :development, :test do gem 'capybara-webkit' gem 'headless' gem 'rspec-rails' gem 'spork', ' > 1.0.0rc4' gem 'turnip' end
42.
エンドツーエンド検証の実行 エンドツーエンド検証スクリプトを個別に実行 $ rspec -r
turnip/rspec --drb spec/features/xxxxx.feature
43.
demoサイト 関西Ruby会議05用Rails4 demoサイト 高速郵便番号検索 http:/ /kanrk05.ruby.iijgio.com/zipcodes MOGOKは速い! mogokでRails4は使える!(一部制約あり) mogok無料枠美味しい!!!
44.
Turnip入門のソースコード https:/ /github.com/ir3/e2etest
45.
次なるテーマ テストコンテンツの 管理へ
46.
47.
48.
再びまとめ • Rubyの進んだテストツールを使うと自動 テストも美味しくええとこ取りできる • エンドツーエンド(e2e)テスト自動化に は Gherkin+Capybara
+Turnip ライブラリが有利 • 外部テスト管理ツールもそろそろExcel からWebDBに
49.
おまけ
50.
RSpec自体はテストを記述するためのドメイン特 化言語(DSL:Domain Specific Language)を提 供するフレームワークなので、まさに「言語」と して広い範囲をカバー feature
spec、request specs、controller spec の使い分け feature spec : システムテスト,e2eテスト request specs : インテグレーションテスト controller spec : ユニットテスト
Baixar agora