Successfully reported this slideshow.
Your SlideShare is downloading. ×

MakeGoodで快適なテスト駆動開発を

Ad

オープンソースカンファレンス
2011 Tokyo/Spring



MakeGood で
快適な
テスト駆動開発を
                    Piece Project
                    久保敦啓
   ...

Ad

iteman

    Piece Framework 開発者

    Piece Project プロジェクトリード

    Twitter @iteman

Ad

Piece Framework


    PHP のアプリケーションフレームワーク
   オープンソースソフトウェア
     
         New BSD License
     
         Eclipse Publ...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 28 Ad
1 of 28 Ad

More Related Content

Slideshows for you (19)

MakeGoodで快適なテスト駆動開発を

  1. 1. オープンソースカンファレンス 2011 Tokyo/Spring MakeGood で 快適な テスト駆動開発を Piece Project 久保敦啓 kubo@iteman.jp
  2. 2. iteman  Piece Framework 開発者  Piece Project プロジェクトリード  Twitter @iteman
  3. 3. Piece Framework  PHP のアプリケーションフレームワーク  オープンソースソフトウェア  New BSD License  Eclipse Public License
  4. 4. 歴史  2005 Stagehand_TestRunner  2006 Piece_Unity, Piece_Flow  2009 MakeGood  2011 ???
  5. 5. テスト駆動開発 Test-Driven Development (TDD)
  6. 6. Red/Green/Refactor  Red - テストコードを書く  Green - プロダクションコードを書く  Refactor - リファクタリングを行う
  7. 7. テスティングフレームワーク  PHPUnit  Symfony2, CakePHP 2.0, Zend Framework  CIUnit (CodeIgniter)  Behat (BDD フレームワーク )  SimpleTest  CakePHP
  8. 8. テストランナー
  9. 9. ユーザーインターフェイス  コマンドラインインターフェイス  Web インターフェイス  統合開発環境 (IDE)
  10. 10. 開発環境  エディタ+コマンドライン  エディタ+ Web  IDE +コマンドライン  IDE + Web  IDE のみ
  11. 11. Subversion と git
  12. 12. バグが混入したリビジョンの特定 1.該当のバグが存在しない直近のリビジョ ンを特定する 2.現在のリビジョンとの中間のリビジョン をチェックする 3.バグが再現するかどうかをチェックする 4.2 に戻る
  13. 13. git bisect $ git bisect start $ git bisect bad $ git bisect good v1.0 $ git bisect bad ... $ git bisect good b047b02ea83310a70fd603dc8cd7a6 cd13d15c04 is first bad commit ...
  14. 14. 「使い方を機能として実装する」  ワークフローを機能として実装する  人間の判断が必要な箇所以外を徹底して 自動化する
  15. 15. テスト実行関連ワークフロー  テストの実行  失敗したアサーション行への移動  エラーの原因の特定  致命的なエラーの発生行への移動
  16. 16. テストの実行  テストを特定する  テストを実行する  結果を確認する
  17. 17. 失敗したアサーション行への移動 1.失敗したアサーションを特定する 2.ファイルを開く 3.失敗したアサーションの行に移動する
  18. 18. エラー原因の特定 1.スタックトレースからエラーになった ファイルと行を特定する 2.対象ファイルを開く 3.対象行に移動する 4.1 に戻る
  19. 19. 致命的なエラーの発生行への移動 1.エラーが発生したファイルと行を特定す る 2.対象ファイルを開く 3.対象行に移動する
  20. 20. MakeGood とは?  継続的テストランナー  Eclipse PDT  素早いフィードバック
  21. 21. 各種フレームワークのサポート状況  PHPUnit  CIUnit (CodeIgniter)  SimpleTest  CakePHP
  22. 22. 主な特徴  ファイル保存時のすべてのテストの実行  失敗・エラー・致命的なエラーの自動的 な追跡  テストの実行・デバッグ  マルチバイト文字のサポート
  23. 23. 推奨環境  Eclipse for PHP Developers Helios SR2  http://www.eclipse.org/downloads/  Tools for PDT  http://sourceforge.jp/projects/pdt-tools/releases/51060  パッチ済みプラグイン  致命的な不具合を解決するために必要
  24. 24. インストール  Eclipse に更新サイト eclipse.piece-framework.com を 設定し、そこからインストールできる
  25. 25. 今後の予定  テスト実行の並列化  すべてのテストの実行を高速化する  Aptana Studio 3 のサポート  モッキングフレームワークサポート  明示的な依存関係の定義  テストとクラスを結びつける  Test Outline ビュー
  26. 26. Twitter  @piece_framework  Piece Framework のニュース  @iteman  iteman  @matsu_hide  まっつん
  27. 27. 関連サイト  GitHub  http://github.com/piece  Piece Framework プロダクトページ  http://redmine.piece-framework.com  MakeGood プロダウトページ  http://redmine.piece- framework.com/projects/makegood
  28. 28. 参考  Pro Git http://progit.org/book/ja/  江渡 浩一郎、『パターン、 Wiki 、 XP ~ 時 を超えた創造の原則 (WEB+DB PRESS plus シリーズ ) 』、技術評論社、 2009 年 , ISBN 978-4774138978

×