みんなテストってどうやってるの?

265edb69bfcd5cac012ad5a14f2e6e2f?s=47 OSCA
February 23, 2018

 みんなテストってどうやってるの?

様々な業種のシステムを開発している参加者に「それぞれの開発現場でどのようにテストをやっているのか?」の共有と意見交換を目的としたディスカッションを開催しました。

265edb69bfcd5cac012ad5a14f2e6e2f?s=128

OSCA

February 23, 2018
Tweet

Transcript

  1. 04$" ᖛ໺ Ұೋࡾ !FOHJOFFS@PTDB ΈΜͳςετͬͯͲ͏΍ͬͯΔͷʁ

  2. ࣗݾ঺հ © OSCA 04$"ᖛ໺ Ұೋࡾ ͸·ͷ ͔ͣ;Έ 4*FS ໷ܠࣸਅՈ 

    +BWB 1)1ϝΠϯͷ8&#ΤϯδχΞ  ਓ޻஌ೳ "* ΋ษڧத  8&#ΤϯδχΞษڧձΛओ࠵  !FOHJOFFS@PTDB c!PTDBQIPUP c!EJTOFZ@PTDB
  3. © OSCA ςετ͸޷͖Ͱ͔͢ʁ

  4. © OSCA 4*FSͰಇ͘"͞Μ͸ɺ৽͍͠8&#γεςϜͷϓϩδΣΫτ Λ೚͞Ε·ͨ͠ɻ "͞Μ͸ɺਖ਼௚Ͱ੣࣮ͳ੨೥Ͱ͢ɻ ͬͦ͘͞"͞Μ͸։ൃཁ݅Λ੔ཧதͰ͢ɻ ʮ࣍͸ςετ޻ఔʹ͍ͭͯͷ੔ཧͩɻ ͓٬༷͸ɺͲΜͳ෩ ʹςετͯ͠ཉ͍͠ͷ͔ͳ͊ʁ ͪΐ͏Ͳ໌೔ɺސ٬ͱͷଧ

    ͪ߹Θ͕ͤ͋Δ͔Βɺͬ͘͟͹ΒΜʹཁ๬ΛώΞϦϯάͯ͠ ΈΑ͏ʂʯ ংষ
  5. © OSCA "͞Μ ʮԿ͔ςετ޻ఔͰ͝ཁ๬͸͋Γ·͔͢ʁ ԿͳΓͱ͓ਃ͠ ෇͚͍ͩ͘͞ʯ ʹͬ͜Γ ٬"ʮͱΓ͋͑ͣɺόά͸θϩͰ͓ئ͍͠·͢ʯ ٬#ɿʮςετ޻਺ʁ΋ͪΖΜ࠷খݶͰ͓ئ͍͠·͢ʯ ٬$ɿʮೲ඼෺ʁ஌ΒΜ͚Ͳɺςετίʔυɾ࢓༷ॻશ෦ʯ

    ٬%ɿʮ໢ཏੑʁ஌ΒΜ͚ͲɺશέʔεɾશΫϥε͔ͳʯ ٬&ɿʮςετίʔυͷಈ͔͠ํͷϚχϡΞϧ΋ೲ඼ͯ͠ʯ ংষ
  6. © OSCA "͞Μ ʮԿ͔ςετ޻ఔͰ͝ཁ๬͸͋Γ·͔͢ʁ ԿͳΓͱ͓ਃ͠ ෇͚͍ͩ͘͞ʯ ʹͬ͜Γ ٬"ʮͱΓ͋͑ͣɺόά͸θϩͰ͓ئ͍͠·͢ʯ ٬#ɿʮςετ޻਺ʁ΋ͪΖΜ࠷খݶͰ͓ئ͍͠·͢ʯ ٬$ɿʮೲ඼෺ʁ஌ΒΜ͚Ͳɺςετίʔυɾ࢓༷ॻશ෦ʯ

    ٬%ɿʮ໢ཏੑʁ஌ΒΜ͚ͲɺશέʔεɾશΫϥε͔ͳʯ ٬&ɿʮςετίʔυͷಈ͔͠ํͷϚχϡΞϧ΋ೲ඼ͯ͠ʯ ংষ ࢮ
  7. © OSCA ΈΜͳςετͬͯͲ͏΍ͬͯΔͷʁ ͜ͷηογϣϯ͸ɺօ͞ΜࢀՃܕͷΦʔϓϯσΟεΧογϣ ϯܗࣜͰ͢ɻ ࿩ͨ͘͠ͳͬͨΒɺ͍ͭͰ΋ޱΛڬΜͰͩ͘ ͍͞ʂ ˞஫ҙ˞ • ʮਖ਼ղʯ͕ͳ͍ςʔϚͳͷͰɺ༏͍͠ؾ࣋ͪͰଞͷࢀՃ

    ऀͷҙݟΛฉ͍͍ͯ͋͛ͯͩ͘͞ɻ
  8. © OSCA ΦʔϓϯσΟεΧογϣϯ

  9. © OSCA ςετͷ࿩Λ͢Δͱ͖ʹ೉͍͜͠ͱ ਓͦΕͧΕͷόοΫάϥ΢ϯυ͕͋Γ·͢ɻ • ௕͍ؒɺಉ͡αʔϏεΛϝϯςφϯε͠ଓ͚͍ͯΔਓ • ೲ඼ͨ͠ΒऴΘΓͷϓϩδΣΫτͷਓ • ௿ίετͰςετΛऴΘΒ͢͜ͱ͕໾ׂͷਓ

    • ҆৺ײॏࢹͰɺͱʹ͔͘શͯΛςετͷର৅ʹ͍ͨ͠ਓ • ਓͷೖΕସΘΓ͕ଟ͍গͳ͍ݱ৔ͷਓ • όά͕͋ͬͨ৔߹ɺ͓٬༷ʹઌਞ੾ͬͯँΔ໾ׂͷਓ
  10. © OSCA ͓୊̍ʮखಈɾࣗಈͷڥքʯ ςετʹ͸ɺࣗಈԽͰ͖Δ෦෼ͱͰ͖ͳ͍෦෼͕͋Γ·͢ɻ օ͞Μ͸ɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ

  11. © OSCA ͓୊̍ʮखಈɾࣗಈͷڥքʯ ςετʹ͸ɺࣗಈԽͰ͖Δ෦෼ͱͰ͖ͳ͍෦෼͕͋Γ·͢ɻ օ͞Μ͸ɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲໨ ࣗಈԽͯ͠ςετ͢Δ߲໨

  12. © OSCA ͓୊̍ʮखಈɾࣗಈͷڥքʯ ςετʹ͸ɺࣗಈԽͰ͖Δ෦෼ͱͰ͖ͳ͍෦෼͕͋Γ·͢ɻ օ͞Μ͸ɺͲͷΑ͏ʹઢҾ͖Λ͍ͯ͠·͔͢ʁ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲໨ ࣗಈԽͯ͠ςετ͢Δ߲໨ ϒϥ΢βͰͷૢ࡞ੑ

    ৭ ϨΠΞ΢τ ૯߹ςετɾγφϦΦςετ ܁Γ͔͑͠ςετΛ͠ͳ͍߲໨ ڞ௨Ϋϥεɾؔ਺ɾ"1* ୯ମςετ ͳΜͲ΋܁Γฦ͠ςετΛ͢Δର৅ <Ωʔϫʔυ> • Y6OJU +6OJU 1)16OJU • 4FMFOJVN • $* +FOLJOT 5SBWJT
  13. © OSCA ͓୊ʮςετΛࣗಈԽ͢Δ໨త͸ͳΜͰ͔͢ʁʯ Y6OJU ΍ $*ͳͲΛར༻ͯ͠ɺςετΛࣗಈԽ͢Δ໨త͸ͳ ΜͰ͠ΐ͏͔ʁ

  14. © OSCA ͓୊ʮςετΛࣗಈԽ͢Δ໨త͸ͳΜͰ͔͢ʁʯ Y6OJU ΍ $*ͳͲΛར༻ͯ͠ɺςετΛࣗಈԽ͢Δ໨త͸ͳ ΜͰ͠ΐ͏͔ʁ  Կ౓Ͱ΋ςετΛ࣮ߦͰ͖Δ൓෮ੑ 

    มߋ΍ϦϑΝΫλϦϯάͰ"1*Λ୲อ͢ΔͨΊ ҆৺ײ  ιʔείʔυͰ࢓༷Λදݱ͢ΔͨΊ
  15. © OSCA ςετࣗಈԽͰ҆৺ײ͕ཉ͍͠ཧ༝͸ʁ • "1*Λյͣ͞ʹϦϑΝΫλϦϯά͍ͨ͠ͱ͖ • ػೳมߋ࣌ʹଞػೳʹӨڹ͕ͳ͍͜ͱΛ͔֬Ί͍ͨͱ͖ • ϒϥϯΫظ͕ؒ͋ͬͯιʔείʔυʹ৮Δͱ͖ •

    ୲౰ऀͷมߋ͕͋ͬͨͱ͖ ୀ৬ɾୀϓϩ
  16. © OSCA ςετίʔυͰ࢓༷Λදݱ͢Δ • ϏδωείʔυΛோΊΔΑΓ΋ɺςετίʔυΛோΊͨ ํ͕ݫີͳ࢓༷Λཧղ͠΍͘͢Ͱ͖Δ৔߹΋͋Δɻ

  17. © OSCA ͓୊ʮςετίʔυ͸ͲΕ͘Β͍ॻ͖·͔͢ʁʯ ϓϩδΣΫτʹ͓͚Δ ςετ૯ྔ खಈͰςετ͢Δ߲໨ ࣗಈԽͯ͠ςετ͢Δ߲໨

  18. © OSCA Ͳͷ͘Β͍ςετΛॻ͍ͨΒྑ͍ͷ͔ʁ Controller Service BusinessB BusinessA Wrapper Util Util

    Dao Dao Util ΂͖࿦ͱͯ͠͸ʮςετ͸΍Ε͹΍Δ΄Ͳྑ͍ʯ͸ਖ਼͍͠ɻ
  19. © OSCA ςετॻ͖͗͢໰୊ • શΫϥεɾؔ਺Λςετ͢Δͷ͸େมɻ • ಺෦ϩδοΫͳͲΛςετ͗͢͠ΔͱɺϦϑΝΫλϦϯ άͨ͠Γ͢Δͱ͖ʹ଍͔ͤʹͳΔ৔߹͕͋Δɻ

  20. © OSCA %)) %BWJE)FJOFNFJFS )BOTTPO

  21. © OSCA %)) %BWJE)FJOFNFJFS )BOTTPO 3VCZPO3BJMTͷ࡞ऀ

  22. © OSCA %)) %BWJE)FJOFNFJFS )BOTTPO 3VCZPO3BJMTͷ࡞ऀ You’re probably doing it

    wrong if testing is taking more than 1/3 of your time. You’re definitely doing it wrong if it’s taking up more than half. ࡞ۀ࣌ؒͷҎ্͕ςετʹؔ ͢Δ࡞ۀʹ͔͔͍ͬͯΔͱͨ͠Βɺ Կ͔΍ΓํΛؒҧ͍͑ͯΔɻ൒෼ Ҏ্Λςετʹׂ͍͍ͯΔͱͨ͠ Β׬શʹؒҧ͍ͬͯΔɻ
  23. © OSCA Ͳͷ͘Β͍ςετΛॻ͍ͨΒྑ͍ͷ͔ʁ ྫ 4FSWJDFϨΠϠʔ͚ͩશύλʔϯ΍Δ Controller Service BusinessB BusinessA Wrapper

    Util Util Dao Dao Util
  24. © OSCA ·ͱΊ

  25. © OSCA ·ͱΊ ·ͱ·Γ·ͤΜ