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

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

3,316 views
3,236 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,316
On SlideShare
0
From Embeds
0
Number of Embeds
79
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. オープンソースカンファレンス2011 Tokyo/SpringMakeGood で快適なテスト駆動開発を 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 goodb047b02ea83310a70fd603dc8cd7a6cd13d15c04 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

×