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

XP, Testing and ninja testing ZOZ5

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

XP, Testing and ninja testing ZOZ5

Avatar for seki at druby.org

seki at druby.org

October 04, 2025

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ʹ҆৺Ͱ͖Δ  ʮΞϝͱϜνʯʹͳΓ΍͍͢ʢ͍͔ʹ͋Δ΂͖͔ʣ

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