MakeGoodで快適なテスト駆動開発を
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 3,532 views

 

Statistics

Views

Total Views
3,532
Views on SlideShare
3,455
Embed Views
77

Actions

Likes
1
Downloads
14
Comments
0

3 Embeds 77

http://piece-framework.com 48
http://localhost 24
http://coderwall.com 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • オープンソースカンファレンス2011 Tokyo/SpringMakeGood で快適なテスト駆動開発を Piece Project 久保敦啓 kubo@iteman.jp
  • 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 (CodeIgniter)  Behat (BDD フレームワーク ) SimpleTest  CakePHP
  • テストランナー
  • ユーザーインターフェイス コマンドラインインターフェイス 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 goodb047b02ea83310a70fd603dc8cd7a6cd13d15c04 is first bad commit...
  • 「使い方を機能として実装する」 ワークフローを機能として実装する 人間の判断が必要な箇所以外を徹底して 自動化する
  • テスト実行関連ワークフロー テストの実行 失敗したアサーション行への移動 エラーの原因の特定 致命的なエラーの発生行への移動
  • テストの実行 テストを特定する テストを実行する 結果を確認する
  • 失敗したアサーション行への移動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  http://sourceforge.jp/projects/pdt-tools/releases/51060  パッチ済みプラグイン  致命的な不具合を解決するために必要
  • インストール Eclipse に更新サイト eclipse.piece-framework.com を 設定し、そこからインストールできる
  • 今後の予定 テスト実行の並列化  すべてのテストの実行を高速化する Aptana Studio 3 のサポート モッキングフレームワークサポート 明示的な依存関係の定義  テストとクラスを結びつける Test Outline ビュー
  • Twitter @piece_framework  Piece Framework のニュース @iteman  iteman @matsu_hide  まっつん
  • 関連サイト GitHub  http://github.com/piece Piece Framework プロダクトページ  http://redmine.piece-framework.com MakeGood プロダウトページ  http://redmine.piece- framework.com/projects/makegood
  • 参考 Pro Git http://progit.org/book/ja/ 江渡 浩一郎、『パターン、 Wiki 、 XP ~ 時 を超えた創造の原則 (WEB+DB PRESS plus シリーズ ) 』、技術評論社、 2009 年 , ISBN 978-4774138978