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

XP, Testing and ninja testing ZOZ5

XP, Testing and ninja testing ZOZ5

Avatar for seki at druby.org

seki at druby.org

October 04, 2025
Tweet

More Decks by seki at druby.org

Other Decks in Programming

Transcript

  1. F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτ΢ΣΞ޻ֶख๏ ✦ ιϑτ΢ΣΞ։ൃϏδωεͷن ཯ ✦ ϕετϓϥΫςΟεΛۃ୺ʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢

    91 ੈلͷऴΘΓͷιϑτ΢ΣΞ޻ֶΛ্ॻ͖͠ʹ͖ͨʂʢ੡඼ͷ࡞Γํͩͬͨͷ΋ͷ͕ঃʑʹ࡞ΒͤํʹͳͬͨɻͦΕΛ࠶ͼ࡞Γํʹ໭ͨ͠ײ͢͡Δʣ 
  2. F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτ΢ΣΞ޻ֶख๏ ✦ ιϑτ΢ΣΞ։ൃϏδωεͷن ཯ ✦ ϕετϓϥΫςΟεΛۃ୺ʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢

    91 ϏδωεͳͷͰɺͦͦ͜͜ʹෳࡶͰɺਓ΍ࢿۚʹ੍໿͕͋ΓɺϦϦʔε͢Δ೔͕ܾ·͍ͬͯΔɻͦ͏͍͏ϓϩδΣΫτʹ޲͍͍ͯΔɻʢখ͍͞ɺ୯७ɺ୹ೲظʹ͸ޮՌͳ͍ʣ 
  3. F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτ΢ΣΞ޻ֶख๏ ✦ ιϑτ΢ΣΞ։ൃϏδωεͷن ཯ ✦ ϕετϓϥΫςΟεΛۃ୺ʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢

    91 ͍͍͘͢͝ϓϥΫςΟεΛۃ୺ʹ΍Δʂۃ୺ྲྀϓϩάϥϛϯάͷ༝དྷɻʢ㲈ͪΐͬͱ͍͍΍ͭΛ·Μ΂Μͳ͘΍ͬͨΓ͠ͳ͍ʣ 
  4. F9USFNF1SPHSBNNJOH ✦ ૉૣ͘͸ٸ͍ͰΔ͜ͱͰ͸ͳ͍ ✦ λΠϜϘοΫε ✤ ظؒͱ໨ඪʢͷ֬ೝํ๏ʣ ✦ ֬ೝ͢Δͱ͍͏͜ͱɺͦͷํ๏ɺ࣌ ظΛλΠϜϘοΫεͷ࢝Ίʹߟ͑Δ

    ͜ͱ͕ૉૣͬ͞Ά͞Λৢ͢  ✦ ਓ͸ϛε͢Δɺ͕ࠜఈʹ͋Δ ✤ ૣ͘ϛε͕όϨΔΑ͏ʹ  ϛε͠ͳ͍Α͏ʹͯ͠΋ϛε͢Δ 91 ͍ΖΜͳλΠϜϘοΫε͕͋ͬͯɺͦΕΛར༻ͯ͠໰୊Λ໌ΔΈʹग़͢ɻʢۃ୺ʹͨ͠Β࣌ؒ؅ཧͷςΫχοΫͰ͸ͳ͘ͳͬͨʣ 
  5. F9USFNF1SPHSBNNJOH ✦ ൓෮։ൃΆ͍ϓϥΫςΟεΛۃ୺ʹ ✤ ϢʔβʔετʔϦʔ͕͢͹Β͍͠ͷͰ  ͣͬͱ࢒Δʗຖ೔ݟ௚͢ʗೖΕࢠ͕ͳ ͍ ✤ ड͚ೖΕςετ͕͢͹Β͍͠ͷͰ

     શһ΍Δʗͣͬͱ΍Δʗຖ೔ݟ௚͢ʗ৽ ͨͳ໰୊ΛΈ͚ͭΔςετʹ͢Δ ✤ ςετۦಈ։ൃ͕͢͹Β͍͠ͷͰ  ͋ΒΏΔΞΫςΟϏςΟʹൣғΛ޿͛Δ  ೜ऀࣜςετͰ͸ ͓ʁ91͡Όͳ͘ͳͬͨͷʂʁ 
  6. ࣗಈԽ͍ͨ͠ͷʁ ͳ͓೜ऀࣜςετͷςετ͸खಈςετͰ͢ ✦ ճάϦʔϯʹͳͬͯ΋CJU΋Α͘ͳΒͳ͍͚Ͳ ✤ ͔ͩΒࣗಈԽͰ͢ΑʂແବͳΜͰʂʢΘ͔Δʣ ✤ Ͱ΋΋͔ͯ͠͠࡞Γյ͕͋͠Δ͔΋͠Εͳ͍͔Β  ͦΜͳʹ৺഑ੑͷਓ͕ࣗಈԽͰ͖ͨͱ͜Ζʹ͔͠໰୊͕ͳ͍ͬͯࢥ͏͸͕ͣͳ͍Αͳ

    ✤ ςετͷࣗಈԽ͸࣮ߦΑΓ΋ɺࣗಈԽ͢ΔաఔͰͷ࣮૷ͷચ࿅ʢϓϩάϥϛϯάʣ ͷ΄͏ʹՁ஋͕͋Δ ʮ඼࣭Λ୲อ͢Δʯͱ͍͏ϑϨʔζ͕ӕ͗͘͢͞ΔͷͰ᪳᪯ͳ͘࢖͏ਓͱ͸ڑ཭ஔ͘Α͏ʹͯ͠Δɻอ਎ͱ͍͑͹͍͍ͷʹ 
  7. ✦ ιϑτ΢ΣΞ։ൃ ✤ اըɾ࢓༷ɺઃܭͷ໰୊Λɺͦͷ ޻ఔͰݟ͚ͭΔͷ͸೉͍͠ ✤ ࢼͣ͞ʹձٞ΍ϨϏϡʔ͚ͩͰ͢ ΂ͯͷ໰୊Λൃݟ͢Δͷ͸೉͍͠ ✤ ࢼͯ͠Έͨ΄͏͕ޮ཰͕ྑ͍ʢι

    ϑτ΢ΣΞͷಛ௃ͷͻͱͭɿ҆͘ ࢼͤΔʣ 画・仕様、設計の問題を、その工程で見つけるのは難しい さずに会議やレビューだけですべての問題を発見するのは難しい してみたほうが効率が良い(ソフトウェアの特徴のひとつ:安く試せる) 6 September 2023 不具合の原因工程と不具合の発見工程 (独立行政法人情報処理推進機構 2012 年度「ソフトウェア産業の実態把握に関する調査」 調査報告書 pp. 78 2013) େن໛ιϑτ΢ΣΞ։ൃͷ೉͠͞ ʢಠཱߦ੓๏ਓ৘ใॲཧਪਐػߏ೥౓ʮιϑτ΢ΣΞ࢈ۀͷ࣮ଶ೺Ѳʹؔ͢ΔௐࠪʯௐࠪใࠂॻQQʣ  ෆ۩߹ͷݪҼ޻ఔͱෆ۩߹ͷൃݟ޻ఔ
  8.  ✦ ൓෮։ൃ ✤ େ͖ͳཁٻΛ਺೔ఔ౓ͷখ͞ͳ୯ҐʹΘ͚ͯ։ൃ͢Δ ✤ ֬ೝ͢Δ޻ఔΛΑΓૣ͘ɺ͗Γ͗Γ·Ͱ࢓༷΍ઃܭΛௐ੔Ͱ͖ΔΑ͏ʹ͢Δ ✤ ൓෮։ൃͷར఺ 

    Ұ౓ʹѻ͏είʔϓ͕খ͍͞ͷͰࡉ෦ʹ·Ͱ໨͕ಧ͖΍͘͢ͳΔ  ࣍ͷ7ࣈʹલճͷ7ࣈͰൃݟͨ͠໰୊΍ҧ࿨ײɺ஌ݟΛϑΟʔυόοΫͰ͖Δ େن໛ιϑτ΢ΣΞ։ൃͷ೉͠͞ ➢ 反復開発 ⚫ 大きな要求を数日程度の小さな単位にわけて開発する ⚫ 確認する工程をより早く、ぎりぎりまで仕様や設計を調整できるようにする ⚫ 反復開発の利点 • 一度に扱うスコープが小さいので細部にまで目が届きやすくなる • 次のV字に前回のV字で発見した問題や違和感、知見をフィードバックできる 大規模ソフトウェア開発の難しさ 8 t September 2023
  9. ೜ऀࣜςετ ✦ ςετۦಈ։ൃʢ5%%ʣΛड͚ೖΕςετͷϨϕϧͰߦ͏ϓϥΫςΟε ✤ Y6OJUΛ࢖ͬͨ5%%ͷΑ͏ʹɺड͚ೖΕςετ͔Β͸͡ΊΔ։ൃ ✤ ςετίʔυʹಋ͔ΕͯϓϩάϥϜΛ։ൃ͢ΔΑ͏ʹɺड͚ೖΕςετʹಋ͔ΕͯετʔϦʔΛ࣮ݱ͢Δ ✤ ετʔϦʔ͕૿͑ΔͨͼʹɺͦΕ·Ͱʹ࡞ͬͨ͢΂ͯͷετʔϦʔͷड͚ೖΕςετΛ΍Γ௚͢ ໊લ͸ʮςετʯͰ͕͢ςετ͚ͩͰͳ͘ɺιϑτ΢ΣΞ։ൃશମͷ׆ಈͰ͢

     ➢ テスト駆動開発(TDD)を受け入れテストのレベルで行うプラクティス ⚫ xUnitを使ったTDDのように、受け入れテストからはじめる開発 ⚫ テストコードに導かれてプログラムを開発するように、受け入れテストに導かれてストー リーを実現する ⚫ ストーリーが増えるたびに、それまでに作ったすべてのストーリーの受け入れテストをやり 直す 忍者式テスト 11 September 2023 名前は「テスト」ですがテストだけでなく、ソフトウェア開発全体の活動です
  10. ೜ऀࣜςετ ✦ ड͚ೖΕςετ͔Β͸͡ΊΔ ✤ Ͳ͏࡞Δͷ͔ʁͰ͸ͳ͘ɺͲ͏ࢼ͢ͷ͔ʁ͔Βߟ͑Δ  Ͳ͏ࢼͤ͹ɺϢʔβʔ͕ࠔ͍ͬͯΔ͜ͱ͕ղܾͰ͖ͨͱ෼͔Δͷ͔  Ͳ͏ࢼͤ͹ɺҙਤͨ͠ͱ͓Γʹ࡞Εͨͱݴ͑Δͷ͔ ✤

    ςετΛى఺ͱͯ͠ɺιϑτ΢ΣΞ։ൃશମΛߟ͑ɺ໰͍ଓ͚Δ  ຊ౰ʹΑ͍γεςϜͱͳ͍ͬͯΔͷ͔ʁ ໋໊ͷ༝དྷɿ೜ऀ͕ຖ೔੒௕͢Δຑ΍஛ͷ্Λඈͼӽ͑Δमߦʹ༝དྷɻຖ೔૿͑ΔςετέʔεͷଋΛຖ೔શ෦΍Γ௚༷͢ࢠ͕ࣅ͍ͯΔ 
  11. ೜ऀࣜςετ ։ൃ೔ه͸ຖேશһͰಡΈ߹Θ͍ͤͯΔʢʮͦͷ༷ࢠ͸ઃܭϨϏϡʔʹ͍ۙʯCZUXBEBʣ  ✦ ετʔϦʔ͸νέοτͰ؅ཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε 

    γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃ೔ه  ຖ೔ͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠಺ ༰΍݁ՌͳͲ  ઃܭ΍࣮૷ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔ͸਺೔Ͱ׬੒͢Δେ͖͞ ✤ େ͖ͳཁٻΛద੾ͳେ͖͞ͷετʔ Ϧʔʹม׵͢Δͷ͸ٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόά΋ετʔϦʔ ͱಉ༷ʹѻ͏
  12. ೜ऀࣜςετ ཁٻ͔ΒετʔϦʔ΁ͷม׵͸͜ͷ͋ͱ͓࿩͠͠·͢  ✦ ετʔϦʔ͸νέοτͰ؅ཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε 

    γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃ೔ه  ຖ೔ͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠಺ ༰΍݁ՌͳͲ  ઃܭ΍࣮૷ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔ͸਺೔Ͱ׬੒͢Δେ͖͞ ✤ େ͖ͳཁٻΛద੾ͳେ͖͞ͷετʔ Ϧʔʹม׵͢Δͷ͸ٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόά΋ετʔϦʔ ͱಉ༷ʹѻ͏
  13. ೜ऀࣜςετ  ✦ ετʔϦʔ͸νέοτͰ؅ཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε  γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏

    ✤ ։ൃ೔ه  ຖ೔ͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠಺ ༰΍݁ՌͳͲ  ઃܭ΍࣮૷ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔ͸਺೔Ͱ׬੒͢Δେ͖͞ ✤ େ͖ͳཁٻΛద੾ͳେ͖͞ͷετʔ Ϧʔʹม׵͢Δͷ͸ٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόά΋ετʔϦʔ ͱಉ༷ʹѻ͏
  14. ೜ऀࣜςετ  ͜ ͷ ͋ ͱ  ૿ ิ ʂ

    ✦ ετʔϦʔ͸νέοτͰ؅ཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε  γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃ೔ه  ຖ೔ͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠಺ ༰΍݁ՌͳͲ  ઃܭ΍࣮૷ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔ͸਺೔Ͱ׬੒͢Δେ͖͞ ✤ େ͖ͳཁٻΛద੾ͳେ͖͞ͷετʔ Ϧʔʹม׵͢Δͷ͸ٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόά΋ετʔϦʔ ͱಉ༷ʹѻ͏ ͜ͷνέοτγεςϜ͸͓ख੡ʢ38JLJʣͰ͢ʂ👏
  15. ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͸͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτ΢ΣΞઃܭɺ࣮૷ɾσόοάʣΛͣͬͱ΍͍ͬͯΔ ✤ ෳ਺ΠςϨʔγϣϯͷ͋ͱʹɺςετ୲౰͕·ͱΊͯड͚ೖΕςετ͢Δ  ➢ 「スクラムはうまくできているのに、開発がうまくいかない」

    ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t
  16. ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͸͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτ΢ΣΞઃܭɺ࣮૷ɾσόοάʣΛͣͬͱ΍͍ͬͯΔ ✤ ෳ਺ΠςϨʔγϣϯͷ͋ͱʹɺςετ୲౰͕·ͱΊͯड͚ೖΕςετ͢Δ ࡞ۀ͸ਐΜͰ͍ΔΑ͏ʹݟ͑Δ͕ɺ੡඼ͱͯ͠͸ࢼͤͯͳ͍ͷͰɺ࡞ۀͷ͔֬Β͠͞͸Θ͔Βͳ͍··ਐΜͰ͍Δ  ➢

    「スクラムはうまくできているのに、開発がうまくいかない」 ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
  17. ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͸͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτ΢ΣΞઃܭɺ࣮૷ɾσόοάʣΛͣͬͱ΍͍ͬͯΔ ✤ ෳ਺ΠςϨʔγϣϯͷ͋ͱʹɺςετ୲౰͕·ͱΊͯड͚ೖΕςετ͢Δ ϓϩάϥϛϯάʹ͍ۙྖҬΛΠςϨʔγϣϯʹ۠੾͚ͬͨͩͰɺେ͖ͳͭͷ7ࣈͷ։ൃͱมΘΒͳ͍  ➢

    「スクラムはうまくできているのに、開発がうまくいかない」 ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
  18. ࢲͨͪͷνʔϜ ✦ ൓෮͝ͱʹ7ࣈͷ͢΂ͯͷεςοϓΛߦ͏ ✦ શһ͕։ൃऀ ✤ ͢΂ͯͷ޻ఔΛߦ͏ϓϩάϥϚʔ ✤ ϓϩάϥϛϯάҎ֎ͷ͢΂ͯͷ޻ఔΛߦ͏ςελʔ 

    ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
  19. ࢲͨͪͷνʔϜ ✦ Α͍੡඼ʹͳ͍ͬͯΔ͔Ͳ͏͔ʹڵຯ͕͋Δ ✤ ୹͍पظͰͰ͖͹͑Λݟ͍ͨˠ൓෮͝ͱͷड͚ೖΕςετ ✤ ୹͍पظͰ੡඼ͷ࢓༷΍ઃܭΛνϡʔχϯά͍ͨ͠ ✤ ͗Γ͗Γ·Ͱ੡඼Λຏ͖͍ͨ ࡞ۀͷਐḿ͸ʮ੡඼ʯͰݟΔͥʂͱ͍͏ଶ౓Ͱ͢

     ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
  20. ࢲͨͪͷνʔϜ ✦ Α͍੡඼ʹͳ͍ͬͯΔ͔Ͳ͏͔ʹڵຯ͕͋Δ ✤ ୹͍पظͰͰ͖͹͑Λݟ͍ͨˠ൓෮͝ͱͷड͚ೖΕςετ ✤ ୹͍पظͰ੡඼ͷ࢓༷΍ઃܭΛνϡʔχϯά͍ͨ͠ ✤ ͗Γ͗Γ·Ͱ੡඼Λຏ͖͍ͨ 

    ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
  21. ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͸͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτ΢ΣΞઃܭɺ࣮૷ɾσόοάʣΛͣͬͱ΍͍ͬͯΔ ✤ ෳ਺ΠςϨʔγϣϯͷ͋ͱʹɺςετ୲౰͕·ͱΊͯड͚ೖΕςετ͢Δ  ➢ 「スクラムはうまくできているのに、開発がうまくいかない」

    ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
  22. γεςϜͰࢼͤΔҰ൪খ͞ͳมԽ͸Ͳ͔͜ ✦ ʮطଘͷγεςϜʹϘλϯΛ͚ͭͯத਎ͷͳ͍ը໘Λදࣔ͢Δʯ͔Β։࢝ ͜Μͳʹখ͞ͳมԽͰ΋ߟ͑Δ͜ͱ͕ͨ͘͞Μ͋Γ·͢  㾎 γεςϜଆ͕ػೳΛ֦ுͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͔ 㾎 ͲΜͳͱ͖ʹىಈͰ͖Δͷ͔ 㾎

    ऴྃͨ͠ΒͲΜͳը໘ʹͳ͍ͬͯΔ΂͖͔ 㾎 ىಈʹؔΘΔઃఆϑΝΠϧʢγεςϜશମɺػೳผʣ 㾎 ىಈํ๏ΛͲ͏͢Δͷ͔ʢϝχϡʔɺϘλϯʣ 㾎 ೋॏىಈΛڐ͢ʢ੍ޚํ๏ʣʗڐ͞ͳ͍ 㾎 ΢Οϯυ΢ͷ;ΦʔμʔɺϞʔμϧʗϞʔυϨε 㾎 ը໘ʢ΢Οϯυ΢ʗμΠΞϩάʣ͕ಈ͘ʗಈ͔ͳ͍ 㾎 εΫϦʔϯηʔόʔͳͲ͕ಈ͍ͨͱ͖ͷڍಈ 㾎 ΩʔϘʔυγϣʔτΧοτͷׂΓ౰ͯ 㾎 ଞͷػೳͱͷฒߦಈ࡞ 㾎 ػೳͷىಈதʹͰ͖Δ͜ͱ͸ͳʹ͔ 㾎 ىಈதʹγεςϜΛऴྃͨ͠ΒͲ͏ͳΔͷ͔ 㾎 γεςϜΛ࠶ىಈͨ͠ͱ͖Ͳ͏ͳͬͯ΄͍͔͠
  23. όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·Ͱ͸ετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ৅͚ͩͰਂࠁ͞Λ൑அ͠ͳ͍ ✤ όά͸໰୊ͷҰ෦෼͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊ౰ͷ໰୊Λ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤

    όάΛආ͚ͯ։ൃʗςετ͠ͳ͚Ε͹ͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺഑༰ྔ͸Ұఆ ✤ ͍·͋Δ໰୊Λղܾ͠ͳ͚Ε͹ɺ΋ͬͱߴ౓ͳ໰୊Λݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺഑ͷྔ͸Ұఆ 
  24. όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·Ͱ͸ετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ৅͚ͩͰਂࠁ͞Λ൑அ͠ͳ͍ ✤ όά͸໰୊ͷҰ෦෼͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊ౰ͷ໰୊Λ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤

    όάΛආ͚ͯ։ൃʗςετ͠ͳ͚Ε͹ͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺഑༰ྔ͸Ұఆ ✤ ͍·͋Δ໰୊Λղܾ͠ͳ͚Ε͹ɺ΋ͬͱߴ౓ͳ໰୊Λݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺഑ͷྔ͸Ұఆ 
  25. όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·Ͱ͸ετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ৅͚ͩͰਂࠁ͞Λ൑அ͠ͳ͍ ✤ όά͸໰୊ͷҰ෦෼͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊ౰ͷ໰୊Λ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤

    όάΛආ͚ͯ։ൃʗςετ͠ͳ͚Ε͹ͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺഑༰ྔ͸Ұఆ ✤ ͍·͋Δ໰୊Λղܾ͠ͳ͚Ε͹ɺ΋ͬͱߴ౓ͳ໰୊Λݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺഑ͷྔ͸Ұఆ 
  26. ͍ͨ΁Μͳ͜ͱʹͳΓ·͢ Ͱ΋΍ΔΜͩΑ  たいへんなことになります Day n+1 Vn+1 Story n+1 Day

    n+2 Vn+2 Day n+3 Vn+3 Story n+2 Story n+3 Day n Vn Day n+ Vn+4 Story n+4
  27. ن໛ͱ޲͖߹͏ Ұ೔Ͱ͢΂ͯͷςετέʔεΛճͤͳ͘ͳΔ೔͕΍͖ͬͯͨʂ  ✦ ௚ۙͷมߋ͸ૣ͔֬͘Ί͍ͨʗ͢΂ͯͷςετέʔεΛ͔֬Ί͍ͨ ✦ Ұ೔Ͱ͸ͳ͘ɺ͋ΔظؒͰςετέʔεΛ͢΂ͯճ͢࡞ઓʹ੾Γସ͑ͨ ✦ ·Μ΂Μͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤

    ৽͍͠ετʔϦʔɺमਖ਼ͨ͠͹͔ΓͷνέοτͷςετέʔεΛ࠷༏ઌ ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱස౓Λঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱස౓Λௐ੔ ✤ ͋ΔظؒͰݟΔͱɺ͢΂ͯͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓ೔ͷςετεΠʔτˠʮຊ೔ͷ͓͢͢Ίςετʯ ✤ Ұ೔ʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ౗͞Εͳ͍Α͏ʹ͢Δʣ
  28. ن໛ͱ޲͖߹͏  ✦ ௚ۙͷมߋ͸ૣ͔֬͘Ί͍ͨʗ͢΂ͯͷςετέʔεΛ͔֬Ί͍ͨ ✦ Ұ೔Ͱ͸ͳ͘ɺ͋ΔظؒͰςετέʔεΛ͢΂ͯճ͢࡞ઓʹ੾Γସ͑ͨ ✦ ·Μ΂Μͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤ ৽͍͠ετʔϦʔɺमਖ਼ͨ͠͹͔ΓͷνέοτͷςετέʔεΛ࠷༏ઌ

    ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱස౓Λঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱස౓Λௐ੔ ✤ ͋ΔظؒͰݟΔͱɺ͢΂ͯͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓ೔ͷςετεΠʔτˠʮຊ೔ͷ͓͢͢Ίςετʯ ✤ Ұ೔ʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ౗͞Εͳ͍Α͏ʹ͢Δʣ
  29. ن໛ͱ޲͖߹͏  ✦ ௚ۙͷมߋ͸ૣ͔֬͘Ί͍ͨʗ͢΂ͯͷςετέʔεΛ͔֬Ί͍ͨ ✦ Ұ೔Ͱ͸ͳ͘ɺ͋ΔظؒͰςετέʔεΛ͢΂ͯճ͢࡞ઓʹ੾Γସ͑ͨ ✦ ·Μ΂Μͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤ ৽͍͠ετʔϦʔɺमਖ਼ͨ͠͹͔ΓͷνέοτͷςετέʔεΛ࠷༏ઌ

    ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱස౓Λঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱස౓Λௐ੔ ✤ ͋ΔظؒͰݟΔͱɺ͢΂ͯͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓ೔ͷςετεΠʔτˠʮຊ೔ͷ͓͢͢Ίςετʯ ✤ Ұ೔ʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ౗͞Εͳ͍Α͏ʹ͢Δʣ
  30. ن໛ͱ޲͖߹͏ ʮຊ೔ͷ͓͢͢Ίςετʯͷ࣮૷͸38$Ͱઆ໌͢ΔͷͰฉ͖ʹ͖ͯͶʂ  ✦ ௚ۙͷมߋ͸ૣ͔֬͘Ί͍ͨʗ͢΂ͯͷςετέʔεΛ͔֬Ί͍ͨ ✦ Ұ೔Ͱ͸ͳ͘ɺ͋ΔظؒͰςετέʔεΛ͢΂ͯճ͢࡞ઓʹ੾Γସ͑ͨ ✦ ·Μ΂Μͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤

    ৽͍͠ετʔϦʔɺमਖ਼ͨ͠͹͔ΓͷνέοτͷςετέʔεΛ࠷༏ઌ ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱස౓Λঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱස౓Λௐ੔ ✤ ͋ΔظؒͰݟΔͱɺ͢΂ͯͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓ೔ͷςετεΠʔτˠʮຊ೔ͷ͓͢͢Ίςετʯ ✤ Ұ೔ʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ౗͞Εͳ͍Α͏ʹ͢Δʣ
  31. ։ൃͷ೉͠͞ʹ௼Γ߹͏Α͏ʹνʔϜͷ։ൃೳྗ΋޲্ /(ͷ఺͸Α͘ݟ͑ΔΑ͏ʹڧௐ͍ͯ͠·͢  テスト実施の記録(20年分) 57 営業日 チケット番号 September 2023 NGの点はよく見えるように強調しています

    ⿟νέοτͷ਺͕ϦχΞʹ૿͍͑ͯΔ ⿟γεςϜ͕ෳࡶʹͳΓɺཁٻ΋ߴ౓ʹͳ͍ͬͯΔ͕ ಉ͡ϖʔεͰ։ൃ͍ͯ͠Δ ⿟ن໛͕େ͖͘ͳͬͯ΋มߋίετ͸ҰఆͰ͋Δ ૝ఆ͞ΕΔઢ
  32. ೜ऀࣜςετͷޮՌ ✦ ೉ͦ͠͏ͳ໰୊΋᪳᪯ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹΍ੑೳͳͲͷ࣮૷Ϩϕϧͷ໰୊ʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ޿͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧ૝ͷ੡඼ΛΠϝʔδͯ͠ɺͦΕͱͷࠩ෼΋ੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦

    શһ͕ͣͬͱʮྑ͍੡඼ͱ͸Կ͔ʯΛ໰͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹ΋ಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ޲্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t 
  33. ೜ऀࣜςετͷޮՌ ✦ ೉ͦ͠͏ͳ໰୊΋᪳᪯ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹΍ੑೳͳͲͷ࣮૷Ϩϕϧͷ໰୊ʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ޿͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧ૝ͷ੡඼ΛΠϝʔδͯ͠ɺͦΕͱͷࠩ෼΋ੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦

    શһ͕ͣͬͱʮྑ͍੡඼ͱ͸Կ͔ʯΛ໰͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹ΋ಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ޲্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t 
  34. ೜ऀࣜςετͷޮՌ ✦ ೉ͦ͠͏ͳ໰୊΋᪳᪯ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹΍ੑೳͳͲͷ࣮૷Ϩϕϧͷ໰୊ʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ޿͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧ૝ͷ੡඼ΛΠϝʔδͯ͠ɺͦΕͱͷࠩ෼΋ੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦

    શһ͕ͣͬͱʮྑ͍੡඼ͱ͸Կ͔ʯΛ໰͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹ΋ಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ޲্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t ͜Ε͸ιʔγϟϧνΣϯδʁ  ͜ ͷ ͋ ͱ  ૿ ิ ʂ
  35. ظ͕ؒ͋Δͱߟ͑΍͍͢ ✦ ͋ͱिؒʢ೔ɾ࣌ؒʣͳΒ ✤ ͳʹΛ͢Δͷ͕͓ಘ͔ʁ ✤ ͲͷػೳΛ࡞Δ͔ ✤ Ͳͷ໰୊Λͳ͓͔͢ ✤

    ͲΜͳςετΛ͢Δ͔ ✤ ͲΜͳจॻΛ࢒͔͢ ✦ ظ͕ؒ͋Δ͜ͱͰબ୒Ͱ͖ΔɾܾΊ ΒΕΔ ✦ ʮ΋ͷ͘͢͝Α͍͜ͱʯ͚ͩʹͳΔ λΠϜϘοΫεԾઆ ظ͕ؒఆ·Βͳ͍ͱʮΑ͍͜ͱʯΛશͯΛ΍Γͨ͘ͳΔɻϏδωεͳͷͰ੍࣌ؒ໿͕͋ΔΜͩͧʂ 
  36. ͲΜͳจॻΛ࢒ͦ͏ͱͯ͠ɺͦͯ͠࢒ͬͨͷ͔ ݶΒΕͨظؒͰॻ͚ΔɾಡΊΔɾϝϯςφεͰ͖Δ΋ͷ͸ͳΜͩʂʁ ✦ ͲΜͳͱ͖ʹಡΉʁ ✤ ๨Εͨ͜Ζʹ໰͍߹Θ͕ͤ͋ͬͨΓɺվ଄ͨ͘͠ͳͬͨΓ͢Δͱ͖ ✦ ͳʹ͕΄͍͠ʁ ✤ ࢖͍ํɻͦͷͱ͖ظ଴͍ͯͨ͠੡඼ͷಈ͖͕ॻ͍ͯ͋Δͱ͏Ε͍͠

     ͍·ͷಈ࡞͕ਖ਼͍͠ͷ͔յΕ͍ͯΔͷ͔ɺޙੈʹ͸Θ͔Βͳ͍  ͦͷڍಈΛબΜͩҙਤʢ࢓༷ͷૉ੖Β͠͞ɾٽ͘ٽ͘બΜͩʣͱ͔ ✦ ೜ऀࣜςετͷνέοτͦͷ΋ͷ ✤ ࢖͍ํɾ΄͍͠΋ͷ͕ςετ΍೔هͰॻ͔Ε͍ͯΔ ✤ ͜ͷςετ͸ྫࣔʹΑΔ࢓༷ʹۙ͘ɺ໰୊Λ୳͢ͱ͖ͷग़ൃ఺ͱͳΔ ✤ ʢνέοτ͸໋ྩॻͱ͔఻ථͱ͔͡Όͳ͍Μͩͧʂʣ ೥ؒຖ೔બ୒͖ͯͨ݁͠Ռɺ࢒ͬͨจॻ͸ड͚ೖΕςετͩͬͨ 
  37. εʔύʔΤϯδχΞ΁ͷಓ Ϧʔμʔγοϓͱ૊৫ͷຊͩΑʂඇৗʹಡΈʹ͍͚͘Ͳ໰୊ఏىͨ͘͞Μͩʂʂ ✦ ੈքʹؔ͢ΔೋͭͷϞσϧ ✤ ͨͩҰͭͷਖ਼ղ͕͋Δɺͱߟ͑Δ௚ઢతϞσϧ  FBTZʹ҆৺Ͱ͖Δ  ʮΞϝͱϜνʯʹͳΓ΍͍͢ʢ͍͔ʹ͋Δ΂͖͔ʣ

     ʮڧ੍ʯͱʮ൑ఆʯ ✤ ଟ਺ͷҼࢠͱ࣌ؒܦա͔ΒͳΔɺͱߟ͑Δ༗ػతϞσϧ  Θ͔Βͳ͞Λड͚ೖΕΔෆ҆  ʮλωʯ͔ΒҭͯΔͱߟ͑Δ  ʮબ୒ʯͱʮൃݟʯ ਖ਼͍͠ͳʹ͔͕͋Δͱߟ͑Δ௚ઢతͳϞσϧͱɺੈք͸ͦΜͳʹ୯७͡Όͳ͍ͩΖͱߟ͑Δ༗ػతϞσϧ