SlideShare a Scribd company logo
1 of 41
Download to read offline
開発者による現実的な自動化テスト

及びRubyのテストツールについて
Takaaki Kasai
2015.03.12
テストそのものの話
テストを自動化してますか?
なぜテストの自動化が必要なのか
• ここでいうテストとは開発者が自ら書くテストコードのこと
• リグレッションテストの労力と時間を大幅に削減できる
• 以前書いたコードを壊していないことが保証できる

(少なくともテストコードの仕様上は)
• 開発者自身の心の安寧が得られる ← 重要

(余計なことを考えず今眼の前にあるコードに集中できる)
• リファクタリングが躊躇なくできる

(壊したらどうしよう・・・なんて心配が不要になる)
そもそも「テストコードを書く」文化がない場合は?
• 「勝手にやりましょう」
• 人間、目の前で見せられるまで納得しない

→ いきなり「テストを書く時間をとらせてくれ」よりも

  勝手にやってしまって、効果を見せた方が話が早い
やっちまえ!
テストを書くのは品質の保証のため?
• 開発者自身が品質保証のためにやるのは大変
• あくまで

「リグレッションテストの手間と時間の削減」

「開発者の精神的安定と効率と集中力向上」

「リファクタリングによるコードの洗練」

のためにやるという考え方 ← 今回の話はこれ
• 完全なテストはいらない

→ 過去のコードを壊していないか確認できればいい
テストは過去のコードをチェックする
センサーみたいなもの
カバレッジ⃝⃝%なんて目指さない
• ぶっちゃけ、異常系なしで正常系だけでもいい



そもそも、新しいコードを追加して過去のコードを壊すとき
は、正常系が壊れることが多い。異常系の細かい部分が一箇
所だけ壊れることを確認するよりも、正常系だけの確認をし
たほうが圧倒的に効率がいい。
• テストを書く目的が品質保証ではなく「開発者自身のため」
であるからこその割り切り

(テストケースを細かく完璧に書く時間がない・・・・)
• ということで、カバレッジは気にしない。
単体テストより統合テスト
• テストを書く目的が過去のコードを壊していないかの確認な
ので、統合テストだけでも目的は果たせる
• もちろん単体テストはないよりあったほうがいい。書く時間
があれば。
• 時間が足りない時は、とりあえず先に実装を終わらせて後か
ら統合テストだけ書く
「時間は作るもの」
なんて言うけど限界ある
TDDじゃないの?
• テスト駆動は確かに「理想」

→ だけど、いちいちやってる時間あるか?
• 全てをテストファーストにするのはあきらめる

→ 正直、UIまで含めてテストファーストはキツイ

→ そこまで秀才じゃないッス
• 「雪だるま式」という考え方もある

→ 雪だるまは、最初に「核」になる部分を

  こねくり回して作って、それから転がして大きくする。

  同じように、最初はテストを書かずに「核」を作って、

  それからテスト駆動のサイクルを回す。
ツールの話
現在の自動テスト環境
• Cucumber
• Capybara
• Poltergeist
• PhantomJS
どういうこと?
Poltergeist
Poltergeist
Cucumber
Capybara
PhantomJS
処理の流れ
自然言語
→コード
への変換
Webアプリの
テスト向けDSL
PhantomJS用
ドライバ
ヘッドレス
ブラウザ
Cucumberって?
• テストコード記述ツールの進化

Test::Unit → RSpec → Cucumber
• Test::Unit

Rubyのソースコードそのもの
• RSpec

ソースコードに自然言語による説明がつけられる
• Cucumber

自然言語によるテスト仕様記述とソースコードを分離
サンプルアプリケーション
Hello! ボタンを押すと Hello, World!! と表示するだけ
test_rack_app.rb
config.ru
実行コマンド
$ rackup -o 0.0.0.0
Test::Unit
• Rubyのソースコードそのもの
• メソッド定義がテストの単位(先頭に test_ をつける)
• アサーション用のメソッドが用意されている(assert_*)
Test::Unit(コード例)
test_unit.rb
Test::Unit(実行例:成功時)
Test::Unit(実行例:失敗時)
• ソースコードに自然言語による説明がつけられる
• ブロックでテストの単位を表す
• より柔軟なアサーション: expect(*).to ∼
RSpec
RSpec(コード例)
rspec_spec.rb
RSpec(実行例:成功時)
RSpec(実行例:失敗時)
• 自然言語によるテスト仕様記述とソースコードを分離
• featureファイル: テスト仕様記述

→ gherkin(ガーキン)という言語、ほぼ自然言語で書ける
• step定義ファイル: ソースコード

→ featureをrubyのコードに翻訳
Cucumber
Cucumber(コード例 1/2)
features/hello.feature
Cucumber(コード例 2/2)
features/step_definitions/hello_steps.rb
features/support/env.rb cucumber.yml
Cucumber(実行例:成功時)
Cucumber(実行例:失敗時)
テストコードをもっと便利に
• Webアプリケーションでよく使う動作や確認

例えば・・・・

・フォーム内要素への入力

・HTMLの特定のタグ内に文字列があることを確認

・ボタンをクリック

→ 楽にテストを記述したい!
• そこで、Capybara

Webアプリのテスト向けDSLが っている

CSSセレクタやXPathが使える

HTMLの特定要素の属性やテキストの比較がラクにできる
Capybara+Cucumber(コード例)
features/step_definitions/hello_steps.rb
features/hello.feature features/support/env.rb
Capybara+Cucumber(実行例: 失敗時)
CSSセレクタで比較の範囲を絞ったので、エラーが分かりやすくなった
→ もちろん、自力でHTMLを解析して比較すれば同様のことは
  できるけど、しんどい。Capybaraを使えばラク。
ステップ定義に柔軟性をもたせる
step定義ファイル(抜粋)
→ CSSセレクタをfeatureファイル側に含めると、
  stepの汎用性がぐっと高まる
featureファイル(抜粋)
柔軟なステップ定義の例をもう少し
step定義ファイル(抜粋)
featureファイル(抜粋)
さらにJavascirptもテストしたい
• 統合テストであるからには、JSも含んだ動作を検証したい

→ JSのみの単体テストじゃなくて、ページ遷移なども

  含めて自動でテストしたい
• Seleniumって選択肢もあるけど、重い・扱いにくい
• そこで「ヘッドレスブラウザ」を使う

→ 最近よく使われるのが PhantomJS
「コマンド一発打って待ってれば
全部完了」が理想ですね
ヘッドレスブラウザ PhantomJS
• 中身はWebKit

正確には QtWebKit
• 公式サイトにあるビルド済みバイナリを使うのが吉

→ 自力でビルとすると30分以上かかる可能性大

→ 2ヶ月程前にメジャーバージョンアップ(2.0)したが、

  2.0のビルド済みバイナリは未提供(2015.03.12現在)

→ なので、バージョン1系列の過去のバイナリを使う

https://code.google.com/p/phantomjs/downloads/list
• たまにクラッシュします(笑)さすがにWebKitを完全に動かすのは簡単じゃないっぽい

落ちた部分だけ再度テストを実行しましょう。
PhantomJSを使うには
• Capybaraは、アプリケーションにアクセスしに行く部分のモ
ジュール(=ドライバ)を選択できる

※デフォルトではRack::Test
• CapybaraからPhantomJSを使うためには、

ドライバとしてPoltergeistを使う
features/support/env.rb
追記
追記
左記の設定で、
シナリオの直前に
@javascript
と記述(タグ)をつけた
シナリオはPoltergeistド
ライバ経由でPhantomJS
を使うようになる
AJAXをテストする
features/support/wait_for_ajax.rb
step定義ファイル(抜粋)
featureファイル(抜粋)
リモートサーバをテストする
features/support/env.rb(抜粋)
基本的にはこれだけ
• ステップ定義は変わらない
ステップに長いデータを渡す
step定義ファイル(抜粋)
featureファイル(抜粋)
→単に長い文字列を渡すためだけじゃなくて、
rubyのコードを書いてevalしたり、
JSONとして評価したり色々できる
この部分がステップの
最後の引数になる
データの初期化はどうする?
• env.rbに書く

テスト実行前のフックに登録する

データへのアクセスが意外と面倒だったりする
• アプリ内にテスト専用コントローラを用意する

アプリ内部からデータにアクセスするので色々ラク

テストコードを実行するマシンとテスト環境用データがある
マシンが分離している場合にも使える

もちろん本番環境からは除外するし、テスト環境限定で動く
ようにしておく

例:http://hostname/test/init-data にアクセスすると初期
化実行
Capybara+Cucumber+PhantomJS
実際の例&デモ
ありがとうございました

More Related Content

What's hot

テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightkyon mm
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編Yusuke Ito
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Yukiko Kato
 
アジャイルってなにが美味しいの
アジャイルってなにが美味しいのアジャイルってなにが美味しいの
アジャイルってなにが美味しいのYasui Tsutomu
 
僕たちがいつまでも​プログラマでいるには?​
僕たちがいつまでも​プログラマでいるには?​僕たちがいつまでも​プログラマでいるには?​
僕たちがいつまでも​プログラマでいるには?​Futa HIRAKOBA
 
HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話suno88
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hacktkyon mm
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す Kiro Harada
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpkyon mm
 
DevLove 甲子園2014 インクリメンタルに 設計・テストする
DevLove 甲子園2014 インクリメンタルに設計・テストするDevLove 甲子園2014 インクリメンタルに設計・テストする
DevLove 甲子園2014 インクリメンタルに 設計・テストするYasushi Hagai
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)Ikuru Kanuma
 
ソースコードを読んでみよう
ソースコードを読んでみようソースコードを読んでみよう
ソースコードを読んでみようShun Tsunoda
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 

What's hot (20)

テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
Ninja Testing at Toteka03
Ninja Testing at Toteka03Ninja Testing at Toteka03
Ninja Testing at Toteka03
 
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
 
CodingTips+ 基礎編
CodingTips+ 基礎編CodingTips+ 基礎編
CodingTips+ 基礎編
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
 
アジャイルってなにが美味しいの
アジャイルってなにが美味しいのアジャイルってなにが美味しいの
アジャイルってなにが美味しいの
 
僕たちがいつまでも​プログラマでいるには?​
僕たちがいつまでも​プログラマでいるには?​僕たちがいつまでも​プログラマでいるには?​
僕たちがいつまでも​プログラマでいるには?​
 
Ttd (1)
Ttd (1)Ttd (1)
Ttd (1)
 
HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話HTML と CSS の社内勉強会を主催した話
HTML と CSS の社内勉強会を主催した話
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
Tddbc sapporo 2_0
Tddbc sapporo 2_0Tddbc sapporo 2_0
Tddbc sapporo 2_0
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
DevLove 甲子園2014 インクリメンタルに 設計・テストする
DevLove 甲子園2014 インクリメンタルに設計・テストするDevLove 甲子園2014 インクリメンタルに設計・テストする
DevLove 甲子園2014 インクリメンタルに 設計・テストする
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
 
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
 
ソースコードを読んでみよう
ソースコードを読んでみようソースコードを読んでみよう
ソースコードを読んでみよう
 
Scrumfestmikawa2021
Scrumfestmikawa2021Scrumfestmikawa2021
Scrumfestmikawa2021
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 

Viewers also liked

capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活をRyunosuke SATO
 
cucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテストcucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテストTakafumi Yoshida
 
Minitest調べてみた
Minitest調べてみたMinitest調べてみた
Minitest調べてみたbaban ba-n
 
Begin cucumber-in-real-world
Begin cucumber-in-real-worldBegin cucumber-in-real-world
Begin cucumber-in-real-worldKyosuke MOROHASHI
 
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)洋史 東平
 
チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介ESM SEC
 
KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介ESM SEC
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIKoichiro Sumi
 
KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介ESM SEC
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)masanori kataoka
 
レガシーコード改善のススメ
レガシーコード改善のススメレガシーコード改善のススメ
レガシーコード改善のススメAkira Hirasawa
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章mirer
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalenderNaoya Kojima
 
DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)小川 昌吾
 
Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Kazuchika Sekiya
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015Kotaro Ogino
 
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポートHiroyuki Ito
 

Viewers also liked (20)

capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
cucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテストcucumber-jvmで受け入れテスト
cucumber-jvmで受け入れテスト
 
Minitest調べてみた
Minitest調べてみたMinitest調べてみた
Minitest調べてみた
 
RSpec と Cucumber
RSpec と CucumberRSpec と Cucumber
RSpec と Cucumber
 
Begin cucumber-in-real-world
Begin cucumber-in-real-worldBegin cucumber-in-real-world
Begin cucumber-in-real-world
 
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
 
Lightfish触ってみた
Lightfish触ってみたLightfish触ってみた
Lightfish触ってみた
 
チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介チームファシリテーション体験研修のご紹介
チームファシリテーション体験研修のご紹介
 
KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介KPTふりかえり実践研修のご紹介
KPTふりかえり実践研修のご紹介
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介KPTふりかえり会体験研修のご紹介
KPTふりかえり会体験研修のご紹介
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
レガシーコード改善のススメ
レガシーコード改善のススメレガシーコード改善のススメ
レガシーコード改善のススメ
 
OCRは古い技術
OCRは古い技術OCRは古い技術
OCRは古い技術
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章
 
20161222 selenium adventcalender
20161222 selenium adventcalender20161222 selenium adventcalender
20161222 selenium adventcalender
 
DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)DevOpsを支える技術勉強会(CI編)
DevOpsを支える技術勉強会(CI編)
 
Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理Routeサービスを使ったCloud FoundryアプリのAPI管理
Routeサービスを使ったCloud FoundryアプリのAPI管理
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
世界最大級のアジャイルカンファレンス報告:Agile2016参加レポート
 

Similar to 開発者による現実的な自動化テスト及びRubyのテストツールについて

Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目Nomo Kiyoshi
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町剛 羽根
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたYuusuke Takeuchi
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料Hiroko Tamagawa
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」Hiroyuki Ohnaka
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめKatsunori Kanda
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTatsuya Ishikawa
 
今、おさえておきたい DevOps
今、おさえておきたい DevOps 今、おさえておきたい DevOps
今、おさえておきたい DevOps 智治 長沢
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしようYuji Okazawa
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1Hiro Yoshioka
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 
はじめてのScrum
はじめてのScrumはじめてのScrum
はじめてのScrumKenji Morita
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方Akira Suenami
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかったMakoto Iguchi
 

Similar to 開発者による現実的な自動化テスト及びRubyのテストツールについて (20)

Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第2回 初心者向け Ruby on Rails 勉強会 in 門前仲町
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 
自動テストのすすめ
自動テストのすすめ自動テストのすすめ
自動テストのすすめ
 
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transitionTest automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
 
今、おさえておきたい DevOps
今、おさえておきたい DevOps 今、おさえておきたい DevOps
今、おさえておきたい DevOps
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしよう
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
はじめてのScrum
はじめてのScrumはじめてのScrum
はじめてのScrum
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 

開発者による現実的な自動化テスト及びRubyのテストツールについて