アジャイルテストを、壮絶に、考える。

A760a90c9afd981004343b9861f1e8b4?s=47 Dai FUJIHARA
September 17, 2012

 アジャイルテストを、壮絶に、考える。

アジャイル開発におけるテストを考えてみた。

A760a90c9afd981004343b9861f1e8b4?s=128

Dai FUJIHARA

September 17, 2012
Tweet

Transcript

  1.  &YQMPSF"HJMF5FTUJOH %BJ'VKJIBSBIUUQEBJQSFTFOUTDPN 'FBUVSJOHl5IF%BSL,OJHIU3JTFTzIUUQXXXUIFEBSLLOJHIUSJTFTDPN ςετΛɺ૖ઈʹɺߟ͑Δɻ

  2. 8IZ"HJMF5FTUJOH w ΞδϟΠϧ։ൃͷΑ͏ͳγϣʔτεϓϦϯτ ͷςετ৘ใ͕গͳ͍ w αʔϏε։ൃͱ͍͏ίϯςΩετʹैདྷͷς ετ͕Ϛον͠ͳ͍ w Ͳ͏͠Α͏͔ࠔͬͯΔ

  3. Α͘Ͱͯ͘Δਤ IUUQXXXNPVOUBJOHPBUTPGUXBSFDPNTDSVNpHVSFT ͜ͷϑΟʔυόοΫαΠΫϧͰςετ ·Ͱ΍Βͳ͍ͱ͍͚ͳ͍

  4. ΞδϟΠϧςετͷ৅ݶ ୯ମςετ ίϯϙʔωϯτςετ ػೳςετ ྫͱͯ͠ ετʔϦʔςετ ϓϩτλΠϓ γϛϡϨʔγϣϯ ୳ࡧతςετ γφϦΦ

    ϢʔβϏϦςΟςετ Ϣʔβड͚ೖΕςετ ΞϧϑΝϕʔλ ύϑΥʔϚϯεෛՙςετ ηΩϡϦςΟςετ ʮʙੑʯςετ #PPL࣮ફΞδϟΠϧςετʢ"HJMF5FTUJOHʣIUUQCJUMZ/N$D/8 ࣗಈͱखಈ ࣗಈ πʔϧ खಈ
  5. ΞδϟΠϧςετͷ৅ݶ ୯ମςετ ίϯϙʔωϯτςετ ػೳςετ ྫͱͯ͠ ετʔϦʔςετ ϓϩτλΠϓ γϛϡϨʔγϣϯ ୳ࡧతςετ γφϦΦ

    ϢʔβϏϦςΟςετ Ϣʔβड͚ೖΕςετ ΞϧϑΝϕʔλ ύϑΥʔϚϯεෛՙςετ ηΩϡϦςΟςετ ʮʙੑʯςετ #PPL࣮ફΞδϟΠϧςετʢ"HJMF5FTUJOHʣIUUQCJUMZ/N$D/8 ࣗಈͱखಈ ࣗಈ πʔϧ खಈ ៉ྷʹ੔ཧ͞Ε͍ͯΔ͚ͩͰ ͸໾ʹཱͨͳ͍ɻ͔ͩΒԿʁ ݱ৅͕ൃੜ͢Δ
  6. ΍Γ͍ͨ͜ͱ w ΍Βͳ͚Ε͹ͳΒͳ͍͜ͱΛ஌Γ w ΍Δ΂͖͜ͱΛ֬ఆ͠ w ͖͋ΒΊͨ͜ͱΛڞ༗͠ w ΈΜͳͰϦεΫΛཧղ͢Δ

  7. ςετΛࣗ෼ͨͪ༻ʹ੔ཧ͢Δ ୯ମςετʢ65ʣ Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ୳ࡧతςετ ϢʔβϏϦςΟςετ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ

    πʔϧ खಈ
  8. Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ςετΛࣗ෼ͨͪ༻ʹ੔ཧ͢Δ ୯ମςετʢ65ʣ ୳ࡧతςετ ϢʔβϏϦςΟςετ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ

    πʔϧ खಈ 65ͱը໘ͷೋͭΛࣗಈԽɻ େ੾ʹ͍ͨ͠࢖ͬͯΈͨͱ͖ ͷʮؾ͖ͮʯ͸खಈʹͩ͜Θ Δ࡞ઓɻ
  9. Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ όάൃੜ࣌ʹ࠶ݱ΍஋֬ೝͳͲΛ͢͹΍͘

    ࣮ߦ͢ΔͨΊʹϓϩάϥϜԽඞਢɻ ࠷ۙ͸ࣗಈίʔυੜ੒ͱ͔͋ΔͷͰͦ͏ ͍ͬͨͱ͜Ζ͸ແཧͯ͠࡞Βͳ͍ɻ 65ͷൣғ ୳ࡧతςετ ϢʔβϏϦςΟςετ w ࠷খ୯ҐͷϓϩάϥϜͱॲཧͷςετ w "1*ɾ%#઀ଓ͸͜͜ʹؚΊͯ͠·͏ w ϓϩάϥϜ࡞੒ͷςετΤϏσϯεͱͯ͠࡞Δ
  10. ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ 6"5ͷൣғ ୳ࡧతςετ ϢʔβϏϦςΟςετ

    w 6"5ΛࣗಈԽ͢Δͱ୯७࡞ۀͷ܁Γฦ͠ʹͳͬ ͨͷͰɺը໘ςετɺγφϦΦςετ΋6"5Ͱ Ұؾʹย෇͚Δ w ը໘ςετ͸έʔε͕େྔʹͰ͖ΔͷͰ͞Βʹ ࡉ෼Խͯ͠ର৅ΛܾΊΔʢޙड़ʣ Ϣʔβड͚ೖΕςετ ʢ6"5ʣ 8FC%SJWFSͳͲΛ࢖͏ͱ؆୯ʹը໘ςε τͰ͖Δ࣌୅ʹͳ͕ͬͨɺ৽͘͠΢Οϯυ ΢Λ։͘ͱ͔΍Γʹ͍͘ςετ΋͋ΔͷͰ ͦ͏͍͏ͷ͸͖͋ΒΊΔɻ
  11. ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ 6"5ͷ͸͡Ί͔ͨ ୳ࡧతςετ ϢʔβϏϦςΟςετ

    w ը໘͝ͱͷςετΑΓػೳ͝ͱͷςετͷ΄͏ ͕Өڹൣғ͕෼͔Γ΍͍͢ w 34QFD 8FC%SJWFSͩͱॳ৺ऀͰ΋؆୯ʹ ࣗಈԽɺϓϩάϥϜԽͰ͖ΔͷͰॊೈ Ϣʔβड͚ೖΕςετ ʢ6"5ʣ
  12. ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ 6"5ͷτϨʔυΦϑ ୳ࡧతςετ ϢʔβϏϦςΟςετ

    Ϣʔβड͚ೖΕςετ ʢ6"5ʣ γϯϓϧͳػೳ ෳࡶͳػೳ ϝδϟʔͳػೳ ϚΠφʔͳػೳ ௒ॏཁ ॏཁ ͜ͷ΁Μ͸೔ʑͷը໘ νΣοΫͰΧόʔ͞Εͯ ͨ ͜ͷ΁Μ͸೔ʑͷը໘ νΣοΫͰΧόʔ͞Εͯ ͨ ͖͋ΒΊର৅
  13. ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ πʔϧͷൣғ ୳ࡧతςετ ϢʔβϏϦςΟςετ

    Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ηΩϡϦςΟ෦෼͸65Ͱ΍Δ͜ͱ΋Ͱ͖ ΔͷͰɺ΍ΕΔ͚ͩ΍ͬͯπʔϧʹཔΔ࡞ ઓ w ෛՙςετ w πʔϧͷઃఆΛ࢖͍·Θ͢͜ͱͰָΛ͢Δ
  14. ୯ମςετʢ65ʣ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ πʔϧ खಈ खಈͷൣғ ୳ࡧతςετ ϢʔβϏϦςΟςετ

    Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ʮ͜͏ͳ͍ͬͯͨΒ͍͍ͷʹʯ΋͜͜Ͱચ ͍ग़͠ɺड͚ೖΕ୲౰ऀʹ࢓༷มߋ͔ແࢹ ͔ͷ൑அΛͯ͠΋Β͏ɻ ։ൃऀશһͰ࣌ؒΛ͋ΘͤɺͤʔͷͰςε τ͍ͯ͘͠ͱ੝Γ্͕Δ w ը໘ϨΠΞ΢τɺσβΠϯ͸ਓͷ໨Λ࢖͏ w खಈͰૢ࡞ɺର৅୺຤ʢJ1IPOFͱ͔ʣͰૢ࡞ w ςετͰͷʮؾ͖ͮʯΛνέοτԽͯ͠'#ʹͭ ͳ͛Δ
  15. ࣌ؒΛ༗ޮ׆༻͢Δ ୯ମςετʢ65ʣ Ϣʔβड͚ೖΕςετ ʢ6"5ʣ ୳ࡧతςετ ϢʔβϏϦςΟςετ ύϑΥʔϚϯεπʔϧ ηΩϡϦςΟπʔϧ ࣗಈ ࣗಈ

    πʔϧ खಈ ஫ྗ ࣌ؒ࡟ݮ ࣌ؒ࡟ݮ ࣌ؒ࡟ݮ
  16. ϓϩηεͷมԽ IUUQXXXNPVOUBJOHPBUTPGUXBSFDPNTDSVNpHVSFT 65ͷϑΟʔυόοΫαΠΫϧ ʢࣗಈʣ 6"5ͷϑΟʔυόοΫαΠΫϧ ࣗಈ ୳ࡧɺϢʔβϏϦςΟͷ ϑΟʔυόοΫαΠΫϧ खಈ

  17. ·ͱΊ wςετΛʮͳΜͱͳ͘ʯ͠ͳ͍ wςετ͸ૂͬͯ΍Δ wͰ͖ͳ͍͜ͱΛཧղ͠ɺϦεΫ ʹߏ͑Δ