2011/11/12 関西オープンソース 2011継続的テストランナー MakeGood 入門                Piece Project                久保敦啓 (KUBO Atsuhiro)          ...
久保敦啓 (KUBO Atsuhiro)    Piece Project プロジェクトリード    株式会社アイテマン 代表取締役    Twitter @iteman    メンタリング    トレーニング    ソフトウェア開...
Piece Framework by Piece Project    PHP フレームワーク、ツール    オープンソースソフトウェア    Piece Project                    開発者募集中      ...
Piece Framework by Piece Project    Twitter @piece_framework    ソースコード    https://github.com/piece    課題管理    http://re...
アジェンダ    テスト?    テストの自動化    継続的テスト    MakeGood                
テスト?        test By DaveBleasdale        http://www.flickr.com/photos/sidelong/246816211
さまざまなテストの分類方法    テストレベル    単体テスト、結合テスト、システムテスト、受け入れテスト    テストタイプ    機能テスト、非機能テスト、構造テスト、回帰テスト    テスト設計技法    構造ベース、仕様ベース、...
Questions By Oberazzi        http://www.flickr.com/photos/oberazzi/318947873
誰が何のために?     
3 種類のテスト       
Developer Testing    誰が?              開発者が    何のために?              開発促進のために                 
QA Testing    誰が?                品質保証担当者が    何のために?                品質保証のために    QA = Quality Assurance                 
Customer Testing    誰が?              顧客が    何のために?              進捗管理のために                
開発プロセス・方法論    テスト駆動開発 (TDD)    Test-Driven Development                    受け入れテスト駆動開発 (ATDD)                    検証指向 TD...
テスト駆動開発      
3 種類のテストと開発手法     
テストの実行      
テストの実行プロセス1.テストを実行する。2.期待する結果と実際の結果を比較する。3.結果をリポートする。          
手作業で?         Galley Slaves By ChibiJosh         http://www.flickr.com/photos/chibijosh/17867308
テストの自動化          Escalators By HKmPUA          http://www.flickr.com/photos/hleung/1295585574
テスティングフレームワーク    PHPUnit    Behat    PHPSpec    …               
PHPUnitclass StackTest extends PHPUnit_Framework_TestCase{    public function testPushAndPop()    {        $stack = array(...
BehatFeature: ls  In order to see the directory structure  As a UNIX user  I need to be able to list the current directory...
PHPSpecclass DescribeNewBowlingGame extends PHPSpecContext{    private $_bowling = null;    public function before()    { ...
3 種類のテストとフレームワーク       
さらなる自動化       
継続的インテグレーションContinuous Integration                  http://jenkins-ci.org/         
継続的テストContinuous Testing            Day 61 - Watering tulips By Mourne            http://www.flickr.com/photos/mourner/355...
継続的テストツール    MakeGood    http://redmine.piece-framework.com/projects/makegood    Stagehand_TestRunner    http://redmine....
Stagehand_TestRunner        
インストール$ pear channel-discover pear.piece-framework.com$ pear install piece/stagehand_testrunner                      
テストの作成FooTest.php:<?phpclass FooTest extends PHPUnit_Framework_TestCase{    /**      * @test      */    public function al...
テストの実行$ phpunitrunner FooTest.phpPHPUnit 3.5.15 by Sebastian Bergmann..Foo [x] Always trueTime: 0 seconds, Memory: 6.75MbO...
テストの実行 (PHPUnit)$ phpunit FooTest.phpPHPUnit 3.5.15 by Sebastian Bergmann..Time: 0 seconds, Memory: 6.00MbOK (1 test, 1 as...
継続的テスト$ phpunitrunner -a .( ファイルの追加・削除・変更でテストが実行される。 )$ phpunitrunner -an .(Growl/notify-send で結果が通知される。 )              
MakeGood      
MakeGood UniverseA continuous testing platform   2012 年 1 月リリース予定            
参考    和田卓人「[動画で解説]和田卓人の“テスト駆動開発”講座:第 3 回      「テスト」という言葉について ── Developer Testing , Customer     Testing , QA Testing 」  ...
参考    Sebastian Bergmann 「 PHPUnit Manual 」    http://www.phpunit.de/manual/3.5/ja/index.html    Konstantin Kudryashov 「...
Upcoming SlideShare
Loading in …5
×

Introduction to Continuous Test Runner MakeGood

2,405 views

Published on

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,405
On SlideShare
0
From Embeds
0
Number of Embeds
234
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introduction to Continuous Test Runner MakeGood

  1. 1. 2011/11/12 関西オープンソース 2011継続的テストランナー MakeGood 入門 Piece Project 久保敦啓 (KUBO Atsuhiro)    
  2. 2. 久保敦啓 (KUBO Atsuhiro) Piece Project プロジェクトリード 株式会社アイテマン 代表取締役 Twitter @iteman メンタリング トレーニング ソフトウェア開発    
  3. 3. Piece Framework by Piece Project PHP フレームワーク、ツール オープンソースソフトウェア Piece Project  開発者募集中  スポンサー募集中    
  4. 4. Piece Framework by Piece Project Twitter @piece_framework ソースコード https://github.com/piece 課題管理 http://redmine.piece-framework.com/ Web サイト http://piece-framework.com/    
  5. 5. アジェンダ テスト? テストの自動化 継続的テスト MakeGood    
  6. 6. テスト? test By DaveBleasdale    http://www.flickr.com/photos/sidelong/246816211
  7. 7. さまざまなテストの分類方法 テストレベル 単体テスト、結合テスト、システムテスト、受け入れテスト テストタイプ 機能テスト、非機能テスト、構造テスト、回帰テスト テスト設計技法 構造ベース、仕様ベース、経験ベース …    
  8. 8. Questions By Oberazzi    http://www.flickr.com/photos/oberazzi/318947873
  9. 9. 誰が何のために?   
  10. 10. 3 種類のテスト   
  11. 11. Developer Testing 誰が?  開発者が 何のために?  開発促進のために    
  12. 12. QA Testing 誰が?  品質保証担当者が 何のために?  品質保証のために QA = Quality Assurance    
  13. 13. Customer Testing 誰が?  顧客が 何のために?  進捗管理のために    
  14. 14. 開発プロセス・方法論 テスト駆動開発 (TDD) Test-Driven Development  受け入れテスト駆動開発 (ATDD)  検証指向 TDD ビヘイビア駆動開発 (BDD) Behavior-Driven Development    
  15. 15. テスト駆動開発   
  16. 16. 3 種類のテストと開発手法   
  17. 17. テストの実行   
  18. 18. テストの実行プロセス1.テストを実行する。2.期待する結果と実際の結果を比較する。3.結果をリポートする。    
  19. 19. 手作業で? Galley Slaves By ChibiJosh    http://www.flickr.com/photos/chibijosh/17867308
  20. 20. テストの自動化 Escalators By HKmPUA    http://www.flickr.com/photos/hleung/1295585574
  21. 21. テスティングフレームワーク PHPUnit Behat PHPSpec …    
  22. 22. PHPUnitclass StackTest extends PHPUnit_Framework_TestCase{ public function testPushAndPop() { $stack = array(); $this->assertEquals(0, count($stack)); array_push($stack, foo); $this->assertEquals(foo, $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals(foo, array_pop($stack)); $this->assertEquals(0, count($stack)); }    
  23. 23. BehatFeature: ls In order to see the directory structure As a UNIX user I need to be able to list the current directorys contents Scenario: Given I am in a directory "test" And I have a file named "foo" And I have a file named "bar" When I run "ls" Then I should get: """ bar foo """    
  24. 24. PHPSpecclass DescribeNewBowlingGame extends PHPSpecContext{ private $_bowling = null; public function before() { $this->_bowling = $this->spec(new Bowling); } public function itShouldScore0ForGutterGame() { for ($i=1; $i<=20; $i++) { // someone is really bad at bowling! $this->_bowling->hit(0); } $this->_bowling->score->should->equal(0); }    
  25. 25. 3 種類のテストとフレームワーク    
  26. 26. さらなる自動化   
  27. 27. 継続的インテグレーションContinuous Integration http://jenkins-ci.org/    
  28. 28. 継続的テストContinuous Testing Day 61 - Watering tulips By Mourne     http://www.flickr.com/photos/mourner/3552724584
  29. 29. 継続的テストツール MakeGood http://redmine.piece-framework.com/projects/makegood Stagehand_TestRunner http://redmine.piece-framework.com/projects/stagehand-testrunner    
  30. 30. Stagehand_TestRunner   
  31. 31. インストール$ pear channel-discover pear.piece-framework.com$ pear install piece/stagehand_testrunner    
  32. 32. テストの作成FooTest.php:<?phpclass FooTest extends PHPUnit_Framework_TestCase{ /** * @test */ public function alwaysTrue() { $expected = $actual = true; $this->assertEquals($expected, $actual); }}    
  33. 33. テストの実行$ phpunitrunner FooTest.phpPHPUnit 3.5.15 by Sebastian Bergmann..Foo [x] Always trueTime: 0 seconds, Memory: 6.75MbOK (1 test, 1 assertion)    
  34. 34. テストの実行 (PHPUnit)$ phpunit FooTest.phpPHPUnit 3.5.15 by Sebastian Bergmann..Time: 0 seconds, Memory: 6.00MbOK (1 test, 1 assertion)    
  35. 35. 継続的テスト$ phpunitrunner -a .( ファイルの追加・削除・変更でテストが実行される。 )$ phpunitrunner -an .(Growl/notify-send で結果が通知される。 )    
  36. 36. MakeGood   
  37. 37. MakeGood UniverseA continuous testing platform 2012 年 1 月リリース予定    
  38. 38. 参考 和田卓人「[動画で解説]和田卓人の“テスト駆動開発”講座:第 3 回  「テスト」という言葉について ── Developer Testing , Customer Testing , QA Testing 」 http://gihyo.jp/dev/serial/01/tdd/0003, 2007 年。 川西俊之「 DevLOVE LT: Do you know axes of software testing? 」 http://www.slideshare.net/tosikawa/ss-1632677, 2009 年。 大田健一郎「テストエンジニアと TDD 」『ソフトウェア・テスト PRESS 総集編』、技術評論社、 2011 年。    
  39. 39. 参考 Sebastian Bergmann 「 PHPUnit Manual 」 http://www.phpunit.de/manual/3.5/ja/index.html Konstantin Kudryashov 「 Behat Documentation 」 http://docs.behat.org/index.html Pádraic Brady, The PHPSpec Development Team 「 Reference Manual 」 http://www.phpspec.net/documentation/    

×