Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

TDDのこれまで、そしてこれから Slide 1 TDDのこれまで、そしてこれから Slide 2 TDDのこれまで、そしてこれから Slide 3 TDDのこれまで、そしてこれから Slide 4 TDDのこれまで、そしてこれから Slide 5 TDDのこれまで、そしてこれから Slide 6 TDDのこれまで、そしてこれから Slide 7 TDDのこれまで、そしてこれから Slide 8 TDDのこれまで、そしてこれから Slide 9 TDDのこれまで、そしてこれから Slide 10 TDDのこれまで、そしてこれから Slide 11 TDDのこれまで、そしてこれから Slide 12 TDDのこれまで、そしてこれから Slide 13 TDDのこれまで、そしてこれから Slide 14 TDDのこれまで、そしてこれから Slide 15 TDDのこれまで、そしてこれから Slide 16 TDDのこれまで、そしてこれから Slide 17 TDDのこれまで、そしてこれから Slide 18 TDDのこれまで、そしてこれから Slide 19 TDDのこれまで、そしてこれから Slide 20 TDDのこれまで、そしてこれから Slide 21 TDDのこれまで、そしてこれから Slide 22 TDDのこれまで、そしてこれから Slide 23 TDDのこれまで、そしてこれから Slide 24 TDDのこれまで、そしてこれから Slide 25 TDDのこれまで、そしてこれから Slide 26 TDDのこれまで、そしてこれから Slide 27 TDDのこれまで、そしてこれから Slide 28 TDDのこれまで、そしてこれから Slide 29 TDDのこれまで、そしてこれから Slide 30 TDDのこれまで、そしてこれから Slide 31 TDDのこれまで、そしてこれから Slide 32 TDDのこれまで、そしてこれから Slide 33 TDDのこれまで、そしてこれから Slide 34 TDDのこれまで、そしてこれから Slide 35 TDDのこれまで、そしてこれから Slide 36 TDDのこれまで、そしてこれから Slide 37 TDDのこれまで、そしてこれから Slide 38 TDDのこれまで、そしてこれから Slide 39 TDDのこれまで、そしてこれから Slide 40 TDDのこれまで、そしてこれから Slide 41 TDDのこれまで、そしてこれから Slide 42 TDDのこれまで、そしてこれから Slide 43 TDDのこれまで、そしてこれから Slide 44 TDDのこれまで、そしてこれから Slide 45 TDDのこれまで、そしてこれから Slide 46 TDDのこれまで、そしてこれから Slide 47 TDDのこれまで、そしてこれから Slide 48 TDDのこれまで、そしてこれから Slide 49 TDDのこれまで、そしてこれから Slide 50
Upcoming SlideShare
実録Blue-Green Deployment導入記
Next
Download to read offline and view in fullscreen.

10 Likes

Share

Download to read offline

TDDのこれまで、そしてこれから

Download to read offline

2016/9/24 XP祭り2016

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

TDDのこれまで、そしてこれから

  1. 1. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDDのこれまで、そしてこ れから 2016/9/24 XP祭り2016 大中浩行
  2. 2. #ccc_r11 Copyright 2016 Hiroyuki Onaka テスト駆動開発(Test Driven Development) TDDとは? Generated by 社畜ちゃん台詞メーカー http://blog.oukasoft.com/OS/
  3. 3. #ccc_r11 Copyright 2016 Hiroyuki Onaka By National Photo Company [Public domain], via Wikimedia Commons https://en.wikipedia.org/wiki/Bulletproof_vest テストファーストしたら?
  4. 4. #ccc_r11 Copyright 2016 Hiroyuki Onaka ? By NASA [Public domain], via Wikimedia Commons https://en.wikipedia.org/wiki/Self-replicating_machine テストが自動化されたら?
  5. 5. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDDとは
  6. 6. #ccc_r11 Copyright 2016 Hiroyuki Onaka By Improve It (Flickr: Kent Beck no Workshop Mapping XP.) [CC BY-SA 2.0 (http://creativecommons.org/licenses/by-sa/2.0)], via Wikimedia Commons https://en.wikipedia.org/wiki/Kent_Beck Kent Beck
  7. 7. #ccc_r11 Copyright 2016 Hiroyuki Onaka ※絶版 TDDとは
  8. 8. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「テスト駆動開発入門」にTDDの定義って書い てないんですよね...
  9. 9. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDDは何をする、というのは書いてある 1.素早くテストを追加する。 2.すべてのテストを実行し、新しいテストの失敗を確 認する。 3.小さな修正を行う。 4.すべてのテストを実行し、すべての成功を確認する。 5.重複を取り除くためにリファクタリングを行う。 ケント・ベック(著)長瀬嘉秀(訳)「テスト駆動開発入門」
  10. 10. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「実践テスト駆動開発」では テスト駆動開発(TDD:Test-Driven Development)の考え方は、一見簡単そうに思 える。すまわち、コードを書く前にテストを書 け、というだけだからだ。 Steve Freeman Nat Pryce(著) 和智右桂 髙木正弘(訳) 「実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる」
  11. 11. #ccc_r11 Copyright 2016 Hiroyuki Onaka とはいうものの、「テストを先に書く」という のは、TDDだけに見られるものではない
  12. 12. #ccc_r11 Copyright 2016 Hiroyuki Onaka Shift left Testing By DonFiresmith (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons https://en.wikipedia.org/wiki/Shift_left_testing
  13. 13. #ccc_r11 Copyright 2016 Hiroyuki Onaka Test Early and Often https://msdn.microsoft.com/library/ee330950.aspx
  14. 14. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDDとは 「TDDとは、プログラミングとテストすること を工程として統合した開発スタイルです。」 - @setoazusa
  15. 15. #ccc_r11 Copyright 2016 Hiroyuki Onaka ただ、プログラマーとして手札は多いほうがよ いので、スキルとしてテストファーストできる にこしたことはないです。
  16. 16. #ccc_r11 Copyright 2016 Hiroyuki Onaka 今日のお題 • TDDとは • なぜTDDするのか • なぜTDDするのか(もう一回) • どうテストするか
  17. 17. #ccc_r11 Copyright 2016 Hiroyuki Onaka なぜTDDする のか
  18. 18. #ccc_r11 Copyright 2016 Hiroyuki Onaka 最初に答えをいいます 「継続的インテグレーションをもたらすための 核心である素早いフィードバックは、ユニット テストのカバレッジが十分にないと可能になら ないのだ」 Jez Humble,David Farley(著) 和智右桂(訳) 「継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化」
  19. 19. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「エラーが自動的に増殖するのがDevOps」 https://twitter.com/devops_borat/status/41587168870797312
  20. 20. #ccc_r11 Copyright 2016 Hiroyuki Onaka サービス開発は、開発者だけで行うものではない • プロダクトオーナー • QAエンジニア • インフラエンジニア • 運用エンジニア(SRE) • リモート開発(オフショア/ニアショア) • etc…
  21. 21. #ccc_r11 Copyright 2016 Hiroyuki Onaka DevOpsの各種プラクティス • いずれも、プロダクトの品質が安定している ことが前提条件 • A/Bテスト • オートスケール • カナリヤテスト / ダークカナリヤ • Blue-Green Deployment
  22. 22. #ccc_r11 Copyright 2016 Hiroyuki Onaka • 安定したプロダクトの品質が、チーム相互の 信頼をもたらす。 • 継続的インテグレーション(CI)を軸としたデ リバリーのワークフローの確立のために、自 動化されたテストが足場として必要。
  23. 23. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「安全性を前提条件に」 http://www.slideshare.net/imagire/ss-64457130 出典:https://www.industriallogic.com/blog/modern-agile/
  24. 24. #ccc_r11 Copyright 2016 Hiroyuki Onaka なぜTDDする のか(もう一回)
  25. 25. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDD is dead. http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live-testing.html
  26. 26. #ccc_r11 Copyright 2016 Hiroyuki Onaka テストなんて書かなくて良い? http://mosa-siru.hatenablog.com/entry/2016/03/06/173930
  27. 27. #ccc_r11 Copyright 2016 Hiroyuki Onaka …タイトルで釣るのはいけないと思います! (目をそらしながら)
  28. 28. #ccc_r11 Copyright 2016 Hiroyuki Onaka 迅速なサービス開発にテストは必要ないのか? …その前に、ちょっと寄り道をします。
  29. 29. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「日本で世界最先端のDevOpsチームに追いつき追い越す方法」 https://docs.com/ushio-tsuyoshi/6313
  30. 30. #ccc_r11 Copyright 2016 Hiroyuki Onaka
  31. 31. #ccc_r11 Copyright 2016 Hiroyuki Onaka ソフトウェア業 インターネット付随サービス業 総務省「ICTの経済分析に関する調査報告書」から作成 http://www.soumu.go.jp/johotsusintokei/link/link03_03.html
  32. 32. #ccc_r11 Copyright 2016 Hiroyuki Onaka • 「赤字サービスは付加価値を生んだことにな らない」から • 速く作ればいいというものではない • 生み出したプロダクトの総量 != 生産性
  33. 33. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「ビジネスに貢献するテストであるべきだ!」 https://www.flickr.com/photos/cognizant-worldwide/19037152723
  34. 34. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「ビジネスゴールは計測可能であるべきだ!」 DocChewbacca https://www.flickr.com/photos/st3f4n/2865510059/
  35. 35. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「そしてそれは金である!」 Tracy O https://www.flickr.com/photos/tracy_olson/61056391
  36. 36. #ccc_r11 Copyright 2016 Hiroyuki Onaka …と、「BDD in Action」 ではおっしゃるわけです が…
  37. 37. #ccc_r11 Copyright 2016 Hiroyuki Onaka やはりポイントは「価値」 …価値とは?
  38. 38. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「ソフトウェア品質知識体系ガイド」では 「すなわち、品質とは顧客が認識した価値に対 する顧客の評価である。」 SQuBOK 策定部会(編) ソフトウェア品質知識体系ガイド(第2版)-SQuBOK® Guide V2-
  39. 39. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「価値をテストする」 John Ferguson Smart 「BDD in Action Behavior-Driven Development for the whole software lifecycle」
  40. 40. #ccc_r11 Copyright 2016 Hiroyuki Onaka • コンポーネントのテスト • シナリオのテスト • メトリクスの計測 が相互に連携している状態があるべき姿。
  41. 41. #ccc_r11 Copyright 2016 Hiroyuki Onaka どうテストす るか
  42. 42. #ccc_r11 Copyright 2016 Hiroyuki Onaka 最近よく聞く話 • ユニットテスト • 「このコンポーネントのテストモックだらけでわ かりづらいんですけど…」 • エンドツーエンドのテスト • 「テストケースが増えてきてメンテナンスがつら いです…」
  43. 43. #ccc_r11 Copyright 2016 Hiroyuki Onaka • AWS上でのサービス構築に代表されるように、 テストを書くときに依存するサービス/ミド ルウェアが増えた • マイクロサービスアーキテクチャーがその流 れを加速
  44. 44. #ccc_r11 Copyright 2016 Hiroyuki Onaka それにも拘わらず、テストをはじめとして開発 の方法論がいわゆる三層アーキテクチャーに最 適化されすぎているが故の問題
  45. 45. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「テスト自動化ピラミッド」 Mike Cohn 「Suceeding with agile」
  46. 46. #ccc_r11 Copyright 2016 Hiroyuki Onaka 「テスト自動化ピラミッド」 • 「マイクロサービスアーキテクチャ」で取り 上げられる • エンドツーエンドのテストとユニットテスト の間に、UIをバイパスしてサービスをテスト する層を挟む
  47. 47. #ccc_r11 Copyright 2016 Hiroyuki Onaka まとめ
  48. 48. #ccc_r11 Copyright 2016 Hiroyuki Onaka TDDは死んだ? • 単独の開発プラクティスが開発プロセス全体 を駆動する時代の終焉 • プログラミング、テスト、デリバリーなどの プラクティスを総合して価値あるソフトウェ アをデリバリーする時代へ
  49. 49. #ccc_r11 Copyright 2016 Hiroyuki Onaka • その中で、ユニットテストをすること、テス トファーストすることは、変わらず重要であ り続けます。 • なので、安心してテストを書いてください。
  50. 50. #ccc_r11 Copyright 2016 Hiroyuki Onaka ありがとうございました! • 大中浩行(Onaka,Hiroyuki) • @setoazusa • グロースエクスパートナーズ株式会社 アーキテクチャソリューション部 テクニカルリード • http://blog.fieldnotes.jp/
  • dzeyelid

    Sep. 27, 2016
  • eno_eno

    Sep. 26, 2016
  • Jonersan

    Sep. 26, 2016
  • kazuyukitamura526

    Sep. 26, 2016
  • toshiyukimanabe5

    Sep. 26, 2016
  • KoseiTakahashi

    Sep. 25, 2016
  • fullvirtue

    Sep. 25, 2016
  • irof

    Sep. 25, 2016
  • machupicchubeta

    Sep. 24, 2016
  • yutanatsume5

    Sep. 24, 2016

2016/9/24 XP祭り2016

Views

Total views

3,282

On Slideshare

0

From embeds

0

Number of embeds

790

Actions

Downloads

19

Shares

0

Comments

0

Likes

10

×