SlideShare a Scribd company logo
1 of 27
Download to read offline
2010年10月1日(金) JaSST 10 Hokkaido



   Rubyにおける
   テスティング環境の紹介
   (導入編)
     — Introduction to developer testing with Ruby.



    島田 浩二
    koji.shimada@enishi-tech.com

2010年10月1日金曜日
しまだ こうじ
                   島田 浩二
 Photo by tmaeda
2010年10月1日金曜日
2010年10月1日金曜日
一般社団法人   LOCAL




2010年10月1日金曜日
日本Rubyの会
2010年10月1日金曜日
from Sapporo,
                with Love for Ruby



                               Photo by darashi
2010年10月1日金曜日
大事なことを最初に


2010年10月1日金曜日
http://regional.rubykaigi.org/sapporo03

2010年10月1日金曜日
2010年10月1日(金) JaSST 10 Hokkaido



   Rubyにおける
   テスティング環境の紹介
   (導入編)
     — Introduction to developer testing with Ruby.



    島田 浩二
    koji.shimada@enishi-tech.com

2010年10月1日金曜日
本日のお品書き
    1. テストについて
    2. 2つの成果物
    3. 開発者テスト
    4. Rubyにおけるテスティ
       ング環境の紹介
2010年10月1日金曜日
テスト
2010年10月1日金曜日
『ソフトウェア・テストの技法』


        テストとは、エラーを見つ
        けるつもりでプログラムを
        実行する過程である


2010年10月1日金曜日
2つの
      成果物
2010年10月1日金曜日
テストの2つの成果物


   1. パスしたコード
   2. 手に入れた情報


2010年10月1日金曜日
テストをパスしたコード



   ✓ プロダクトコード


2010年10月1日金曜日
テストによって得た情報

   ✓ プロセスについて
        -   どういうテストをしてどういう効果が
            あったのか/なかったのか

   ✓ プロダクトについて
        -   どういう傾向のバグがあったのか/な
            かったのか
2010年10月1日金曜日
テストによって得た情報


    ✓ 次に行うべきことがわかる
         - 次に行うべきこと=プロセス




2010年10月1日金曜日
テストの2つの成果物


   1. パスしたコード
   2. 手に入れた情報


2010年10月1日金曜日
テストの2つの成果物


   1. プロダクト
   2. プロセス


2010年10月1日金曜日
開発者
      テスト
2010年10月1日金曜日
開発者テスト

    ✓ テストを通じて、プロダクト
      に対して開発者が安心できる
      状態を作り上げていく過程



2010年10月1日金曜日
Rubyにおける
     テストの現在

2010年10月1日金曜日
テスティング・
                フレームワーク

                ✓ ユニットテスト
                ➡ TestUnit, RSpec

                ✓ 統合テスト
                ➡ Steak, Request Spec
                  (in RSpec2)

                ✓ 受け入れテスト
                ➡ Cucmber

2010年10月1日金曜日
周辺ツール

 ✓ 自動化、CI
  ➡ Autotest, Watchr,
    integrity
 ✓ カバレッジ
  ➡ RCov
 ✓ Fixture 
   Replacement
  ➡ factory_girl, Machinist

 ✓ モック, スタブ
  ➡ Mocha, RR
2010年10月1日金曜日
demo
2010年10月1日金曜日
続きは札幌Ruby会議03で
  http://regional.rubykaigi.org/sapporo03




2010年10月1日金曜日
2010年10月1日(金) JaSST 10 Hokkaido



   Rubyにおける
   テスティング環境の紹介
   (導入編)
     — Introduction to developer testing with Ruby.



    島田 浩二
    koji.shimada@enishi-tech.com

2010年10月1日金曜日

More Related Content

Similar to 20101001-Introduction-to-Developer-Testing-With-Ruby

"Ordinary" System Development
"Ordinary" System Development"Ordinary" System Development
"Ordinary" System DevelopmentShintaro Kakutani
 
『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2shinyaa31
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイルKenichi Takahashi
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
20100626-We-Think-We-Act
20100626-We-Think-We-Act20100626-We-Think-We-Act
20100626-We-Think-We-ActKoji SHIMADA
 
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例Uchio Kondo
 
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3shinyaa31
 
【Pycon2012】unittest嫌いがunitestをtesting
【Pycon2012】unittest嫌いがunitestをtesting【Pycon2012】unittest嫌いがunitestをtesting
【Pycon2012】unittest嫌いがunitestをtestingido_ojos_jp
 
Nature Of Software Development
Nature Of Software DevelopmentNature Of Software Development
Nature Of Software DevelopmentShintaro Kakutani
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料Takuya Mukohira
 
MacRuby を使ってみました
MacRuby を使ってみましたMacRuby を使ってみました
MacRuby を使ってみましたYoshiyuki MIYAGI
 
Ruby City Matsue
Ruby City MatsueRuby City Matsue
Ruby City MatsueTetsuo NODA
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
The preciousness of practicing agile
The preciousness of practicing agileThe preciousness of practicing agile
The preciousness of practicing agileNaoto Nishimura
 
Titanium meetuptokyo01
Titanium meetuptokyo01Titanium meetuptokyo01
Titanium meetuptokyo01Kazuaki Konno
 
DYNAMIXEL ROS Package
DYNAMIXEL ROS PackageDYNAMIXEL ROS Package
DYNAMIXEL ROS PackageYoonseok Pyo
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemdUchio Kondo
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05yamanekko
 

Similar to 20101001-Introduction-to-Developer-Testing-With-Ruby (20)

"Ordinary" System Development
"Ordinary" System Development"Ordinary" System Development
"Ordinary" System Development
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
 
『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2『JUnit実践入門』写経・実践会 in 横浜 #2
『JUnit実践入門』写経・実践会 in 横浜 #2
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイル
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
20100626-We-Think-We-Act
20100626-We-Think-We-Act20100626-We-Think-We-Act
20100626-We-Think-We-Act
 
ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例ペパボ福岡支社におけるRubyの活用事例
ペパボ福岡支社におけるRubyの活用事例
 
『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3『JUnit実践入門』写経・実践会 in 横浜 #3
『JUnit実践入門』写経・実践会 in 横浜 #3
 
Rava on JRuby
Rava on JRubyRava on JRuby
Rava on JRuby
 
【Pycon2012】unittest嫌いがunitestをtesting
【Pycon2012】unittest嫌いがunitestをtesting【Pycon2012】unittest嫌いがunitestをtesting
【Pycon2012】unittest嫌いがunitestをtesting
 
Nature Of Software Development
Nature Of Software DevelopmentNature Of Software Development
Nature Of Software Development
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
 
MacRuby を使ってみました
MacRuby を使ってみましたMacRuby を使ってみました
MacRuby を使ってみました
 
Ruby City Matsue
Ruby City MatsueRuby City Matsue
Ruby City Matsue
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
The preciousness of practicing agile
The preciousness of practicing agileThe preciousness of practicing agile
The preciousness of practicing agile
 
Titanium meetuptokyo01
Titanium meetuptokyo01Titanium meetuptokyo01
Titanium meetuptokyo01
 
DYNAMIXEL ROS Package
DYNAMIXEL ROS PackageDYNAMIXEL ROS Package
DYNAMIXEL ROS Package
 
人間たちとsystemd
人間たちとsystemd人間たちとsystemd
人間たちとsystemd
 
Tokyurubykaigi05
Tokyurubykaigi05Tokyurubykaigi05
Tokyurubykaigi05
 

More from Koji SHIMADA

Next Generation Web Application Architecture
Next Generation Web Application ArchitectureNext Generation Web Application Architecture
Next Generation Web Application ArchitectureKoji SHIMADA
 
20110614 hmcc-enishitech
20110614 hmcc-enishitech20110614 hmcc-enishitech
20110614 hmcc-enishitechKoji SHIMADA
 
20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisitedKoji SHIMADA
 
20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-publicKoji SHIMADA
 
20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tailKoji SHIMADA
 
20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learnedKoji SHIMADA
 
20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporoKoji SHIMADA
 
20100526 The Productive Programmer
20100526 The Productive Programmer20100526 The Productive Programmer
20100526 The Productive ProgrammerKoji SHIMADA
 
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your SystemKoji SHIMADA
 
20100213 Where The Street Has No Name
20100213 Where The Street Has No Name20100213 Where The Street Has No Name
20100213 Where The Street Has No NameKoji SHIMADA
 
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean CodeKoji SHIMADA
 
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Koji SHIMADA
 
RubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doRubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doKoji SHIMADA
 
20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with RubyKoji SHIMADA
 
20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 SapporoKoji SHIMADA
 
20081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks200820081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks2008Koji SHIMADA
 
Talking About Fluent Interface
Talking About Fluent InterfaceTalking About Fluent Interface
Talking About Fluent InterfaceKoji SHIMADA
 
20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaConKoji SHIMADA
 
20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtmlKoji SHIMADA
 
20080730-WelcomeToLifeWithRuby
20080730-WelcomeToLifeWithRuby20080730-WelcomeToLifeWithRuby
20080730-WelcomeToLifeWithRubyKoji SHIMADA
 

More from Koji SHIMADA (20)

Next Generation Web Application Architecture
Next Generation Web Application ArchitectureNext Generation Web Application Architecture
Next Generation Web Application Architecture
 
20110614 hmcc-enishitech
20110614 hmcc-enishitech20110614 hmcc-enishitech
20110614 hmcc-enishitech
 
20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited20110718 you-must-unlearn-what-you-have-learned rivisited
20110718 you-must-unlearn-what-you-have-learned rivisited
 
20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public20110602 osc2011do-rubysapporo-public
20110602 osc2011do-rubysapporo-public
 
20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail20110129 organizational-reform -that-is-a-fairy-tail
20110129 organizational-reform -that-is-a-fairy-tail
 
20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned20101204 you-must-unlearn-what-you-have-learned
20101204 you-must-unlearn-what-you-have-learned
 
20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo20100626-OSC2010do-RubySapporo
20100626-OSC2010do-RubySapporo
 
20100526 The Productive Programmer
20100526 The Productive Programmer20100526 The Productive Programmer
20100526 The Productive Programmer
 
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
20100226 Jim Coplien Said You Should Foster Generative Scheme In Your System
 
20100213 Where The Street Has No Name
20100213 Where The Street Has No Name20100213 Where The Street Has No Name
20100213 Where The Street Has No Name
 
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code20091030 Uncle Bob Said You Should Be A Professional With Clean Code
20091030 Uncle Bob Said You Should Be A Professional With Clean Code
 
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)Our Strategy To Survive In This Hard World(tochigirubykaigi02)
Our Strategy To Survive In This Hard World(tochigirubykaigi02)
 
RubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009doRubySapporoDigestAndMore-osc2009do
RubySapporoDigestAndMore-osc2009do
 
20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby20090124 Pleasantly Programming with Ruby
20090124 Pleasantly Programming with Ruby
 
20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo20081220 Rubybonenkai2008 Sapporo
20081220 Rubybonenkai2008 Sapporo
 
20081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks200820081205 Object Club Reject Talks2008
20081205 Object Club Reject Talks2008
 
Talking About Fluent Interface
Talking About Fluent InterfaceTalking About Fluent Interface
Talking About Fluent Interface
 
20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon20081004-OSC2008Tokyo/Fall-MetaCon
20081004-OSC2008Tokyo/Fall-MetaCon
 
20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml20080823-TransformingPlainTextToHtml
20080823-TransformingPlainTextToHtml
 
20080730-WelcomeToLifeWithRuby
20080730-WelcomeToLifeWithRuby20080730-WelcomeToLifeWithRuby
20080730-WelcomeToLifeWithRuby
 

Recently uploaded

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものです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」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL 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論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものです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」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

20101001-Introduction-to-Developer-Testing-With-Ruby