Your SlideShare is downloading. ×
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
テスト駆動開発を継続する
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

テスト駆動開発を継続する

8,656

Published on

2013年はじめのTDD Boot Camp in 大阪 外伝 の資料です。 …

2013年はじめのTDD Boot Camp in 大阪 外伝 の資料です。
http://kokucheese.com/event/index/64957/

1 Comment
47 Likes
Statistics
Notes
No Downloads
Views
Total Views
8,656
On Slideshare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
31
Comments
1
Likes
47
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. テスト駆動開発を 継 るす続 2013/1/13TDDBC Osaka 2013 1月 外伝 @irof
  • 2. よく言われること「動いているコードに触ってはいけない」 変更し辛いのはテストの コストが高いからだ!
  • 3. テストがないコードは レガシーコードだ!レガシーコードとの戦いは苛烈を極める
  • 4. 自動テストがあれば?
  • 5. 自動テストがあれば、いくらでも自由に変更出来る!
  • 6. ……本当に?
  • 7. 少し考える自動テストがあったら自由に変更できる?なんか直感に反する。
  • 8. 少し考えるテストってなんだろう?
  • 9. 少し考えるテストってなんだろう?テストの価値って?
  • 10. 少し考えるテストってなんだろう?テストの価値って?テストが最も輝く瞬間っていつだろう?
  • 11. テストの価値は 失敗にある
  • 12. 無傷のテスト一度も失敗したことがないテストそんなテストに価値はない (言い過ぎ←弱気)
  • 13. 使ったことのない道具をいざと言う時に使えるか?
  • 14. 使ったことのない道具をいざと言う時に使えるか? 否
  • 15. 幕間
  • 16. 知らないコードのメンテをすることになった俺達は……
  • 17. こんな状況TDDで開発されたコード
  • 18. こんな状況TDDで開発されたコード既に実装済みのところが変更になった
  • 19. こんな状況TDDで開発されたコード既に実装済みのところが変更になったテストコードがあるから大丈夫!
  • 20. 新規開発じゃない時のTDD
  • 21. やったことのないことにはあたりまえで対抗する
  • 22. あたりまえのこと
  • 23. TDDのあたりまえやりたいことをテストで表現テストを通す最小限の実装テストを維持しつつリファクタリング
  • 24. 仕様変更でもあたりまえに変えたいことをテストで表現テストを通す最小限の変更テストを維持しつつリファクタリング
  • 25. でもテストがあるのでまずテストを通す変えたいことをテストで表現テストを通す最小限の変更テストを維持しつつリファクタリング
  • 26. 不安なら確かめるまずテストを通す次にテストを確かめる変えたいことをテストで表現テストを通す最小限の変更テストを維持しつつリファクタリング
  • 27. 確かめたいことおかしなことをしたら止めてくれるか?
  • 28. テストの価値は 失敗にある
  • 29. 有益な失敗をさせる失敗したときのふるまいを観察する。「このメッセージで何したら良いかわかるか?」を問う。
  • 30. テストを失敗させる「こうなったら失敗するはず」 バグを埋め込む ミューテーションテスト
  • 31. 見ときたいこと失敗してくれる?失敗する量は最少?失敗した内容がわかる?
  • 32. レガシーコード乙失敗しない失敗する量は最少?失敗した内容がわかる?
  • 33. 脆いの失敗してくれる?たくさん失敗する失敗した内容がわかる?
  • 34. きついの失敗してくれる?失敗する量は最少?失敗が意味不明
  • 35. たくさん失敗する複数のテストで同じことを確認しちゃってる。一つのテストで複数のことを確認しちゃってる。
  • 36. ついで症候群
  • 37. ついで症候群「このときってこうだよね?」 自分のわかっていることを全て書い てしまったりする。名前で表現できないことはassertしない。
  • 38. 失敗が意味不明
  • 39. 失敗が意味不明なんで落ちたかわかんない 謎の依存関係があったとか?でも「落ちた」だけじゃね……
  • 40. テストにして欲しいこと失敗してくれる失敗する量は最少失敗した内容がわかる
  • 41. テストの価値は 失敗にある
  • 42. 幕間
  • 43. あたりまえのこと①
  • 44. テストは落ちるもの
  • 45. なんかよく見るの「テストが失敗した!」 誰がした 何をした どうしてした 次しないためには
  • 46. なんかよく見るの「テストが失敗した!」 誰がした テスト失敗が 何をした 大イベント どうしてした 次しないためには
  • 47. 背景バグを直すのには凄い労力が必要 原因の特定 影響範囲を調査 コードの修正 テストの実施 などなど……
  • 48. 大変だから「失敗しない」ようにしよう!
  • 49. ちゃうねん……。
  • 50. テストの価値は 失敗にある
  • 51. テストは落ちるもの だから失敗をあたりまえに扱う
  • 52. あたりまえのこと②
  • 53. 他人の書いたテスト はわかりづらい
  • 54. 自分の書いたテスト もわかりづらい
  • 55. 過去に書いたテスト はわかりづらい
  • 56. 「わかりづらい」で止まるのは、「コードの変更」が特別行事になってるだからあまりやらないだから失敗するだからやれない
  • 57. コードの変更が特別行事だから、「わかりづらい」を特別なことにしようとする
  • 58. テストはわかり辛い だからあたりまえに変更する
  • 59. 幕間
  • 60. あたりまえのことはあたりまえにするとくべつなことをあたりまえにする自信を持ってできるのはいつもやってること
  • 61. 変更を躊躇うのは特別行事だからもしあたりまえのことなら躊躇いの枷は外せる(かも)だから「あたりまえ」にする
  • 62. あたりまえのはなし
  • 63. 特別なことをしないテストが落ちるのもテストが読みにくいのもテストが変わるのも全部あたりまえのこと
  • 64. 特別なことと思ってしまうと失敗する特別なことには特別な対応をしがち特別な対応には特別な不具合が紛れ込みやすい
  • 65. あたりまえにする
  • 66. 緊急時の規律平時にTDDの規律を守り、緊急時にそれを守らないとすれば、TDDの効果を 心から信じていないと言うことだ。 信じられないなら、自信もクソもない。
  • 67. 普段から失敗させて普段から失敗に対処する信じるために成功を積む失敗に対処することで学べるものは多い
  • 68. テストの価値は 失敗にある
  • 69. 失敗をあたりまえに扱おう
  • 70. おしまい

×