Submit Search
phpspecで始めるBDD
14 likes
10,473 views
Yuuki Takezawa
BDDと開発サイクルについて、phpspecでBDDを始めるには
Software
Read more
1 of 39
Download now
Downloaded 30 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
More Related Content
PDF
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
PDF
Laravel5.1 Release
Yuuki Takezawa
PDF
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
PDF
よりよいPHPUnitの実行方法を求めて
Akio Ishida
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PPTX
Behat Driven Development
Ryo Tomidokoro
PDF
AspectMock 最強のモッキングフレームワーク
kenjis
PPTX
今日から始めるLaravel
Masaru Matsuo
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
Laravel5.1 Release
Yuuki Takezawa
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
よりよいPHPUnitの実行方法を求めて
Akio Ishida
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Behat Driven Development
Ryo Tomidokoro
AspectMock 最強のモッキングフレームワーク
kenjis
今日から始めるLaravel
Masaru Matsuo
What's hot
(20)
PPT
PHP agile test tips
Tsutomu Chikuba
PPTX
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
PDF
Javaのログ出力: 道具と考え方
Taku Miyakawa
PDF
Cake php + php unitによる実践的ユニットテスト
慶信 若松
PDF
Behatで行う、E2Eテスト入門
leverages_event
PDF
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
Yahoo!デベロッパーネットワーク
PPTX
nGrinder3 : だれもが簡単にできる性能テスト
JunHo Yoon
PDF
Laravel 5.1 LTSでサービスを作る
infinite_loop
PDF
PHPデプロイツールの世界
Yuuki Takezawa
KEY
初めての単体テスト
Basuke Suzuki
PDF
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
PPTX
活動報告9 laravel5入門-
vx-pc-club
PDF
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PDF
プログラミング言語Clojureのニャンパスでの活用事例
sohta
PDF
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
PPTX
Net fringejp2016
Yusuke Fujiwara
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
aha_oretama
PPTX
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
Keiichi Hagiwara
PDF
Laravelとテストについて
Takeo Noda
PPTX
.NET vNext
信之 岩永
PHP agile test tips
Tsutomu Chikuba
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
Javaのログ出力: 道具と考え方
Taku Miyakawa
Cake php + php unitによる実践的ユニットテスト
慶信 若松
Behatで行う、E2Eテスト入門
leverages_event
#jjug_ccc #ccc_f1 広告システム刷新の舞台裏 - PHPからJavaに変えてみました
Yahoo!デベロッパーネットワーク
nGrinder3 : だれもが簡単にできる性能テスト
JunHo Yoon
Laravel 5.1 LTSでサービスを作る
infinite_loop
PHPデプロイツールの世界
Yuuki Takezawa
初めての単体テスト
Basuke Suzuki
Laravelのパッケージのテストに便利なパッケージ
Yuta Nagamiya
活動報告9 laravel5入門-
vx-pc-club
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
プログラミング言語Clojureのニャンパスでの活用事例
sohta
Phpstudy44 Zend Frameworkが抱えている問題は多い。
sasezaki
Net fringejp2016
Yusuke Fujiwara
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
aha_oretama
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
Keiichi Hagiwara
Laravelとテストについて
Takeo Noda
.NET vNext
信之 岩永
Ad
Viewers also liked
(20)
PDF
zend-expressiveを触ってみよう
Yuuki Takezawa
PDF
php開発で使うタスクランナー gulp
Yuuki Takezawa
PDF
Laravel / Lumen 次の一歩
Yuuki Takezawa
PDF
LaravelとMVCの先へ
Yuuki Takezawa
PDF
behatで始めるBDD
Tsutomu Chikuba
PDF
今更はじめるCucumber
Tomohiro Nishimura
PDF
KPTのすすめ
Tomohiro Nishimura
KEY
Behat+Symfony2ではじめるBDD超入門
晃 遠山
PDF
第4回勉強会 単体テストのすすめ
hakoika-itwg
PDF
CakePHP3ウォークスルー
Tomoki Hasegawa
PDF
最近の単体テスト
Ken Morishita
PDF
ひよこテスト駆動開発(PHPカンファレンス2014)
Oonishi Keitarou
PDF
behatエクステンションの作り方
Ryo Tomidokoro
PPT
初心者向けPHPソースコード診断
kitoku_magic
PDF
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
PDF
Scrutinizer CIでPHPも静的解析 #phpstudy
Hiraku Nakano
PDF
とある事業の脱レガシー
Hisateru Tanaka
PPTX
LaravelアプリケーションをSeleniumでテストしてみた
Yuta Ohashi
PDF
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Cogapp
PDF
Codeceptionの受け入れテストをマネる
infinite_loop
zend-expressiveを触ってみよう
Yuuki Takezawa
php開発で使うタスクランナー gulp
Yuuki Takezawa
Laravel / Lumen 次の一歩
Yuuki Takezawa
LaravelとMVCの先へ
Yuuki Takezawa
behatで始めるBDD
Tsutomu Chikuba
今更はじめるCucumber
Tomohiro Nishimura
KPTのすすめ
Tomohiro Nishimura
Behat+Symfony2ではじめるBDD超入門
晃 遠山
第4回勉強会 単体テストのすすめ
hakoika-itwg
CakePHP3ウォークスルー
Tomoki Hasegawa
最近の単体テスト
Ken Morishita
ひよこテスト駆動開発(PHPカンファレンス2014)
Oonishi Keitarou
behatエクステンションの作り方
Ryo Tomidokoro
初心者向けPHPソースコード診断
kitoku_magic
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
Scrutinizer CIでPHPも静的解析 #phpstudy
Hiraku Nakano
とある事業の脱レガシー
Hisateru Tanaka
LaravelアプリケーションをSeleniumでテストしてみた
Yuta Ohashi
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Cogapp
Codeceptionの受け入れテストをマネる
infinite_loop
Ad
Similar to phpspecで始めるBDD
(16)
PPTX
Php development efficiency improvement
伸幸 茂木
PDF
Symfony2 Behat/BDD (#Symfony2study 4)
Hidenori Goto
PDF
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
PDF
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
PPTX
PHP基礎勉強会
Yuji Otani
PPTX
DrupalでBDDテストを実施してみる①
iPride Co., Ltd.
KEY
EC-CUBE + PHPUnit で 実践テスト駆動開発
Kentaro Ohkouchi
PPTX
Benkyokai
sueki1242
PDF
PHP Coding in BEAR.Sunday
Akihito Koriyama
PPT
第4部「Tddとペアプロのめざめ」
Hiromu Shioya
PDF
いよいよPHPerもリーンで行こう
Tsutomu Chikuba
PPTX
Rspec勉強会
gaooh
KEY
TDD #NagoyaTesting
kyon mm
PDF
8時間耐久PHPUnitの教室
Yusuke Ando
PDF
Hey It's Not My TDD!
Yasui Tsutomu
PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
Php development efficiency improvement
伸幸 茂木
Symfony2 Behat/BDD (#Symfony2study 4)
Hidenori Goto
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
PHP基礎勉強会
Yuji Otani
DrupalでBDDテストを実施してみる①
iPride Co., Ltd.
EC-CUBE + PHPUnit で 実践テスト駆動開発
Kentaro Ohkouchi
Benkyokai
sueki1242
PHP Coding in BEAR.Sunday
Akihito Koriyama
第4部「Tddとペアプロのめざめ」
Hiromu Shioya
いよいよPHPerもリーンで行こう
Tsutomu Chikuba
Rspec勉強会
gaooh
TDD #NagoyaTesting
kyon mm
8時間耐久PHPUnitの教室
Yusuke Ando
Hey It's Not My TDD!
Yasui Tsutomu
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
phpspecで始めるBDD
1.
phpspecで始める BDD yuuki takezawa
2.
profile • ytake(GitHub), ex_takezawa(twitter) •
java, php, node.js, RDBMS, NoSQL, VoltDB • 初福岡
3.
Laravelエキスパート養成読本4章担当 ご興味がある方は是非お願いします
4.
What is BDD? (Behavior
Driven Development)?
5.
開発のサイクルを 振り返りましょう
6.
小さい範囲での開発
7.
テスト コーディング テストを先に記述し、 実装に着手 テストが成功するまで 最小限のサイクルで開発
8.
より大きな範囲
9.
テスト コーディング 小さい範囲のサイクルは そのままに 設計 設計とリファクタリング 高い品質へ
10.
何のためのサイクルですか?
11.
アジャイルとの関連性も 一つのポイント
12.
技術的卓越性と 優れた設計に対する 不断の注意が 機敏さを高めます
13.
実装コードが正しく動くか? 実装要件を満たすか?
14.
テストとリファクタリングを 繰り返す -> 継続的インテグレーション
15.
ビヘイビア駆動開発とは?
16.
開発スケジュール • データベースライブラリ入れ替え XX日 •
メルマガ発行のため、 Queueの導入と実装 XX日 • といった工数の出し方したことありませんか?
17.
ビジネスの観点で 評価ができるか?
18.
プロジェクトオーナーの存在
19.
情報を伝えるもっとも効率的 で効果的な方法は フェイス・トゥ・フェイスで 話をすることです
20.
ユーザーストーリー
21.
<役割>として <機能>が出来る それは<ビジネスの価値> のためだ
22.
テスト コーディング設計 プロダクトへの理解と品質 要件
23.
ストーリーをサポートする Behat 要求仕様をサポートする PHPSpec
24.
http://www.phpspec.net
25.
"require-dev": { "phpspec/phpspec": "~2.1" },
26.
PHPSpec • オブジェクトの振る舞いを仕様として記述 例). ○を追加したら配列に含まれること •
仕様(spec)を先に書いて実装する • 記述方法は自然言語(英語) => 仕様になる
27.
$ phpspec describe
App/FizzBuzz
28.
phpspec describe • 振る舞いを記述するクラスとして指定 •
実クラスが無くて構いません specファーストの為、対象はphpspecが作成
29.
namespace specApp; use PhpSpecObjectBehavior; use
ProphecyArgument; class FizzBuzzSpec extends ObjectBehavior { function it_is_initializable() { $this->shouldHaveType('AppFizzBuzz'); } }
30.
Specを記述 • スネークケースでit, またはitsから書き始める •
Spec内の$thisは振る舞うオブジェクトを指す • 存在すると仮定するメソッドを記述し、 返却すべき値を記述
31.
function it_return_1_for_1() { $this->transform(1)->shouldReturn(1); } function it_return_2_for_2() { $this->transform(2)->shouldReturn(2); } function
it_should_return_crazy_for_3() { $this->transform(3)->shouldReturn('crazy'); } 期待する返却値を記述
32.
$ phpspec run
33.
phpspec run • テストを実行 •
メソッドがない場合は作成 —fakeオプションで簡単な返却値も生成 • 失敗時のサポート
35.
テスト失敗時 返却すべき値を表示してくれる わかりやすい
36.
よく利用するもの • モック • マッチャー
= assertに相当するもの • コンストラクタの振る舞い • featureファイルのサンプルが付属しています
37.
function let(Message $message) { $this->beConstructedWith($message); } function
it_is_initializable() { $this->shouldHaveType('AppFizzBuzz'); }
38.
function it_should_return_message_for_3( Message $message )
{ $message->getText(3) ->shouldBeCalled()->willReturn(‘message’); $this->transform(3)->shouldReturn('message'); }
39.
まとめ • 仕様書としてもカバー • 最小のサイクルとフェイス・トゥ・フェイス •
包括的なドキュメントよりも 動くソフトウェア • スクラムにも、個人開発にも
Download