View
3.060
Download
2
Category
Preview:
Citation preview
MakeGoodで快適なテスト駆動開発を
Piece Project久保敦啓kubo@iteman.jp
オープンソースカンファレンス2011 Tokyo/Spring
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 start$ git bisect bad$ git bisect good v1.0$ git bisect bad...$ git bisect goodb047b02ea83310a70fd603dc8cd7a6cd13d15c04 is first bad commit...
git bisect
ワークフローを機能として実装する
人間の判断が必要な箇所以外を徹底して自動化する
「使い方を機能として実装する」
テストの実行
失敗したアサーション行への移動
エラーの原因の特定
致命的なエラーの発生行への移動
テスト実行関連ワークフロー
テストを特定する
テストを実行する
結果を確認する
テストの実行
1.失敗したアサーションを特定する
2.ファイルを開く
3.失敗したアサーションの行に移動する
失敗したアサーション行への移動
1.スタックトレースからエラーになったファイルと行を特定する
2.対象ファイルを開く
3.対象行に移動する
4.1に戻る
エラー原因の特定
1.エラーが発生したファイルと行を特定する
2.対象ファイルを開く
3.対象行に移動する
致命的なエラーの発生行への移動
継続的テストランナー
Eclipse PDT 素早いフィードバック
MakeGoodとは?
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ビュー
今後の予定
@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
参考
Recommended