Slide 1

Slide 1 text

೔ຊޠ൛(Japanese Edition)

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

@robmeaney

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

@robmeaney @robmeaney

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

@robmeaney @robmeaney Software Operability (ӡ༻ੑ)

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

• ϦεΫͷදग़Λ੍ޚ(Control)͢Δ • γεςϜͷ;Δ·͍Λ
 ؍ଌ(Observe)͢Δ • σϓϩΠΛ෼ղ(Decompose)͢Δ • σϓϩΠϓϩηεΛ୯७Խ(Simplify)͢Δ ӡ༻ੑͰCODSͷ࿮૊ΈΛݟͭΊ௚͢ @robmeaney

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

ӡ༻ੑͷςετ • ӡ༻ੑΛαϙʔτ͢Δ
 ΠϯϑϥετϥΫνϟΛ
 ςετ͠·͢ • πʔϧ͕࠷΋ඞཁͳͱ͖ʹ
 ػೳ͢Δ͜ͱΛ֬ೝ͠·͢ @robmeaney

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

PoppuloͰͷ ࣭ͷߴ͍ ίʔνϯά • ඼࣭>ςετ • Մ؍ଌੑ͸
 ཧղΛଅਐ͠·͢

Slide 54

Slide 54 text

Մ؍ଌੑ͸؆୯ͳ࣭໰͔Β࢝·Δ: • γεςϜ͕ҟৗͰ͔͋ͬͨͲ͏͔Λ
 Ͳ͏΍ͬͯ஌Δ͜ͱ͕Ͱ͖·͔͢ʁ • Ϣʔβʔͷମݧ͕ѱ͍͔Ͳ͏͔Λ
 Ͳ͏΍ͬͯ஌Δ͜ͱ͕Ͱ͖·͔͢ʁ • ໰୊͕ൃੜͨ͠৔߹ɺ
 ͲͷΑ͏ʹݪҼΛಛఆ͠·͔͢ʁ @robmeaney

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

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

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

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

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

@robmeaney

Slide 89

Slide 89 text

The team testing experience exercise @robmeaney @robmeaney @robmeaney

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

Operability learning review exercise @robmeaney @robmeaney @robmeaney

Slide 92

Slide 92 text

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