Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testing is not the goal (Japanese Edition)

nihonbuson
November 11, 2020

Testing is not the goal (Japanese Edition)

Agile Testing Days 2020での講演「Testing is not the goal」を、講演者本人の許可を得て日本語訳しました。

講演者: robmeaney ( https://twitter.com/robmeaney )
Agile Testing Days: https://agiletestingdays.com/

nihonbuson

November 11, 2020
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. ೔ຊޠ൛(Japanese Edition)

    View full-size slide

  2. Head of Test, Glofox
    @robmeaney
    Testing is not
    the goal!
    (೔ຊޠ༁:@nihonbuson)

    View full-size slide

  3. ιϑτ΢ΣΞͷ
    ߏ૝ͷ66%͸
    ϓϥεͷӨڹΛ
    ༩͑·ͤΜʂ
    *Online Experimentation at Microsoft by Kohavi @robmeaney

    View full-size slide

  4. @robmeaney
    ֶश
    ෆ࣮֬ੑͷ
    Ϛωʔδϝϯτ

    View full-size slide

  5. @robmeaney
    ֶश
    ෳࡶੑͷ
    Ϛωʔδϝϯτ
    ҆શʹ
    దԠ͢Δ
    ෆ࣮֬ੑͷ
    Ϛωʔδϝϯτ

    View full-size slide

  6. ߏங͢Δద੾ͳ΋ͷΛֶͼɺ
    ͦͷޙʹద੾ͳ΋ͷΛߏங͢ΔͨΊͷ
    ΑΓྑ͍ํ๏Λֶͼ·͢
    @robmeaney

    View full-size slide

  7. ෳࡶ͞ΛϚωʔδϝϯτ͠΍͘͢
    ͢ΔͨΊͷγεςϜͷઃܭ
    @robmeaney

    View full-size slide

  8. εϐʔυͱ҆શੑΛ࣮ݱ͢ΔͨΊͷ
    ֶशͷ෢ث@Scale
    @robmeaney

    View full-size slide

  9. @robmeaney
    ෳࡶ͞ͷ
    Ϛωʔδϝϯτʹ
    ࣦഊͨ͠৔߹ͷ
    ٘ਜ਼ऀ͸୭Ͱ͔͢ʁ
    @robmeaney

    View full-size slide

  10. Ϣʔβʔͱ
    ιϑτ΢ΣΞγεςϜΛ
    ߏங΍ӡ༻͢Δਓʑͷ྆ํʹͱͬͯɺ
    ιϑτ΢ΣΞͷো֐ʹ͸ɺ
    ܦࡁత΍ਓతίετ͕͔͔Γ·͢ɻ
    @robmeaney
    @robmeaney

    View full-size slide

  11. ͢΂͕ͯͭͳ͕Γɺ
    มԽ͕ܧଓ͠ɺ
    ࣦഊ͕յ໓తͳ΋ͷʹ
    ͳΔՄೳੑ͕͋Δɺ
    ·͢·͢ෳࡶԽ͢Δੈք
    Ͱࢲͨͪ͸ಇ͍͍ͯ·͢ɻ
    @robmeaney
    @robmeaney

    View full-size slide

  12. @robmeaney
    ݹ͍ΞΠσΞΛ
    Ұ୴ࣺͯڈΓ
    (Unlearn)ɺ
    ৽͍͠ݱ࣮Λ
    ड͚ೖΕΔ
    @robmeaney

    View full-size slide

  13. @robmeaney
    Deployment͸
    ऴΘΓ
    Ͱ͸ͳ͘
    ࢝·Γ
    @robmeaney

    View full-size slide

  14. @robmeaney
    ςετ͸
    ݱ࣮Ͱ͸ͳ͍
    @robmeaney

    View full-size slide

  15. @robmeaney
    ࣦഊ͸
    ආ͚ΒΕͳ͍
    @robmeaney

    View full-size slide

  16. @robmeaney
    ༧๷ɺݕग़ɺ
    ܰݮɺճ෮ͷ
    όϥϯεΛͱΔ
    @robmeaney
    @robmeaney

    View full-size slide

  17. @robmeaney
    @robmeaney
    Testability
    ʢςετ༰қੑʣ
    ͱ
    Operability
    ʢӡ༻ੑʣ
    ͷͨΊͷઃܭ
    @robmeaney

    View full-size slide

  18. @robmeaney
    ෳࡶͳੈքͰͷϦεΫΛ؅ཧ͢Δ
    @robmeaney
    ༧ଌͰ͖Δ
    ϦεΫ
    ༧ଌͰ͖ͳ͍
    ݱ࣮

    View full-size slide

  19. @robmeaney
    @robmeaney

    View full-size slide

  20. @robmeaney
    @robmeaney
    Testability
    ʢςετ༰қੑʣ
    Operability
    ʢӡ༻ੑʣ
    Observability
    ʢՄ؍ଌੑʣ
    ܦݧΛఆٛ͢Δ3ஈ֊ͷܦ࿏

    View full-size slide

  21. @robmeaney
    @robmeaney
    Software
    Testability
    (ςετ༰қੑ)

    View full-size slide

  22. ͜ͷιϑτ΢ΣΞ
    ͷςετΛ
    ؆୯ʹ͢Δʹ͸
    Ͳ͏͢Ε͹
    Α͍Ͱ͔͢ʁ
    @robmeaney

    View full-size slide

  23. Controllability
    ɹʢ੍ޚੑʣ
    Observability
    ɹʢՄ؍ଌੑʣ
    Decomposability
    ɹʢ෼ղੑʣ
    Simplicity
    ɹʢ୯७ੑʣ @robmeaney

    View full-size slide

  24. Controllability(੍ޚੑ):
    ͦΕͧΕॏཁͳঢ়ଶʹ
    ΞΫηε͢ΔͨΊʹɺ
    γεςϜͷ;Δ·͍ʹ
    Өڹ͢Δม਺Λ
    ࣝผ΍੍ޚ͢Δೳྗ
    @robmeaney

    View full-size slide

  25. Observability
    (Մ؍ଌੑ):
    γεςϜͰى͜Δ
    ॏཁͳ͜ͱ͢΂ͯΛ
    ؍࡯͠ཧղ͢Δೳྗ
    @robmeaney

    View full-size slide

  26. Decomposability
    (෼ղੑ):
    γεςϜΛಠཱͯ͠
    ςετՄೳͳ
    ίϯϙʔωϯτʹ
    ෼ղ͢Δೳྗ
    @robmeaney

    View full-size slide

  27. Simplicity(୯७ੑ):
    γεςϜΛ
    ؆୯ʹཧղ͢Δೳྗ
    @robmeaney

    View full-size slide

  28. ςετ༰қੑ
    ͷຐ๏͕
    ݟ͑࢝Ί
    ·ͨ͠
    @robmeaney

    View full-size slide

  29. @robmeaney
    *Explore It! by Elisabeth Hendrickson @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ςετ

    View full-size slide

  30. @robmeaney
    ࢲ͕ͨͪ৴͍ͯ͡Δ͜ͱ
    ʢط஌ʣΛ֬ೝ͠ɺ
    ظ଴Ͳ͓Γʹಈ࡞͠·͔͢ʁ
    *Explore It! by Elisabeth Hendrickson @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ςετ

    View full-size slide

  31. ༧ظ͠ͳ͍ϦεΫʢෆ໌ʣΛ໌Β͔ʹ্ͨ͠Ͱɺ
    ༧ଌ͍ͯ͠ͳ͔ͬͨ໰୊͸͋Γ·͔͢ʁ
    @robmeaney
    *Explore It! by Elisabeth Hendrickson
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ςετ

    View full-size slide

  32. @robmeaney
    @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ςετ
    ࣗಈԽ༰қੑ ୳ࡧ༰қੑ ςετ༰қੑ

    View full-size slide

  33. Explorability(୳ࡧ༰қੑ):
    ࢲͨͪͷԾઆΛ܁Γฦ͠
    ಛఆ͠ɺςετ͠ɺ௅ઓ͢Δ͜ͱʹΑͬͯɺ
    ͳ͡Έͷͳ͍ঢ়گͰ
    ਝ଎ɺ҆Ձɺ҆શʹֶश͢Δೳྗ
    @robmeaney
    @robmeaney

    View full-size slide

  34. ୳ࡧ༰қੑ͸ɺ
    ߴ଎Ͱ҆ՁͳϑΣΠϧηʔϑ࣮ݧΛ
    ؆୯ʹ࣮ߦͰ͖Δ͜ͱͰ͢ɻ
    @robmeaney
    @robmeaney

    View full-size slide

  35. ෆ࣮֬ੑͱෳࡶੑͷ؅ཧ
    @robmeaney
    ਐలͨ͠ঢ়گ
    ֎෦৘ใ
    ల։͞Εͨ
    ؀ڥͱͷ
    ૬ޓ࡞༻
    ҉໧ͷ
    ༠ಋͱ౷੍
    ؍࡯
    ؍࡯ ৘੎΁ͷదԠ ҙࢥܾఆ ߦಈ
    ҉໧ͷ
    ༠ಋͱ౷੍
    ܾఆ
    ʢԾઆʣ
    ߦಈ
    (ςετ)
    ల։͞Εͨ
    ؀ڥͱͷ
    ૬ޓ࡞༻
    ϑΟʔυόοΫ
    ϑΟʔυόοΫ
    ϑΟʔυόοΫ
    จԽత
    దԠ
    จԽͱ
    ౷߹
    Ҏલͷ
    ܦݧ
    ৽ͨͳ
    ৘ใ
    Ҩ఻త
    Ҩ࢈
    ϑΟʔυ
    ϑΥϫʔυ
    ϑΟʔυ
    ϑΥϫʔυ
    ϑΟʔυ
    ϑΥϫʔυ

    View full-size slide

  36. @robmeaney
    खಈνΣοΫɺ
    FlakyͳࣗಈԽɺ
    ୳ࡧͳ͠ @robmeaney
    ௿͍ςετ༰қੑ
    Low Testability
    ߴ͍ࣗಈԽ༰қੑ
    High Automatability
    ߴ͍ςετ༰қੑ
    High Testability
    ༧ظ͠ͳ͍
    ;Δ·͍ͷཧղ
    ظ଴͞ΕΔ
    ;Δ·͍ͷཧղ
    ໰୊͕ݕग़͞Εͳ͍ ߦಈͷมԽΛݕग़͢Δ
    ༧ظ͠ͳ͍ϦεΫΛ
    ໌Β͔ʹ͢Δ
    ໰୊Λૉૣ͘
    ݕग़͢Δ
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  37. @robmeaney
    ݎ࿚ͳࣗಈԽɺ
    แׅతͳΧόϨοδɺ
    ਝ଎ͳϑΟʔυόοΫ
    @robmeaney
    ༧ظ͠ͳ͍
    ;Δ·͍ͷཧղ
    ظ଴͞ΕΔ
    ;Δ·͍ͷཧղ
    ໰୊͕ݕग़͞Εͳ͍ ߦಈͷมԽΛݕग़͢Δ
    ༧ظ͠ͳ͍ϦεΫΛ
    ໌Β͔ʹ͢Δ
    ໰୊Λૉૣ͘
    ݕग़͢Δ
    ௿͍ςετ༰қੑ
    Low Testability
    ߴ͍ࣗಈԽ༰қੑ
    High Automatability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  38. @robmeaney
    ະ஌ͷ΋ͷΛ୳ࡧ͢Δɺ
    ϦεΫΛ໌Β͔ʹ͢Δɺ
    ਂ͍ཧղΛ͢Δ
    @robmeaney
    ༧ظ͠ͳ͍
    ;Δ·͍ͷཧղ
    ظ଴͞ΕΔ
    ;Δ·͍ͷཧղ
    ໰୊͕ݕग़͞Εͳ͍ ߦಈͷมԽΛݕग़͢Δ
    ༧ظ͠ͳ͍ϦεΫΛ
    ໌Β͔ʹ͢Δ
    ໰୊Λૉૣ͘
    ݕग़͢Δ
    ௿͍ςετ༰қੑ
    Low Testability
    ߴ͍ࣗಈԽ༰қੑ
    High Automatability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  39. ͞·͟·ͳछྨͷ
    ॏཁͳ΋ͷΛݕग़͢Δ
    ͙͢ʹ໰୊Λݟ͚ͭΔ
    @robmeaney
    ༧ظ͠ͳ͍
    ;Δ·͍ͷཧղ
    ظ଴͞ΕΔ
    ;Δ·͍ͷཧղ
    ໰୊͕ݕग़͞Εͳ͍ ߦಈͷมԽΛݕग़͢Δ
    ༧ظ͠ͳ͍ϦεΫΛ
    ໌Β͔ʹ͢Δ
    ໰୊Λૉૣ͘
    ݕग़͢Δ
    ௿͍ςετ༰қੑ
    Low Testability
    ߴ͍ࣗಈԽ༰қੑ
    High Automatability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  40. @robmeaney
    @robmeaney
    ͢΂ͯͷมߋʹؔ͢Δ
    ਝ଎Ͱ৴པੑͷߴ͍
    แׅతͳϑΟʔυόοΫ
    ख़࿅ͨ͠
    ޷ح৺Ԣ੝ͳ
    ਂ͍୳ࡧతςετ
    ग़ՙՄೳͳ඼࣭Λ
    ୡ੒͢ΔͨΊʹ
    ແବΛ࠷খݶʹ཈͑Δ
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ςετ
    ࣗಈԽ༰қੑ ୳ࡧ༰қੑ ςετ༰қੑ
    ߦಈΛਪਐ͢Δ ཧղΛਪਐ͢Δ
    ϑΟʔυόοΫΛ
    Ճ଎ͤ͞Δ
    @robmeaney

    View full-size slide

  41. ςετ༰қੑ΁ͷয఺Λ
    ౰ͯΔ͜ͱͰ
    ԿΛୡ੒͠·͔ͨ͠ʁ
    • ձࣾΛލ͍ͩద༻
    • σϦόϦʔͷεϐʔυͱ඼࣭
    • ετϨεͷͳ͍ܾ·Γ੾ͬͨϦϦʔε
    • ޾ͤͰੜ࢈తͳνʔϜ @robmeaney

    View full-size slide

  42. େ෯ͳ඼࣭ͷ޲্͸ɺ
    ςετʹΑͬͯͰ͸
    ͋Γ·ͤΜͰͨ͠ɻ
    ؔ܎Λߏங͠ద੾ͳλΠϛϯάͰ
    ద੾ͳਓʑʹӨڹΛ༩͑ͯ
    ඼࣭Λ࡞ΓࠐΉ͜ͱʹΑͬͯ
    ඼࣭޲্͕Ͱ͖·ͨ͠ʂ
    @robmeaney

    View full-size slide

  43. @robmeaney
    @robmeaney
    Software
    Operability
    (ӡ༻ੑ)

    View full-size slide

  44. ςετ༰қੑ͔Β
    ӡ༻ੑ΁
    • ϦΞϧλΠϜͷΦϯϥΠϯෆਖ਼ݕग़
    • ৽͍͠ίϯςΩετͱ՝୊
    • ར༻ՄೳͰɺԠ౴ੑ͕ߴ͘ɺ

    εέʔϥϒϧ
    @robmeaney

    View full-size slide

  45. ࣮Քಇલͷςετͷྔ͸ɺ
    ࣮ՔಇͰػೳ͢Δ͜ͱΛ
    ཪ෇͚Δ͜ͱ͸Ͱ͖·ͤΜʂ
    @robmeaney
    @robmeaney

    View full-size slide

  46. ຊ൪؀ڥͰςετ͍ͯ͠ͳ͍৔߹ɺ
    ސ٬͕ຊ൪؀ڥͰςετ͍ͯ͠·͢ɻ
    @robmeaney
    @robmeaney

    View full-size slide

  47. • ϦεΫͷදग़Λ੍ޚ(Control)͢Δ
    • γεςϜͷ;Δ·͍Λ

    ؍ଌ(Observe)͢Δ
    • σϓϩΠΛ෼ղ(Decompose)͢Δ
    • σϓϩΠϓϩηεΛ୯७Խ(Simplify)͢Δ
    ӡ༻ੑͰCODSͷ࿮૊ΈΛݟͭΊ௚͢
    @robmeaney

    View full-size slide

  48. Shadow ReleaseͰϒϥοΫϑϥΠσʔΛੜ͖࢒Δ
    ΞϓϦ
    έʔγϣϯ
    τάϧ ֬ೝ
    ݹ͍Ӭଓ૚
    ৽͍͠Ӭଓ૚
    Write Data
    Read Data
    Controllability Observability
    Read Data
    Write Data
    Pattern: Branch by abstraction with verification @robmeaney
    ੍ޚੑ Մ؍ଌੑ

    View full-size slide

  49. @robmeaney
    ੍ޚੑ Մ؍ଌੑ ෼ղੑ ୯७ੑ
    ϦεΫͷදग़Λ
    ੍ޚ͢Δ
    γεςϜͷ;Δ·͍
    Λ؍ଌ͢Δ
    σϓϩΠΛ
    ෼ղ͢Δ
    σϓϩΠϓϩηεΛ
    ୯७Խ͢Δ
    - Blue-greenσϓϩΠ
    - Featureτάϧ
    - ΧφϦΞϦϦʔε
    - A/Bςετ
    - Ξϥʔτ
    - ૯߹తͳςετ
    -ϩΪϯά
    - ϞχλϦϯά
    - τϨʔε
    - 1ͭͷσϓϩΠͰ
    1ͭͷมߋ
    - Ϙλϯ1ճͷΫϦοΫͰ
    σϓϩΠ·ͨ͸ϩʔϧόοΫ
    - Τϥʔ཰ٸ্ঢ࣌ͷ
    ࣗಈϩʔϧόοΫ

    View full-size slide

  50. ӡ༻ੑͷςετ
    • ӡ༻ੑΛαϙʔτ͢Δ

    ΠϯϑϥετϥΫνϟΛ

    ςετ͠·͢
    • πʔϧ͕࠷΋ඞཁͳͱ͖ʹ

    ػೳ͢Δ͜ͱΛ֬ೝ͠·͢
    @robmeaney

    View full-size slide

  51. @robmeaney
    @robmeaney
    Observability
    (Մ؍ଌੑɺ
    ؍ଌ༰қੑ)
    @robmeaney

    View full-size slide

  52. PoppuloͰͷ
    ࣭ͷߴ͍
    ίʔνϯά
    • ඼࣭>ςετ
    • Մ؍ଌੑ͸

    ཧղΛଅਐ͠·͢

    View full-size slide

  53. Մ؍ଌੑ͸؆୯ͳ࣭໰͔Β࢝·Δ:
    • γεςϜ͕ҟৗͰ͔͋ͬͨͲ͏͔Λ

    Ͳ͏΍ͬͯ஌Δ͜ͱ͕Ͱ͖·͔͢ʁ
    • Ϣʔβʔͷମݧ͕ѱ͍͔Ͳ͏͔Λ

    Ͳ͏΍ͬͯ஌Δ͜ͱ͕Ͱ͖·͔͢ʁ
    • ໰୊͕ൃੜͨ͠৔߹ɺ

    ͲͷΑ͏ʹݪҼΛಛఆ͠·͔͢ʁ
    @robmeaney

    View full-size slide

  54. @robmeaney
    @robmeaney
    ϏδωεશମͰͷՄ؍ଌੑͷ֦ு
    ϏδωεϨϕϧͷՄ؍ଌੑ
    ྫʣϏδωεͷ੒ޭϝτϦΫε
    ސ٬ϨϕϧͷՄ؍ଌੑ
    ྫʣސ٬ͷ੒ޭϝτϦΫε
    ੡඼ϨϕϧͷՄ؍ଌੑ
    ྫʣλεΫͷ੒ޭ
    αʔϏεϨϕϧͷՄ؍ଌੑ
    ྫʣRED
    ΠϯϑϥετϥΫνϟͷՄ؍ଌੑ
    ྫʣUSE

    View full-size slide

  55. @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ؍ଌ

    View full-size slide

  56. ط஌ͷނোϞʔυɺ
    ސ٬ͷ௧Έͷ঱ঢ়Λ֬ೝ͠·͢
    @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ؍ଌ

    View full-size slide

  57. σʔλ಺ͷ༧ظ͠ͳ͍ಈ࡞ͱ
    ҟৗͳύλʔϯΛ୳ࡧ͢Δ
    @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ؍ଌ

    View full-size slide

  58. @robmeaney
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ؍ଌ
    ؂ࢹ༰қੑ ୳ࡧ༰қੑ Մ؍ଌੑ

    View full-size slide

  59. @robmeaney
    ϊΠζ͕ଟ͘ɺ৴པੑͷ௿͍Ξϥʔτɺ
    ͓٬༷͕໰୊Λใࠂ͍ͯ͠Δɺ
    ݪҼΛಛఆ͢Δͷ͕೉͍͠ @robmeaney
    ໰୊͕ݕग़͞Εͳ͍
    Ϣʔβʔͷ௧Έͷ
    ঱ঢ়Λݕग़͢Δ
    ݪҼΛૉૣ͘
    ಛఆ͢Δ
    ໰୊Λૉૣ͘
    ݕग़ͯ͠੾Γ෼͚Δ
    ௿͍Մ؍ଌੑ
    Low Observability
    ߴ͍؂ࢹ༰қੑ
    High Monitorability
    ߴ͍Մ؍ଌੑ
    High Observability
    ݪҼͷཧղ
    Өڹͷཧղ
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  60. @robmeaney
    ৴པͰ͖ΔΞϥʔτͷখ͞ͳηοτɺ
    ঱ঢ়ϕʔεɺ
    ࣮༻త
    @robmeaney
    ໰୊͕ݕग़͞Εͳ͍
    Ϣʔβʔͷ௧Έͷ
    ঱ঢ়Λݕग़͢Δ
    ݪҼΛૉૣ͘
    ಛఆ͢Δ
    ໰୊Λૉૣ͘
    ݕग़ͯ͠੾Γ෼͚Δ
    ݪҼͷཧղ
    Өڹͷཧղ
    ௿͍Մ؍ଌੑ
    Low Observability
    ߴ͍؂ࢹ༰қੑ
    High Monitorability
    ߴ͍Մ؍ଌੑ
    High Observability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  61. @robmeaney
    γεςϜͷಈ࡞ʹؔ͢Δਂ͍ཧղɺ
    ໰୊Λ੾Γ෼͚ΔͨΊʹ
    ࡉ͔͘෼ੳͨ͠σʔλ
    @robmeaney
    ໰୊͕ݕग़͞Εͳ͍
    Ϣʔβʔͷ௧Έͷ
    ঱ঢ়Λݕग़͢Δ
    ݪҼΛૉૣ͘
    ಛఆ͢Δ
    ໰୊Λૉૣ͘
    ݕग़ͯ͠੾Γ෼͚Δ
    ݪҼͷཧղ
    Өڹͷཧղ
    ௿͍Մ؍ଌੑ
    Low Observability
    ߴ͍؂ࢹ༰қੑ
    High Monitorability
    ߴ͍Մ؍ଌੑ
    High Observability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  62. @robmeaney
    ໰୊͕ൃੜ͢Δͱ
    ͙͢ʹݕग़ͯ͠੾Γ෼͚·͢
    @robmeaney
    ݪҼͷཧղ
    Өڹͷཧղ
    ໰୊͕ݕग़͞Εͳ͍
    Ϣʔβʔͷ௧Έͷ
    ঱ঢ়Λݕग़͢Δ
    ݪҼΛૉૣ͘
    ಛఆ͢Δ
    ໰୊Λૉૣ͘
    ݕग़ͯ͠੾Γ෼͚Δ
    ௿͍Մ؍ଌੑ
    Low Observability
    ߴ͍؂ࢹ༰қੑ
    High Monitorability
    ߴ͍Մ؍ଌੑ
    High Observability
    ߴ͍୳ࡧ༰қੑ
    High Explorability

    View full-size slide

  63. @robmeaney
    ߴ଎Ͱ৴པੑͷߴ͍
    γεςϜఀࢭͷݕग़
    ख़࿅ͨ͠ɺ޷ح৺Ԣ੝ͳ
    ٕज़తσόοά
    ໰୊ʹରͯ͠ͷ
    ݕग़ͱσόοάͷ
    ࣌ؒͱ࿑ྗͷ࠷খԽ
    ஌͍ͬͯΔ
    ͜ͱ
    ஌Βͳ͍
    ͜ͱ
    νΣοΫ ୳ࡧ ؍ଌ
    ؂ࢹ༰қੑ ୳ࡧ༰қੑ Մ؍ଌੑ
    ߦಈΛਪਐ͢Δ ཧղΛਪਐ͢Δ
    ճ෮Λ
    Ճ଎ͤ͞Δ

    View full-size slide

  64. ࢲͨͪ͸ɺ
    ιϑτ΢ΣΞγεςϜ͚ͩͰͳ͘
    ࡞ۀγεςϜʹ΋
    Մ؍ଌੑΛ૊ΈࠐΜͰ͍·͢ʂ
    @robmeaney
    @robmeaney

    View full-size slide

  65. @robmeaney
    εϧʔϓοτ
    • σϓϩΠͷϦʔυλΠϜ
    • σϓϩΠස౓
    ҆ఆੑ
    • ނো཰ͷมߋ
    • ճ෮͢Δ·Ͱͷ࣌ؒ
    ϝτϦΫεΛՃ଎͢Δ

    View full-size slide

  66. @robmeaney
    ࣌ؒͱඅ༻͕͔͔Γɺ
    ޮՌͷͳ͍ςετɺ
    ࣦഊ͕େ͖ͳӨڹʹͳΔ
    @robmeaney
    ௿͍ੜ࢈ੑ
    Low Performance
    ߴ͍ӡ༻ੑ
    High Operability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍ੜ࢈ੑ
    High Performance
    ো֐ͷՄೳੑͷܰݮ
    ো֐ʹΑΔӨڹͷܰݮ
    ஗ͯ͘όάͩΒ͚ ӨڹΛૉૣܰ͘ݮ͢Δ
    ϦεΫʹૉૣ͘
    ΞΫηε͢Δ
    εϐʔυͱ҆ఆੑ

    View full-size slide

  67. ϦεΫʹؔ͢Δ৘ใʹجͮ͘ҙࢥܾఆɺ
    ࣦഊͷՄೳੑͷ௿ݮɺ
    νʔϜ͕ࣗ৴Λ࣋ͬͯ
    ਝ଎ʹߦಈͰ͖ΔΑ͏ʹͳΔ
    @robmeaney
    ো֐ͷՄೳੑͷܰݮ
    ো֐ʹΑΔӨڹͷܰݮ
    ஗ͯ͘όάͩΒ͚ ӨڹΛૉૣܰ͘ݮ͢Δ
    ϦεΫʹૉૣ͘
    ΞΫηε͢Δ
    εϐʔυͱ҆ఆੑ
    ௿͍ੜ࢈ੑ
    Low Performance
    ߴ͍ӡ༻ੑ
    High Operability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍ੜ࢈ੑ
    High Performance

    View full-size slide

  68. @robmeaney
    νʔϜ͕ݱ࣮ʹରॲ͠ɺ
    ආ͚ΒΕͳ͍ࣦഊͷӨڹΛ
    ࠷খݶʹ཈͑Δ͜ͱΛ
    Մೳʹ͢Δ
    @robmeaney
    ো֐ͷՄೳੑͷܰݮ
    ো֐ʹΑΔӨڹͷܰݮ
    ஗ͯ͘όάͩΒ͚ ӨڹΛૉૣܰ͘ݮ͢Δ
    ϦεΫʹૉૣ͘
    ΞΫηε͢Δ
    εϐʔυͱ҆ఆੑ
    ௿͍ੜ࢈ੑ
    Low Performance
    ߴ͍ӡ༻ੑ
    High Operability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍ੜ࢈ੑ
    High Performance

    View full-size slide

  69. @robmeaney
    ϦεΫΛޮՌతʹ؅ཧ͠ɺ
    νʔϜ͕඼࣭Λଛͳ͏͜ͱͳ͘
    ਝ଎ʹߦಈͰ͖Δ
    Α͏ʹͳΔ
    @robmeaney
    ো֐ͷՄೳੑͷܰݮ
    ো֐ʹΑΔӨڹͷܰݮ
    ஗ͯ͘όάͩΒ͚ ӨڹΛૉૣܰ͘ݮ͢Δ
    ϦεΫʹૉૣ͘
    ΞΫηε͢Δ
    εϐʔυͱ҆ఆੑ
    ௿͍ੜ࢈ੑ
    Low Performance
    ߴ͍ӡ༻ੑ
    High Operability
    ߴ͍ςετ༰қੑ
    High Testability
    ߴ͍ੜ࢈ੑ
    High Performance

    View full-size slide

  70. @robmeaney
    @robmeaney
    σϓϩΠϦʔυλΠϜͷ୹ॖɺ
    σϓϩΠස౓ͷ૿Ճ @robmeaney
    ૝૾ྗ ݱ࣮త
    ςετ༰қੑ ӡ༻ੑ
    ࠷దԽ͞Εͨ
    ϑϩʔ
    ग़ՙՄೳͳ඼࣭΁ͷ
    ࣌ؒͱ࿑ྗΛ
    ࠷খݶʹ཈͑Δ
    ඼࣭Λҡ࣋͢ΔͨΊͷ
    ࣌ؒͱ࿑ྗΛ
    ࠷খݶʹ཈͑Δ
    ඼࣭ͷ૯ίετΛ
    ࠷খݶʹ཈͑Δ
    ॲཧೳྗΛ
    ޲্ͤ͞Δ
    ҆ఆੑΛ
    ޲্ͤ͞Δ
    σϦόϦʔΛ
    Ճ଎ͤ͞Δ

    View full-size slide

  71. @robmeaney
    @robmeaney
    มߋͷࣦഊ཰ͷ௿Լɺ
    ճ෮·Ͱͷ࣌ؒͷ୹ॖ @robmeaney
    ૝૾ྗ ݱ࣮త
    ςετ༰қੑ ӡ༻ੑ
    ࠷దԽ͞Εͨ
    ϑϩʔ
    ग़ՙՄೳͳ඼࣭΁ͷ
    ࣌ؒͱ࿑ྗΛ
    ࠷খݶʹ཈͑Δ
    ඼࣭Λҡ࣋͢ΔͨΊͷ
    ࣌ؒͱ࿑ྗΛ
    ࠷খݶʹ཈͑Δ
    ඼࣭ͷ૯ίετΛ
    ࠷খݶʹ཈͑Δ
    ॲཧೳྗΛ
    ޲্ͤ͞Δ
    ҆ఆੑΛ
    ޲্ͤ͞Δ
    σϦόϦʔΛ
    Ճ଎ͤ͞Δ

    View full-size slide

  72. @robmeaney
    @robmeaney
    ͏Ί͖ ͓ۚ ੜ׆
    Մٯੑʹجͮ͘౤ࢿͷϚωʔδϝϯτ
    @robmeaney

    View full-size slide

  73. ূڌʹج͍ͮͯ౤ࢿ͢ΔͨΊʹ3XΛ࢖༻͢Δ
    @robmeaney
    ߴ଎Ͱ҆Ձͳ
    ϑΣΠϧηʔϑ࣮ݧͰ
    ਝ଎ʹֶशͰ͖ΔΑ͏ʹ
    ࠷దԽ͢Δ
    ςετ༰қੑͱӡ༻ੑ΁ͷ
    ౤ࢿΛ௨ͯ͡
    ෳࡶ͞Λ؅ཧ͢Δ͜ͱʹΑΓɺ
    ऩӹΛ࠷దԽ͢Δ
    ςετ༰қੑͷཁٻ
    ӡ༻ੑͷཁٻ
    ϓϩμΫτϚʔέοτ
    ϑΟοτ
    ҆શʹࣦഊ͢Δ
    ࣮ݧʹΑֵͬͯ৽͢Δ
    ૿େ͢Δधཁʹ
    ߹Θ֦ͤͯு͢Δ
    ӡ༻ޮ཰Λ
    ࠷దԽ͢Δ
    ߴ͍ෆ࣮֬ੑ ߴ͍༧ଌՄೳੑ
    ୳ݕ
    ֦ு
    ൈਮ
    Extract

    View full-size slide

  74. “௧Έ+಺ল=ਐา”
    - Ray Dalio
    @robmeaney
    @robmeaney

    View full-size slide

  75. ςετ͕ΰʔϧͰ͸ͳ͍৔߹ɺ
    ΰʔϧͱ͸ԿͰ͔͢ʁ
    @robmeaney
    @robmeaney

    View full-size slide

  76. ਓʑͷੜ׆Λ
    ޲্ͤ͞Δ
    ιϑτ΢ΣΞΛ
    ͓ಧ͚͠·͢ʂ
    @robmeaney
    @robmeaney

    View full-size slide

  77. @robmeaney
    @robmeaney
    νʔϜ͸σϦόϦʔͷ࠷খ୯ҐͰ͢
    @robmeaney

    View full-size slide

  78. ૉ੖Β͍͠σϦόϦʔνʔϜͷܦݧ͕
    ੜ·ΕΔ؀ڥΛ։୓͠·͠ΐ͏ʂ
    @robmeaney
    @robmeaney

    View full-size slide

  79. νʔϜͷܦݧ͸Լهʹয఺Λ౰ͯ·͢:
    1. ֶशΛ෢ثͱͯ͠࢖༻͢Δ
    2. ূڌʹج͖ͮ౤ࢿ͢Δ
    3. ΑΓྑ͍σβΠϯΛਪਐ͢ΔͨΊͷࢲͨͪͷۤ௧
    @robmeaney

    View full-size slide

  80. @robmeaney
    @robmeaney
    νʔϜશମͷܦݧΛ
    ࢹ֮Խ
    ࣾձద߹Խ
    ࠷దԽ
    ͢Δ
    ࢹ֮Խ
    ࠷దԽ
    ࣾձ
    ద߹Խ
    νʔϜ
    શମͷ
    ܦݧ

    View full-size slide

  81. νʔϜશମͷૉ੖Β͍͠ܦݧΛ
    ࠷దԽ͢Δͱɺ2࣍ޮՌͱͯ͠ɺ
    ޾ͤͰੜ࢈తͳνʔϜʹ
    ͳ͍͖ͬͯ·͢ɻ
    @robmeaney
    @robmeaney

    View full-size slide

  82. ਓੜ͸୹͗͢ΔͨΊɺ
    ໰୊ͷͳ͍ιϑτ΢ΣΞΛ
    ߏஙͰ͖·ͤΜ
    @robmeaney
    @robmeaney

    View full-size slide

  83. ਓੜ͸୹͗͢ΔͨΊɺ
    ࢲͨͪͷνʔϜ΍Ϣʔβʔʹ
    ۤ೰Λ༩͑Δ༨༟͸͋Γ·ͤΜ
    @robmeaney
    @robmeaney

    View full-size slide

  84. ֶशʹເதʹͳ͍ͬͯΔ
    ૊৫΍νʔϜΛߏங͠·͠ΐ͏
    @robmeaney
    @robmeaney

    View full-size slide

  85. ࢲֶ͕ͨͪΜͩ͜ͱʹج͍ͮͯ
    ҆શʹదԠͰ͖ΔγεςϜΛ
    Ұॹʹઃܭ͠·͠ΐ͏
    @robmeaney
    @robmeaney

    View full-size slide

  86. ຬ଍͍ͯ͠Δސ٬ʹ
    Ձ஋ͷ͋Διϑτ΢ΣΞΛఏڙ͢Δ
    ੒ޭֵͨ͠৽తͳϏδωεͰಇ͘
    ޾ͤͰੜ࢈తͳνʔϜ
    @robmeaney
    @robmeaney

    View full-size slide

  87. The team
    testing
    experience
    exercise
    @robmeaney
    @robmeaney
    @robmeaney

    View full-size slide

  88. Great EngEx starts with simple questions:
    How does it feel to:
    • build your software systems?
    • test your software systems?
    • deploy your software systems?
    • operate your software systems?
    @robmeaney
    @robmeaney

    View full-size slide

  89. Operability
    learning review
    exercise
    @robmeaney
    @robmeaney
    @robmeaney

    View full-size slide

  90. @robmeaney
    A Holistic Testability Model - 10 P’s of Testability
    @robmeaney
    *Inspired by models from Anne-Marie Charrett, James Bach & Maria Kedemo

    View full-size slide