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

えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / Why don't you write unit tests

44f19f6204c2b29d3d430d91c389c6ea?s=47 ikikko
October 02, 2021

えっ、まだユニットテスト書いてない現場があるんですか? - ボトムアップでもっといけてるチームになるために、たった一つの大事なこと - / Why don't you write unit tests

44f19f6204c2b29d3d430d91c389c6ea?s=128

ikikko

October 02, 2021
Tweet

Transcript

  1. ͑ͬɺ·ͩϢχοτςετ ॻ͍ͯͳ͍ݱ৔͕͋ΔΜͰ͔͢ʁ Tomonari Nakamura / Shinnosuke Yata 2021/10/02 Scrum Fest

    Mikawa 2021 ~ ϘτϜΞοϓͰ΋ͬͱ͍͚ͯΔνʔϜʹͳΔͨΊʹɺͨͬͨҰͭͷେࣄͳ͜ͱ ~
  2. தଜ ஌੒ ( ikikko ) • ॴଐɿΫϦΤʔγϣϯϥΠϯגࣜձࣾ • ໾ׂɿεΫϥϜϚελʔʢ2,3νʔϜʹΑΔɺෳ਺νʔϜͰͷεΫϥϜʣ •

    ུྺɿ • ϝʔΧʔܥSIerͷ։ൃΤϯδχΞ • ࣗࣾαʔϏεͷ։ൃɾӡ༻ΤϯδχΞ → ࣾ಺ίʔνɾεΫϥϜϚελʔ • ݱ৬ʢ2021/05~ʣ • ڵຯ͕͋Δ͜ͱɿνʔϜ΍ϓϩηεվળɺCI/CDΛ͸͡Ίͱͨࣗ͠ಈԽपΓ
  3. ໼ా ਐ೭հ • ॴଐɿΫϦΤʔγϣϯϥΠϯגࣜձࣾ • ໾ׂɿΤϯδχΞ • ུྺɿ • ΞδϟΠϧ৽ଔݚम@ָఱ

    (2018೥) • ػցֶशϓϩμΫτ։ൃ (2018-2020೥) • ݱ৬ (2021೥) • ڵຯ͕͋Δ͜ͱɿMLOpsɺ͓ञɺΩϟϯϓ
  4. We Are Hiring!

  5. Ξ΢τϥΠϯ • എܠ • ΍ͬͨ͜ͱ • ࣾ಺TDDBCʢTDD Boot Campʣ։࠵ •

    Ϣχοτςετ؀ڥͷ੔උ • ΍ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
  6. JOINͯ͠ײͨ͜͡ͱ • εΫϥϜ • ;Γ͔͑Γ • ͍͖͍͖ͨ͠ݱ৔ • σϓϩΠࣗಈԽ •

    ςετۦಈ։ൃ • ϦϑΝΫλϦϯά Α͍ͱ͜Ζ Α͘Ͱ͖Δͱ͜Ζ Ϩϑτ΢Οϯά͕ڧ͍νʔϜ https://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html
  7. ͍͖͍͖ͱͨ͠ݱ৔ʢϨϑτ΢Οϯάʣ • ࡶஊ͕޻਺ͱͯ֬͠อ͞Ε͍ͯΔ • શνʔϜ͕ϦϞʔτͰϞϒϓϩ • ސ٬ͱͷ৴པؔ܎͕ग़དྷ্͕͍ͬͯΔ

  8. ੈʹ΋حົͳׂΕͨ૭ʢϥΠτ΢Οϯάʣ • 1ϑΝΠϧͰ1000ߦӽ͑ͷϞδϡʔ ϧ͕͋Δɻ • ؔ਺ʹ੾Γग़͞Ε͍ͯͳ͍͠ɺ΋ͪ ΖΜϢχοτςετ͸ͳ͍ɻ • શͯͷςετέʔεͰDBͷςετσ ʔλ͕ڞ௨Խ͞Ε͍ͯΔɻ

    ͦΕͰ΋ͳ͔ͥো֐ ͕ى͖ͳ͍
  9. Ո੓්͸໼ాݟͨʂ

  10. Ո੓්͸ݟͨʂͦͷ̍ εϩοτͷ໨ԡ͠ͷ࿅शʹͳΔ΄Ͳɺ εΫϩʔϧͤ͞ͳ͍ͱཉ͍͠΋ͷ͕ݟ ͔ͭΒͳ͍mainͷؔ਺΍APIςετͷ ࣮ߦ݁Ռ

  11. Ո੓්͸ݟͨʂͦͷ̎ ͞ͳ͕Βਐܸ̋ڊਓΛ૝ىͤ͞ΔΑ͏ ͳೋॏ΍ࡾॏʹғ·ΕͨϦετ಺แද ه΍ࡾ߲ԋࢉࢠ

  12. Ո੓්͸ݟͨʂͦͷ̏ ·ΔͰΞϋମݧͨ͠ؾ෼ʹͳΔΑ͏ ͳɺ࣮ߦλΠϛϯάͰ݁Ռ͕มΘΔݱ ࡏ࣌ࠁґଘͷAPIςετ

  13. ϝϯόʔ͸͜ͷঢ়گΛͲ͏ݟ͍ͯΔ͔ • ෛ࠴͕͋Δ͜ͱʹ׳Εͯ͠·ͬͨਓʢׂΕ૭ཧ࿦ʣ • ͜Ε͕ෛ࠴Ͱ͋Δ͜ͱʹؾ͍͍ͮͯͳ͍ਓʢ֝ͷࣽ෺ʣ • ୯ʹมԽΛײ͡औΔ͜ͱ͕Ͱ͖ͳ͍ from ୡਓϓϩάϥϚʔ •

    ෛ࠴΁ͷ՝୊ײ͸͋Δ͕༏ઌॱҐ͔Βޙճ͠ʹ͢Δਓ(ࣗ৴ա৒ͳ͏͗͞ʣ • ่յͨ͠ίʔυΛॻ͘Ϟʔυ͔Βɺ͍ͣΕͲ͔͜ͰΫϦʔϯ͢ΔϞʔυʹ੾Γ ସΘΕΔɺͱ͍͏͏͗͞ͷΑ͏ͳࣗ৴Λ΋͍ͬͯΔ from Clean Architecture ʮୡਓϓϩάϥϚʔ̍൛ʯp6~p9 ʮClean Architectureʯp38
  14. ༷ʑͳ੍໿ͷதͰੜ·Εͨ݁Ռͷͻͱͭ • ࢢ৔ͷϓϨογϟʔ͸଎͍ • ઌਓ͕ͨͪ૸Γଓ͚ͯ͘Ε͔ͨΒͦ͜ࠓ͕͋Δ • ए͍ਓ͔ΒφΠεϛυϧ·Ͱ৭ʑͳਓ͕͍ΔνʔϜ

  15. ಈ͖ग़ͯ͠ΈΑ͏ ͔͜͜Βվળ׆ಈ͕ελʔτ ※ࣗ෼͕Ԍ্͍ͯ͠Δ༁Ͱ͸͋Γ·ͤΜ ΋ͬͱ͍͍ νʔϜʹͳΕΔ ͜ͷ؀ڥͷ·· ࢓ࣄͨ͘͠ͳ͍ ڧ͍ਓͨͪͱݞΛ ฒ΂͍ͨ ໎ͬͨΒ͠ΜͲ͍

    ํΛબͿ
  16. ࣗ෼ͷதͷܦݧΛͲ͏׆͔͔͢ߟ͑ͨ • աڈʹड͚ͨTDD BootCamp • ࣗ෼Ͱ༗ࢤͰ։͍ͨίʔσΟϯάษڧձͰͷTDD • ϢχοτςετΛಋೖͯ͠ίʔυ΁ͷෆ҆ΛݮΒ͍ͨ͠ • TDDΛ࢝ΊͯϦζϜײΑ͘ϦϑΝΫλϦϯά·Ͱ΍Γ͍ͨ

  17. վળʹ͋ͨͬͯͷෆ҆ͱᷤ౻ • TDDΛ΍ͬͨ͜ͱ͸͋Δ͕ɺΤΩεύʔτͰ͸ͳ͍ɻ • స৬͖ͯͯ͠൒೥΋ܦ͍ͬͯͳ͍͠ɺϦʔμʔతͳཱͪҐஔͰ͸ͳ͍ ͷʹ͠Ό͠ΌΓͰͯ΋͍͍ͷ͔ʁ • ม͍͑ͨͱ͍͏ࢥ͍͕উͬͨ • ಈ͔ͳ͖Ό࢝·Βͳ͍ͱࢥͬͨ

  18. ਓΛר͖ࠐΉͨΊͷಈ͖ͩ͠ • খ͞ͳվળͱࠜճ͔͠Βελʔτ͢Δ • ϝϯόʔ͔Βͷ৴པΛಘͳ͕Β͞Βͬͱཧ૝ΛޠΔ • ϓϩδΣΫτϦʔμʔʹ૬ஊ͓ͯ͘͠ • ख఻ͬͯ͘Εͦ͏ͳਓΛݟ͚ͭΔ •

    ͪΌΜͱݴޠԽͯͬͦ͜͠ΓPBIͱ͔ʹೖΕ͓ͯ͘ • จষͰ΋৭ʑͳϝϯόʔʹ஌ͬͯ΋Β͏ػձΛ૿΍͢ ౰࣌ͷslack
  19. ࣌͸ຬͪͨ… • Ϧʔμʔʹ࠶ఏҊ͞ΕΔ • தଜ͞Μ΍ɺٳՋ໌͚ͷ΍ͬͱΉ͞ ΜΛউखʹϛʔςΟϯάηοτͯ͠ ר͖ࠐΜͰɺ࡞ઓձ͕ٞελʔτ͢ Δ Ϧʔμʔ Ϧʔμʔ

    :) :)
  20. Ξ΢τϥΠϯ • എܠ • ΍ͬͨ͜ͱ • ࣾ಺TDDBCʢTDD Boot Campʣ։࠵ •

    Ϣχοτςετ؀ڥͷ੔උ • ΍ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
  21. ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ࢖͍ͬͯΔ ஌ࣝͱͯ͠ ஌͍ͬͯΔ TDDBC։࠵

  22. TDDBC։࠵ͷഎܠ • ͪΌΜͱ࣌ؒΛͱͬͯɺཧղ΍ૉৼΓͷ৔Λఏڙ͔ͨͬͨ͠ • ͨͩɺ୯ൃΠϕϯτͰऴΘΓͨ͘ͳ͍ͱ͍͏ࢥ͍΋͋ͬͨ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ࢖͍ͬͯΔ

    ஌ࣝͱͯ͠ ஌͍ͬͯΔ ୯ൃͷTDDBCͷείʔϓ
  23. ࠓͷνʔϜͰͷ୯ൃΠϕϯτͷةݥੑ • ࣗ෼ࣗ਎ͷܦݧͱͯ͠TDDͷϦζϜײʹ׳ΕΔ·Ͱʹ਺୊͔͔ͬͨ • ୯ൃͩͱϝϯόʔ͕஌ࣝͱͯ͠ٵऩͯ͠ऴΘΔՄೳੑ͕ॆ෼͋ͬͨ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ࢖͍ͬͯΔ

    ஌ࣝͱͯ͠ ஌͍ͬͯΔ ͜͜·ͰΛTDDBCͷείʔϓͱͯ͠ೖΕ͍ͨ
  24. ݱ৔ͷ੍໿΋Ճຯͨ͠ํ਑ͷܾఆ • ΍Γ͍ͨ͜ͱ • ෳ਺ͷ໰୊Λղ͘͜ͱͰ࣮ઓ·ͰͷԼ஍Λ࡞Γ͍ͨ • ੍໿ • ۈ຿͕࣌ؒҧ͏ͷͰશһ͕ͦΖ͏࣌ؒଳ͕গͳ͍ •

    ௕࣌ؒ΍ΔͱΈΜͳͷମྗ͕ϔϩϔϩʹͳΓͦ͏ ̎࣌ؒ͘Β͍Ͱ ճ։࠵ʹ͠Α͏
  25. 4ճTDDBCͷྲྀΕ • ୈ1ճ͸࿨ా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճ͸िΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠΋Β͏ • ୈ4ճΛͲ͏͢Δ͔͸ୈ3ճͷঢ়گ ͔Βߟ͑Δ

  26. ୈ1ճ໨ͷ޻෉఺ • Youtubeʹ͕͍͋ͬͯΔ࿨ా͞ΜͷTDDBCͷجௐߨԋಈըΛ࢖ͬͨ • جௐߨԋΛ४උ͢ΔखؒΛল͍ͨ • ։ൃݴޠ͸࣮ࡍͷϓϩμΫτͱಉ͡΋ͷΛ࢖༻ͨ͠ • Ͱ͖Δ͚࣮ͩફΛ૝ఆͨ͠ϫʔΫΛ͢ΔͨΊ •

    ࣄલʹ։ൃ؀ڥͷ४උΛ͓͍ͯͨ͠ • clone͙ͯ࢝͢͠ΊΒΕΔঢ়ଶʹ͓͍ͯͨ͠
  27. 4ճTDDBCͷྲྀΕ • ୈ1ճ͸࿨ా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճ͸िΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠΋Β͏ • ୈ4ճΛͲ͏͢Δ͔͸ୈ3ճͷঢ়گ ͔Βߟ͑Δ

    ૂ͍
  28. ୈ2, 3ճͰ΍ͬͨ޻෉ • ΍ͬͱΉ͞Μͷࣗൢػ໰୊Λ͓आΓͨ͠ • ࢓༷͕1~8͘Β͍·Ͱ͋ͬͨͷͰ۠੾Γ΍ͦ͢͏ͩͬͨ • 2ճ໨͸࢓༷1,2Λɺ3ճ໨͸࢓༷3,4Λൃදͯ͠είʔϓΛ۠੾ͬͨ • νʔϜ΍ϝϯόʔ͕มΘͬͯ΋Ϣχοτςετ͕͋Δ͜ͱʹΑͬͯ

    ్தࢀՃͰ΋΍Γ΍͍͢͜ͱΛମݧͯ͠΋Β͏ • ϦϞʔτͷgitϨϙδτϦΛ༻ҙͯ͠pushͰ͖ΔΑ͏ʹͨ͠
  29. 4ճTDDBCͷྲྀΕ • ୈ1ճ͸࿨ా͞Μͷجௐߨԋͷಈը ΛΈΜͳͰݟͯͳͧΔ • ୈ2,3ճ͸िΛ·͙ͨ͜ͱͰϢχο τςετͷޮՌΛ࣮ײͯ͠΋Β͏ • ୈ4ճΛͲ͏͢Δ͔͸ୈ3ճͷঢ়گ ͔Βߟ͑Δ

  30. ୈ4ճͷ޻෉఺ • ܭըஈ֊Ͱ͸ଓ͚Δ͔ഇࢭʹ͢Δ͔͸ܾ͋͑ͯΊ͍ͯͳ͔ͬͨ • ঢ়گʹ߹ΘͤͯదԠͤ͞ΔͨΊ • ୈ2, 3ճͷ͋ͨΓ͔Β࣮ࡍͷϓϩμΫτΛ৮Γ͍ͨͱࢥ͍ͬͯͨ • ಛʹ3ճ໨͕ϚϯωϦԽ΋͋ͬͯਓ਺͕গͳ͔ͬͨͨΊ

    • ςετέʔεͷϦϑΝΫλϦϯάΛͰ͖Δ͚ͩҙࣝͯ͠΋Βͬͨ
  31. ࣮ࡍͲ͏ͩͬͨͷ͔

  32. ୈ1ճͷΑ͔ͬͨͱ͜Ζ • ࿨ా͞Μͷجௐߨԋಈըͷ੾Εຯ͕Ӷͯࢗ͘͞Δਓ͕ଟ͔ͬͨ • ࣮ࡍʹऔΓ૊ΜͰ΋Β͏໰୊ΛFizzBuzz+ʹͨ͜͠ͱͰɺߨԋͷͳͧ ΓΛͨ͠ޙʹ৽ͨͳ໰୊Λ௥Ճ͍ͯ͘͠ελΠϧ͕ޭΛ૗ͨ͠ from cyber-dojo :PVUVCFͰແྉͰݟ ΕΔͷ͗͢͢͝Δ

    جௐߨԋͱશ͘ಉ͡ ͋Δఔ౓࣮૷Ͱ͖ͨ ͱ͜ΖͰ௥Ճ࢓༷
  33. ୈ2~4ճͷΑ͔ͬͨͱ͜Ζ • ෳ਺ճࢀՃͨ͠ਓ͸TDDʹ׳Εͯɺྑ͞Λ࣮ײͯ͠΋Β͑ͨ • 4ճ໨ͰςετέʔεͷϦϑΝΫλϦϯάͷ੒ޭମݧ͕Ͱ͖ͨ ͱ͋ΔΤϯδχΞ શ෦ࢀՃͨ͠ਓ͸νʔϜʹ ໭ͬͯ෍ڭΛ࢝Ίͨ

  34. ୈ3ճޙͷTODOϦετ

  35. ୈ4ճޙͷTODOϦετ • ࣮͸औΓ૊Μͩ௥Ճ࢓༷ͷ ਺͸มΘ͍ͬͯͳ͍ • ςετέʔεͷϦϑΝΫλ ϦϯάΛ͍ͯ͠ΔதͰ 9→14έʔεʹ૿͑ͨ ΋͸΍ݟ͍ͯͨࣗ෼ ֶ͕ͼʹͳͬͨ

  36. ࢀՃऀͷ;Γ͔͑Γ͔Β੒௕͕Θ͔Δ ୈ1ճ ୈ2ճ ୈ3ճ ୈ4ճ ճ໨ͰૉৼΓ׬ྃ ͨ͠ײ

  37. 4ճTDDBCͷ·ͱΊ • Α͔ͬͨͱ͜Ζ • ෳ਺ճ΍Δ͜ͱͰ஌ࣝͰऴΘΔ͜ͱ͸ආ͚ΒΕΔ • ӡӦ໘Ͱͷ՝୊Λ࣍ͷճʹ൓өͰ͖ΔʢݕࠪͱదԠͷΑ͏ʣ • ࣍΍ΔͳΒؾΛ͚͍ͭͨͱ͜Ζ •

    ୈҰճͷॏཁ౓͕ߴ͍ʢجௐߨԋ͸ඞਢʣΛղܾ͍ͨ͠ • ೚ҙࢀՃʹͨ͠ͷͰνʔϜ͝ͱͷࢀՃ཰ͷภΓΛͳ͘͢
  38. ࠜ෇ͨ͘Ίͷҧ͏Ξϓϩʔνͷඞཁੑ • ஌ࣝ΍ૉৼΓΛ͢ΔΑΓɺ͙͢ʹ࣮ફʹ࢖͑Δ΋ͷΛٻΊΔνʔϜͷ ϝϯόʔࢀՃ཰͕ߴ͘ͳ͔ͬͨ • ϫʔΫγϣοϓͱ͸ҧͬͨΞϓϩʔν͕ඞཁͩͱײͨ͡ • ݴ༿Ͱઆಘ͢Δͱ͍͏ͷ͸೉ͦ͠͏Ͱ࣮ϓϩμΫτͰ࣮ફͯ͠΋Βͬ ͨํ͕ਁಁ͠΍ͦ͢͏ͩͱࢥͬͨ

  39. ࣮ફͰ࢖͏ʹ͸·ͩน͕͋ͬͨ • ϓϩμΫτίʔυͰͷςετ؀ڥͷߏஙʹམͱ͕݀͋ͬͨ͠ • ͜͜Λ։ൃऀ͚ͩͰղܾ͢Δͷ͸ɺ࣌ؒతʹ΋ٕज़తʹ΋೉͔ͬͨ͠ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ࢖͍ͬͯΔ

    ஌ࣝͱͯ͠ ஌͍ͬͯΔ ͜͜ʹน͕͋Δ →ۤौͷܾஅͰSMʹཔΔ
  40. Ϣχοτςετ؀ڥͷ੔උ ૉৼΓͰ ৮ͬͨ͜ͱ͕ ͋Δ ࣮ફͰ ࢖͍ͬͯΔ ஌ࣝͱͯ͠ ஌͍ͬͯΔ

  41. ςετपΓͷ՝୊ • UI / ౷߹ςετ͕ओͰɺςετ࡞੒ɾ࣮ߦʹ͕͔͔͍࣌ؒͬͯΔ • ςετ࣮ߦͷ࢓૊Έ͕ࣗલ࣮૷Ͱɺࡉ੍͔͍ޚ·Ͱߟྀ͞Ε͍ͯͳ͍ • ςετσʔλΛڞ༗͍ͯͯ͠ɺଞͷςετέʔε͕ෆҙʹյΕΔ •

    Ͳ͜Ͱςετࣦഊ͍ͯ͠Δ͔͕෼͔ΓͮΒ͍ɺͳͲ ςετ͕։ൃΛࢧԉ͢Δ΋ͷͰͳ͘ɺ଍͔ͤʹͳ͍ͬͯΔ
  42. ΍ͬͨ͜ͱ • ߴ଎ɾ҆ఆͯ͠ςετΛճͤΔΑ͏ʹɺϢχοτςετ؀ڥΛ੔උ • Jest / pytestͱ͍ͬͨσϑΝΫτελϯμʔυͳϑϨʔϜϫʔΫΛ࠾༻

  43. ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ • Ϣχοτςετʹෆ׳Εͳਓ΋ଟ͍ʢTDDBCͰମݧͨ͠ਓ΋͍Δ͚ ͲɺશһࢀՃͨ͠Θ͚Ͱ͸ͳ͍ʣ • ϓϩμΫτίʔυ͕ςετΛ૝ఆͨ͠࡞Γʹͳͬͯͳ͍ͷͰɺςετ ͕·ͣಈ͘ͱ͜Ζ·Ͱ͍࣋ͬͯ͘ࡍͷϋϚΓͲ͜Ζ͕ଟ͍ • ͜ͷঢ়گͰɺ·ͣ͸ʮςετָ͍ͬͯ͠Ͷʯͱ͍͏ײ֮Λ࣋ͬͯ΋Β ͍͍ͨ

  44. ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ • ϋϚΓͲ͜ΖΛऔΓআ͍ͯɺຊ࣭తͳςετϩδοΫʹ஫ྗͯ͠΋Β͏ • ςετ࣮ߦͷ؀ڥઃఆͱαϯϓϧίʔυ͸ɺ࠷ॳʹ੔͓͑ͯ͘ • νʔϜ͕ϢʔβʔετʔϦʔʹऔΓֻ͔Δࡍɺςετͷ਽ܗΛ࡞ͬͨ ্ͰɺνʔϜʹ͍࣋ͬͯͬͯҰॹʹςετ࡞੒ͯ͠ΈΔ ʮ΍ͬͯΈͤɺݴͬͯฉ͔ͤͯɺ ͤͯ͞Έͤɺ΄Ίͯ΍ΒͶ͹ɺਓ

    ͸ಈ͔͡ʯCZࢁຊޒे࿡
  45. ࣮ࡍʹςετ͍ͨ͠ϝ ιουʢ͜͜Ͱ͸NFUIPEʣ ʹରͯ͠ɺνʔϜͱҰॹʹத਎ Λॻ͍͍ͯ͘ ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ ςετ͍ͨ͠ϩδοΫʹ ௚઀ؔΘΒͳ͍લॲཧͳͲ͸ɺ ༧Ί࡞੒͓ͯ͘͠ʢϋϚΔͱແବ ʹ༹͕͚࣌ؒͯɺϞνϕʔγϣ ϯ͕མͪΔͷͰʣ

  46. ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ • ςετ࣮ߦͷ؀ڥઃఆ • ઃఆϑΝΠϧͷ४උʢjest.con fi g.js ͳͲʣ • σʔλϕʔεΛ༻͍ͨςετΛิॿ͢Δؔ਺ʢ

    fi xtureʣͷ࡞੒ • ςετॳճىಈ࣌ʹɺσʔλϕʔεͷ࡟আ / ࡞੒ • ςετ͝ͱʹɺಠཱͨ͠σʔλͷ౤ೖ / ഁغ
  47. • σʔλϕʔεͷ࡞੒ • ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ • ςετσʔλͷ౤ೖ •

  48. ํ਑ɿςετͷָ͠͞Λମײͯ͠΋Β͏ • ϓϩμΫτίʔυ͸͍͡Βͳ͍ • ϓϩμΫτίʔυΛ͍͡Δͱɺ৺ཧతʹड͚ೖΕͮΒ͍͔ͳͱ൑அ • ςετίʔυଆͰɺϞοΫͳͲΛۦ࢖ͯ͠ରԠ ϓϩμΫτίʔυΛςετ͠΍ ͍͢ܗʹม͍͚͑ͯͨΒɺ΋͏ ͪΐͬͱָͩͬͨΖ͏ͳ͋ʜ

  49. ;Γ͔͑ΓͰग़ͨײ૝

  50. Ξ΢τϥΠϯ • എܠ • ΍ͬͨ͜ͱ • ࣾ಺TDDBCʢTDD Boot Campʣ։࠵ •

    Ϣχοτςετ؀ڥͷ੔උ • ΍ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
  51. • ՝୊͕શͯղܾ͞ΕͨΘ͚Ͱ͸ͳ͍͕ɺ౔୆͕੔͖ͬͯͨ • ৽͘͠௥Ճɾमਖ਼͞ΕͨϓϩμΫτίʔυͰ͸ɺσʔλϕʔεؚΜ ͩ౷߹ςετϨΠϠͰͷςετ͕௥Ճ͞Ε͍͍ͯͬͯΔ • ϢχοτςετϨϕϧͰ͸ɺ·ͩςετ͕े෼Ͱ͸ͳ͍ͷͰɺςε τʢͱରʹͳΔϦϑΝΫλϦϯάʣΛਪ͠ਐΊ͍ͯ͘ ݱঢ়

  52. • ՝୊͕શͯղܾ͞ΕͨΘ͚Ͱ͸ͳ͍͕ɺ౔୆͕੔͖ͬͯͨ ݱঢ়

  53. ;Γ͔͑ͬͯΈͯͷɺϝϯόʔͷײ૝ • ཻ౓͕ૈ͍ςετ͔͠ͳ͔ͬͨͱ͜Ζ͕ɺཻ౓͕ࡉ͔͍ςετ΋ॻ͚Δ؀ڥ͕੔ͬ ͖ͯͯɺཧ૝ܥʹ͍͖ۙͮͯͨ • ςετέʔε͔Βߟ͑ΔͷΛ࣮ફ͖ͯͯ͠ɺ࢓༷Λߟ͑Δͷ্͕ख͘ͳ͖ͬͯͨײ ͕͢͡Δ • Ϣχοτςετͱ͍͏֓೦͕ਁಁ͍ͯ͠ͳ͍ਓ΋ଟ͔ͬͨதͰɺͦͷਓ΁ͷྑ͍ڭ ҭͷػձʹͳ͔ͬͨͳͱࢥ͏

    • ࠓճ͸ʮ0→1ʯͰͷςετ؀ڥ੔උͩͱࢥ͍ͬͯͯɺ·ͩ·ͩʮ1ʯͩͱࢥ͍ͬͯ Δɻ͔͜͜Βʮ1 to 10ʯͷಇ͖͔͚΋ॏཁʹͳͬͯ͘ΔͷͰɺͦΕΛਪਐ͍ͨ͠
  54. εΫϥϜϚελʔ͕ࢪࡦΛਪ͠ਐΊΔޭࡑ ΍Γ΍͍͢఺ ฐ֐ ଞͷ໾ׂͱൺ΂ͯɺࣗ༝ʹಈ͖΍͍͢ w։ൃऀͱൺ΂ͯɺશମΛݟͳ͕Βಈ͖΍͍͢ wΞδϟΠϧίʔνͱൺ΂ͯɺதͷਓͱͯ͠ϑϧλΠϜͰ ࣌ؒΛ֬อͰ͖Δ ։ൃऀ͕ద੾ͳεΩϧΛֶΜͰ੒௕͍ͯ͘͠ػձΛɺ εΫϥϜϚελʔ͕ఠΈऔΔݒ೦͕͋Δ ʮ୹ظతʹɺ՝୊͕ղܾ͢Δଈޮੑʯ

    WT ʮத௕ظతͳɺνʔϜͷ੒௕ʯ
  55. εΫϥϜϚελʔ͕ࢪࡦΛਪ͠ਐΊΔޭࡑ • ࠓճ͸ɺࣗ෼Ͱਪ͠ਐΊΔ͜ͱΛબ୒ • ໼ా͞Μͷ৘೤Λɺ୯ൃͷऔΓ૊ΈͰઈ΍ͨ͘͠ͳ͍ • ͜ͷػձʹ͍͑΍ͰਐΊͨ΄͏͕ɺνʔϜʹͱͬͯޮՌ͕ େ͖͍ͱ൑அ

  56. Ξ΢τϥΠϯ • എܠ • ΍ͬͨ͜ͱ • ࣾ಺TDDBCʢTDD Boot Campʣ։࠵ •

    Ϣχοτςετ؀ڥͷ੔උ • ΍ͬͨ݁Ռ • େࣄʹͨ͠ࢥ͍
  57. தଜɿ৘೤Λ࣋ͬͨਓͷഎதΛԡ͍ͨ͠ • େ੾ʹ͍ͯ͠ΔՁ஋؍ɿʮݱ৔Ͱಇ͘νʔϜͷ໾ʹཱ͍ͪͨʂʯ • Ձ஋؍ͷମݱํ๏ͷҰͭʹʮ৘೤Λ࣋ͬͨਓͷഎதΛԡ͢ʯ • ͍͟ͱ͍͏ͱ͖ʹద੾ʹഎதΛԡͤΔΑ͏ʹɺֶͼଓ͚ͯҾ͖ग़ ͠Λ૿΍͓͖͍ͯͨ͠

  58. ໼ాɿ࠷ॳͷน͸৘೤Ͱյ͢ • ͦΕͧΕ༏ઌॱҐ͕͋ΔͷͰৗʹϝϯόʔͷ߹ҙ͕ͱΕΔΘ͚Ͱ͸ͳ͍ɹɹɹ • ࣗ෼ʹྨكͳΔٕज़ྗ΍ਓΛಈ͔͢ܦݧ͕͋ͬͨ༁Ͱ͸ͳ͍ • ͦΕͰ΋มԽ͸޿͕Δ͠ɺࣗ෼ͷؒҧ͍͕ٞ࿦ΛੜΜͰֶͼʹͳͬͨ͜ ͱ΋͋ͬͨʢؒҧ͍≠ࣦഊʣɹ ٕज़΍ܦݧͰ͸ͳ͘ɺ৘೤Λ࣋ͬͯಥ͖ਐΉ ͜ͱ͕େࣄͩͱվΊͯײͨ͡

    ؒҧ͍͸ঢ়ଶ ࣦഊ͸݁Ռ
  59. “ ৽͍͠ΞΠσΞΛಋೖ͢ΔͨΊʹɺͦͷΞΠσΞ ʹ͔͚Δ৘೤Ͱɺ͋ͳͨࣗ਎Λಥ͖ಈ͔ͦ͏ ” Fearless Change : 1. ΤόϯδΣϦετ 59