Submit Search
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
0 likes
714 views
Tomomi Kajita
1 of 13
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
More Related Content
PDF
テスト駆動開発へようこそ
Shuji Watanabe
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
PDF
Introduction to Continuous Testing
Atsuhiro Kubo
PDF
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
PDF
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
SHIFT Inc.
PDF
テストエンジニアの品格 #automatornight
kyon mm
PDF
Tddのすゝめ
将 高野
PDF
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
テスト駆動開発へようこそ
Shuji Watanabe
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
Introduction to Continuous Testing
Atsuhiro Kubo
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
SHIFT Inc.
テストエンジニアの品格 #automatornight
kyon mm
Tddのすゝめ
将 高野
テストファースト、自動テストを導入するという事について(@社内勉強会)
kyon mm
What's hot
(20)
PPTX
どうやらテスト駆動型開発は死んだようです。これからのCI
Koichiro Sumi
PDF
詳解!自動結合テスト #jasst
kyon mm
PDF
いいテスト会 (スプリントレビュー) をやろう!
虎の穴 開発室
PDF
Kaizen process with test #hackt
kyon mm
PDF
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
PDF
java-ja TDD 2nd
Takuto Wada
PDF
SeasarCon 2009 White TDD
Takuto Wada
PDF
レガシーコードとの付き合い方とテストでの話
H Iseri
PDF
Sta introduction in_kyoto #devkan
kyon mm
PDF
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
KEY
アジャイル開発振り返り
Akira Suenami
PDF
JavaScript Unit Test Why? What? How?
Teppei Sato
PPT
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
PPTX
Android e2e testing at mercari
Vishal Banthia
KEY
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
PDF
ザ・ジェネラリスト #5000dai
kyon mm
PDF
Dev love関西 レガシーコードへの取り組み 20140325
Seiichi Sugahara
PDF
テストエンジニアのおっさんの日常です
ryuji koyama
PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
どうやらテスト駆動型開発は死んだようです。これからのCI
Koichiro Sumi
詳解!自動結合テスト #jasst
kyon mm
いいテスト会 (スプリントレビュー) をやろう!
虎の穴 開発室
Kaizen process with test #hackt
kyon mm
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
java-ja TDD 2nd
Takuto Wada
SeasarCon 2009 White TDD
Takuto Wada
レガシーコードとの付き合い方とテストでの話
H Iseri
Sta introduction in_kyoto #devkan
kyon mm
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
アジャイル開発振り返り
Akira Suenami
JavaScript Unit Test Why? What? How?
Teppei Sato
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
Android e2e testing at mercari
Vishal Banthia
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
ザ・ジェネラリスト #5000dai
kyon mm
Dev love関西 レガシーコードへの取り組み 20140325
Seiichi Sugahara
テストエンジニアのおっさんの日常です
ryuji koyama
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
Ad
Similar to TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
(20)
PDF
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
PPTX
TDDをやってみた
Yuta Kawadai
PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
Hideki Sugimoto
PDF
Hey It's Not My TDD!
Yasui Tsutomu
PDF
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
KEY
テストコードのリファクタリング
Shuji Watanabe
PDF
TDDを研ぎ究める
pocketberserker
PDF
テスト駆動開発入門 - C4K Meetup#2
Masashi Shibata
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
PPTX
FlexUnit4でテスト駆動開発
theworldinunion
PDF
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
PDF
TDD を自分の道具にしよう
yujiorama
PDF
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
PDF
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
PDF
テストを分類してみよう!
Kenji Okumura
PPT
wankuma #28
高見 知英
KEY
テストとの上手な付き合い方
Akira Suenami
PDF
2014/3/30 ミニTDDBC presented by yokhama.devtesting
Hiroyuki Ohnaka
KEY
TDD #NagoyaTesting
kyon mm
PDF
Emergent Design - ObLove 2009 summer
Takuto Wada
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
TDDをやってみた
Yuta Kawadai
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
Hideki Sugimoto
Hey It's Not My TDD!
Yasui Tsutomu
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
テストコードのリファクタリング
Shuji Watanabe
TDDを研ぎ究める
pocketberserker
テスト駆動開発入門 - C4K Meetup#2
Masashi Shibata
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
FlexUnit4でテスト駆動開発
theworldinunion
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
terahide
TDD を自分の道具にしよう
yujiorama
テスト観点に基づくテスト開発方法論VSTePの概要
Yasuharu Nishi
テスト 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第33回】
Tomoharu ASAMI
テストを分類してみよう!
Kenji Okumura
wankuma #28
高見 知英
テストとの上手な付き合い方
Akira Suenami
2014/3/30 ミニTDDBC presented by yokhama.devtesting
Hiroyuki Ohnaka
TDD #NagoyaTesting
kyon mm
Emergent Design - ObLove 2009 summer
Takuto Wada
Ad
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
1.
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
NECビッグローブ 梶田 朋己 (@kajip)
2.
自己紹介 • NECビッグローブ サービス開発本部
サービスラボG 所属 • 2年前まで WebLogic Server のサポートしてました • プログラム経験、ちょうど1年ぐらい • 趣味は、車、写真、水上バイク etc. • 愛車は、アルファロメオ GTV(1998年式) • 最近好きな言葉:人を燃やさなあかん! Copyright(C) NEC BIGLOBE, Ltd. 2011
3.
プロローグ 開発は、TDD(テスト駆動開発)でやる よ! はぁ?TDDって何!?
すべてはここからはじまりました。 Copyright(C) NEC BIGLOBE, Ltd. 2011
4.
テスト駆動開発って何? • プロダクトコードを書き出す前に、これから作るプロダクトコー
ドを評価するためのテストを作成する • テストコードが通るように、プロダクトコードを作っていく • 必要な機能を一度に全て実装するのではなく、簡単なところ から1Stepづつ作っていく 椋本 彦之 詳しくは、「テスト駆動開発入門」(ケントベック著)を読んだり、 各地で開催されているTDD勉強会に参加すると良いです。 むしろ、そっちで聞いた方が良いです。 Copyright(C) NEC BIGLOBE, Ltd. 2011
5.
現状 • 開発は、ZendFramework を使ってます。 •
PHPUnit & eclipse plugin の MakeGood を使ってます。 • テストコードは、プロダクトコードの概ね2倍ぐらいのライン数 になってます。 • これまで、TDDを進めていく上ではまったことを紹介していき ます。 Copyright(C) NEC BIGLOBE, Ltd. 2011
6.
テストメソッドが増えすぎ パラメータが一つ違うだけでも、新たにテストメソッドを作成する 症状 •テスト項目の追加、変更の手間がひどい
•メソッド名が思いつかない(自分のボキャ貧ぶりにモチベーションが低下) 処方 DataProvider を利用する • メソッド数が激減(20 ⇒ 2) • テストコードのメンテナンス性が向上 *DataProvider:テストコードと テストで利用するデータを分離して実装する機能 Copyright(C) NEC BIGLOBE, Ltd. 2011
7.
テストの実行速度が遅い DatabaseTestCase を利用する 症状
• テスト項目が増えると遅くなる • Read処理しかしていないのに、DBの初期化が実行される 処方 DatabaseTestCase を使わない ⇒ ダミーのテストケースを作り、その中で DBを初期化 ⇒ 更新系のテストを実行するときは、都度DBを初期化 • テストの実行速度の改善 Copyright(C) NEC BIGLOBE, Ltd. 2011
8.
Twitterさんの機嫌に振り回される 外部サービスを呼び出すメソッドをそのまま呼び出している 症状 • テストがTwitterと運命共同体に。。。 処方
Mock を使う。 • 外部通信が発生しないので、Twitterの機嫌に影響されなくなる ⇒ 利用するFWによっては、Mockの埋め込み方が課題になること も。。。 Copyright(C) NEC BIGLOBE, Ltd. 2011
9.
テスト書くのがめんどくせぇ FW固有機能(CVMのコントローラ系統など)で通常の方法でテス トコードが書けない 症状 • テストコード作成が後回し
• そのまま、テストコードを作り忘れることも…。 処方 テストケースのテンプレート作成 FWが用意したテストユーティリティを活用 ⇒ まだまだ、検討の余地がある Copyright(C) NEC BIGLOBE, Ltd. 2011
10.
やってみてよかったこと • プロダクトの品質にそれなりに自身が持てる
プロダクトの品質にそれなりに自身が 品質にそれなりに自身 • ちょっとしたバグ、デグレードが早い段階で検出できる ちょっとしたバグ、デグレードが早 段階で検出できる • リファクタリングしようという気にさせる リファクタリングしようという気 Copyright(C) NEC BIGLOBE, Ltd. 2011
11.
これからの課題 • テストをどこまで書けば良いのか。
テストをどこまで書けば良いのか。 厳密に作りすぎると壊れやすいテストになって死ぬ。死 死ぬよね~。 WF(ウォータフォール)のUT感覚でTDDのテストを書くと死ぬよね~。 • テストコードの品質をどう担保すれば良いのか。 テストコードの品質をどう担保すれば良いのか。 品質をどう担保すれば テストコードがバグって死ぬ。 死 • テストし易いクラス、メソッドの構造を設計しているか。 テストコードを後回しにするとテストを書くときに死ぬ。 死 • テストデータをどう作りこむか。 作り込み過ぎるとテストが壊れやすくなり死ぬ。 死 適当すぎるとリファクタリングの際、信用できなくなり死ぬ。 Copyright(C) NEC BIGLOBE, Ltd. 2011 死
12.
まとめ • まずは、ツールの基本的な使い方をマスターしよう • プロダクトコードのテストを書くのではなく、これから作るプロ
ダクトコードの設計をテストコードに書く ⇒ このことにようやく気づいてきました。 TDDについて知りたければ、 「テスト駆動開発入門」(ケントベック著)を読んだり、各地で開催されている TDD勉強会に参加すると良いです。 むしろ、そっちで聞いた方が良いです。 Copyright(C) NEC BIGLOBE, Ltd. 2011
13.
最後に ご清聴ありがとうございました。 Copyright(C)
NEC BIGLOBE, Ltd. 2011
Download