Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
XP, Testing and ninja testing ZOZ5
Search
seki at druby.org
October 04, 2025
Programming
1
140
XP, Testing and ninja testing ZOZ5
seki at druby.org
October 04, 2025
Tweet
Share
More Decks by seki at druby.org
See All by seki at druby.org
XP, Testing and ninja testing
m_seki
3
710
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
500
ERB, ancient and future
m_seki
3
920
ERB Hacks
m_seki
1
1.5k
わりこまれるはなし
m_seki
0
920
ぼくのかんがえたさいきょうのけいやくによるプログラミング
m_seki
2
1.3k
Learn Ractor
m_seki
1
2.7k
How many copies did you buy the first print?
m_seki
1
1.1k
Create my own search engine.
m_seki
1
5.4k
Other Decks in Programming
See All in Programming
VisionFrameworkで実現する - プライバシーに配慮した「顔ぼかし」機能 / Face blurring with Vision Framework
imaizume
0
190
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
2
1.5k
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
1
550
CSC305 Lecture 01
javiergs
PRO
1
380
CSC305 Lecture 02
javiergs
PRO
1
260
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
120
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.1k
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
140
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.7k
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
Swift Concurrency - 状態監視の罠
objectiveaudio
2
370
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Thoughts on Productivity
jonyablonski
70
4.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How STYLIGHT went responsive
nonsquared
100
5.8k
Building Applications with DynamoDB
mza
96
6.6k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Practical Orchestrator
shlominoach
190
11k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Transcript
OJOKBUFTUJOHDPN 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
OJOKBUFTUJOHDPN 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~ ૿ ิ ʂ
͜Ε·ͰԿΛ͖͔ͯͨ͠ ͓ͳߨԋͷ·ͱΊͷεϥΠυΛฒͯͷͰݟͯʂʂ 91ࡇΓ σϒαϛ 91ࡇΓ 3VCZηϛφʔେࡕ NJXB࣌ N@TFLJ࣌
91ࡇΓ 91Ͱ͏·͍ͬͨ͘ʢ࣌91ΛΔ͔Βͳ͍͔Ͱ໎ͬͯΔϒʔϜͩͬͨʣ ऀࣜςετɺܭըήʔϜ͍·ͱมΘΒͳ͍ɻಉ͡νʔϜͰΓ͍ͨʂ
σϒαϛ γεςϜͷنɺෳόʔδϣϯɺෳΛฒߦͯ͠ѻ͑ͨΑʂ ·ͱΊΛݟΔͱɺنΑΓνʔϜ͕શମͷςʔϚͩͬͨͷͩͳ͋
91ࡇΓ 91&ΛಡΈ͢ͷ͕ςʔϚɻकഁͷʂͱ͔ݴ͚ͬͯͲɺͦΕ͕ͦ͜91ͩͬͨΜͩΑʂͱ͍͏ ࣌ʢࠓ͔ͳʣΞδϟΠϧΔ͔Βͳ͍͔໎͍ͬͯΔͱ͍͏ΑΓɺΞδϟΠϧΒ͞ΕͯΔײ͡ʹͳͬͯΔ
3VCZηϛφʔେࡕ 44 42J1͔Β࢝·ΔNJXBࢹͷूେ NJXBͷࢹ͔ΒޠΒΕΔ͜ͱͰϦΞϦςΟ͕૿͢ɻ͔͠N@TFLJΑΓΘ͔Γ͍͢ɻ ιϑτΣΞγϯϙδϜ ιϑτΣΞ࣭γϯϙδϜ
3VCZηϛφʔେࡕ ࣌ؒͷ͔ؔΒׂѪͨ͠ωλΛ෮׆ɺίϝϯτΛ૿ྔ͠·͢ʂʂ ࠓ ͜ Ε ʂ
ຊฤʢऀࣜςετʣͷલʹ91Λઆ໌ͯ͠ʔ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ςετΛઆ໌͔ͯ͠Β 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ຊฤʹೖΓ·͢ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ࣗݾհ ͋ͷʢҩྍػثιϑτΣΞ։ൃͷF9USFNFͳʣνʔϜʹॴଐ͢Δ։ൃऀ ؔকढ़ϓϩάϥϚ ਂ୩ඒςελʔ ͜ͷ9ઢ$5ը૾ࢲͨͪͷ։ൃͨ͠ஔͰࡱӨͨ͠ࢲͨͪͷதʢਓؒυοΫͷ࠶ݕࠪͰࡱͬͯΒͬͨΑʂʣ
લઆ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
F9USFNF1SPHSBNNJOH ✦ Ҿ༻͠·͢ 91 ΞδϟΠϧϓϥΫςΟεϚοϓ"HJMF4UVEJPIUUQTXXXBHJMFTUVEJPKQBHJMFQSBDUJDFNBQ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ΞδϟΠϧϓϥΫςΟεϚοϓ"HJMF4UVEJPIUUQTXXXBHJMFTUVEJPKQBHJMFQSBDUJDFNBQ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ੈلͷऴΘΓͷιϑτΣΞֶΛ্ॻ͖͠ʹ͖ͨʂʢͷ࡞Γํͩͬͨͷͷ͕ঃʑʹ࡞ΒͤํʹͳͬͨɻͦΕΛ࠶ͼ࡞Γํʹͨ͠ײ͢͡Δʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ϏδωεͳͷͰɺͦͦ͜͜ʹෳࡶͰɺਓࢿۚʹ੍͕͋ΓɺϦϦʔε͢Δ͕ܾ·͍ͬͯΔɻͦ͏͍͏ϓϩδΣΫτʹ͍͍ͯΔɻʢখ͍͞ɺ୯७ɺೲظʹޮՌͳ͍ʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ͍͍͘͢͝ϓϥΫςΟεΛۃʹΔʂۃྲྀϓϩάϥϛϯάͷ༝དྷɻʢ㲈ͪΐͬͱ͍͍ͭΛ·ΜΜͳͬͨ͘Γ͠ͳ͍ʣ
F9USFNF1SPHSBNNJOH ✦ ϙετɾιϑτΣΞֶख๏ ✦ ιϑτΣΞ։ൃϏδωεͷن ✦ ϕετϓϥΫςΟεΛۃʹ࣮ࢪ ✦ ։ൃαΠΫϧΛૉૣ͘ճ͢
91 ૉૣ͘ɺʢͱ͔ૣ͘ͱ͔εϐʔυͱ͔ʣͪΐͬͱΘ͔Γʹ͍͘
F9USFNF1SPHSBNNJOH ✦ ૉૣ͘ٸ͍ͰΔ͜ͱͰͳ͍ ✦ λΠϜϘοΫε ✤ ظؒͱඪʢͷ֬ೝํ๏ʣ ✦ ֬ೝ͢Δͱ͍͏͜ͱɺͦͷํ๏ɺ࣌ ظΛλΠϜϘοΫεͷ࢝Ίʹߟ͑Δ
͜ͱ͕ૉૣͬ͞Ά͞Λৢ͢ ✦ ਓϛε͢Δɺ͕ࠜఈʹ͋Δ ✤ ૣ͘ϛε͕όϨΔΑ͏ʹ ϛε͠ͳ͍Α͏ʹͯ͠ϛε͢Δ 91 ͍ΖΜͳλΠϜϘοΫε͕͋ͬͯɺͦΕΛར༻ͯ͠Λ໌ΔΈʹग़͢ɻʢۃʹͨ͠Β࣌ؒཧͷςΫχοΫͰͳ͘ͳͬͨʣ
F9USFNF1SPHSBNNJOH ✦ ෮։ൃΆ͍ϓϥΫςΟεΛۃʹ ✤ ϢʔβʔετʔϦʔ͕͢Β͍͠ͷͰ ͣͬͱΔʗຖݟ͢ʗೖΕࢠ͕ͳ ͍ ✤ ड͚ೖΕςετ͕͢Β͍͠ͷͰ
શһΔʗͣͬͱΔʗຖݟ͢ʗ৽ ͨͳΛΈ͚ͭΔςετʹ͢Δ ✤ ςετۦಈ։ൃ͕͢Β͍͠ͷͰ ͋ΒΏΔΞΫςΟϏςΟʹൣғΛ͛Δ ऀࣜςετͰ ͓ʁ91͡Όͳ͘ͳͬͨͷʂʁ
͜Εͨͩͷ91Ͱ͋Δ F9USFNF1SPHSBNNJOH ✦ 91ࣗମʹۃ͞Λ͞Βʹ্͛Δ͜ͱΛଅ͢Έ͕ࡏ͞Ε͍ͯΔʢͱࢥ͏ ✤ 91ͷຊʹॻ͍ͯ͋Δఔͷۃ͞ɺग़ൃͰ͋ͬͯͦΕ͕ਖ਼͍͠91ͱ͍͏Θ͚ ͡Όͳ͍ ✤ ͦͷۃ͞ʹཹ·Δͷຊʹۃྲྀ͔ʁ ԘҪ͞Μ͔Β࣭͞ΕͨͷͰΑ͘ߟ͑ͯΈͨʂ
͜ ͷ ͋ ͱ ૿ ิ ʂ
91ͷύϥμΠϜΛ91ʹద༻͢Δ ɻ͜Ε࠷ॳͷ91&Ͱ͞Μ༁ͩͬͨ
91ͷύϥμΠϜΛ91ʹద༻͢Δ ✦ 91&ʹհ͞Ε͍ͯΔϓϥΫςΟεूΛΔ͜ͱ͕91͡Όͳ͍ͱࢥ͏ ֯͞Μͷ༁͜͏Ͱ͢ 91ͷύϥμΠϜʢҙͯ͠ɺదԠͯ͠ɺมߋ͢ΔʣΛ91ͦͷͷʹ ద༻͍ͯ͠Δɻ 91&YJJJ
91ͱͳʹ͔ ࠷ॳͷஈམ͔Β ΄Ͳ΄Ͳ͘Β͍ͷྑ͞ͷϞϊͷόʔΛԼ͛Δͯ͠ΔΑʂ 91ιʔγϟϧνΣϯδͰ͋Δɻ91ͱɺҎલ͏·͍͍͔ͬͯͨ͘͠Ε ͳ͍͕ɺ͍·Ͱ࠷ߴͷࣄͷअຐʹͳ͍ͬͯΔश׳ύλʔϯΛख์͢͜ͱ ͩɻ91ͱɺ͜Ε·ͰࣗͨͪΛक͖ͬͯͯ͘Ε͕ͨɺࠓͰੜ࢈ੑͷ͛ʹ ͳ͍ͬͯΔͷΛࣺͯڈΔ͜ͱͩɻԿ͔͕ͩࣗ͞Β͚ͩ͞Εͨؾ࣋ͪʹͳΔ ͔͠Εͳ͍ɻ 91&Q
όʔΛԼ͛Δ ͳʹ͔ͷόʔΛʹ্͛ɺͳʹ͔ͷόʔΛԼ͛Δ ࣄ͠·ͨ͠ʂࢲͷ͍ͤ͡Ό͋Γ·ͤΜʂΛઆ໌͢ΔͨΊʹͳͬͯ͠·ͬͨࣄͱ͔Ͷ 91ιʔγϟϧνΣϯδͰ͋Δɻ91ͱɺҎલ͏·͍͍͔ͬͯͨ͘͠Ε ͳ͍͕ɺ͍·Ͱ࠷ߴͷࣄͷअຐʹͳ͍ͬͯΔश׳ύλʔϯΛख์͢͜ͱ ͩɻ91ͱɺ͜Ε·ͰࣗͨͪΛक͖ͬͯͯ͘Ε͕ͨɺࠓͰੜ࢈ੑͷ͛ʹ ͳ͍ͬͯΔͷΛࣺͯڈΔ͜ͱͩɻԿ͔͕ͩࣗ͞Β͚ͩ͞Εͨؾ࣋ͪʹͳΔ ͔͠Εͳ͍ɻ 91&Q
όʔΛԼ͛Δ ݶΒΕͨ࣌ؒͷதͰԿ͔ΛΔʹԿ͔ΛΊͳ͍ͱ ✦ ૿͢ͷ؆୯͚ͩͲݮΒ͢ͷେม ✤ ͏·͍ͬͨ͘͜ͱ͕͋ͬͨͱͯ͠ɺ͍·߹Θͳ͚ΕऔΓআ͘ ✤ ݱঢ়ʹϚον͠ͳ͍ͷΛΊΔ ✤ ͦ͏ݴͬͯɺͬͯΔ͜ͱΛΊΔͷෆ҆ʹͳͬͪΌ͏
ͰΔΜͩΑ
91Λհͨ͠ɻ࣍ςετ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ాਓ͞Μᐌ͘
ాਓ͞Μᐌ͘ ͍ͭҾ༻ͯ͘͠Εͯ͋Γ͕ͱ͏͍͟͝·͢
UXBEB͞Μᐌ͘
ղઆ͠·͢ ද໘తʹฉ͘ͱؾ͕͍͍͕ ✦ ςετΛͯ͠ϞϊΑ͘ͳΒͳ͍ ✤ Α͘͢ΔͷϓϩάϥϛϯάͩͧʂʢͦΕͦ͏ʣ ͬͺϓϩάϥϛϯάॏཁͩͳʔ
ςετͰΛݟ͚ͭͯͳ͓͢ ✦ ؾʹೖΒͳ͍͜ͱΛ୳ͯ͠ɺͬͱྑ͘͢ΔͨΊʹςετ͢Δ ✤ ͏·͍ͬͨ͘ςετɺͱ͍͏ͷ৽͍͠Λݟ͚ͭΒΕͨςετ ✤ ࣦഊͨ͠ςετɺͱ͍͏ͷͳʹ͕ݟ͔ͭΒͳ͔ͬͨςετ ͜ ͷ
͋ ͱ ૿ ิ ʂ
ςετͱͳʹ͔ ͡Ό͋ઃܭʁ ΤϥʔΛൃݟ͢ΔతͰϓϩάϥϜΛ࣮ߦ͢Δաఔ͕ ςετͰ͋Δɽ ιϑτΣΞͷ৴པੑQ ͪ ΐ ͬ ͱ
ݴ ͍ ͨ ͍
ઃܭͱͳʹ͔ ʮܭըʹैͬͯܗΛ͑Δ͜ͱɽʯ ͜ͷҙຯΛͱΕɼཁٻతΛఆΊΔ͜ͱʹ࢝·Γɼ ϓϩάϥϜΛॻ͘͜ͱʹࢸΔιϑτΣΞͷࣄશମʹ ΘͨΓɼͦΕͧΕͷ໘ʹԠͯ͡ɼઃܭ͕͋Δͱߟ͑Δ ͜ͱ͕Ͱ͖Δɽ ιϑτΣΞͷ৴པੑQ
ઃܭͱͳʹ͔ ͋ΒΏΔاͯઃܭ͡ΌΜʂʁ ✦ ཁٻɺ༷ɺίʔσΟϯά ʮܭըʹैͬͯܗΛ͑Δ͜ͱɽʯ ͜ͷҙຯΛͱΕɼཁٻతΛఆΊΔ͜ͱʹ࢝·Γɼ ϓϩάϥϜΛॻ͘͜ͱʹࢸΔιϑτΣΞͷࣄશମʹ ΘͨΓɼͦΕͧΕͷ໘ʹԠͯ͡ɼઃܭ͕͋Δͱߟ͑Δ ͜ͱ͕Ͱ͖Δɽ
ιϑτΣΞͷ৴པੑQ
ιϑτΣΞͷ։ൃ ✦ ;ͨͭͷଶͰͰ͖͍ͯΔ ✤ ཧ͠ੈքΛߏங͍ͯ͘͠ઃܭ ✤ ͦΕΛ͍ٙഁյ͢Δςετ ߏஙͯ͠Δͱࢥͬͯո͍͔͠Αʁ ιϑτΣΞͷ։ൃɼ̎छྨͷ࡞ۀΛؚΜͰ͍Δɽ
ઃܭͱςετͰ͋Δɽ ιϑτΣΞͷ৴པੑQ
ʮ༷ͷ௨ΓʯٙΘ͍ͩ͠Ζʁ ΤϥʔͱԿ͔ Α͋͘ΔఆٛͷҰͭɼ༷ͷ௨ΓʹιϑτΣΞ͕࣮ߦ͞Εͳ͍࣌ʹ ιϑτΣΞͷΤϥʔ͕ੜͨ͡ͱ͢ΔͷͰ͋Δɽ͜ͷఆٛʹࠜຊత ͳ͕ܽؕ͋Δɽ ༷͕ৗʹਖ਼֬Ͱ͋Δ͜ͱΛલఏʹ͍ͯ͠Δɽ͜ͷલఏ͕ਖ਼͍͜͠ͱͷ ΄͏͕ɼΉ͠ΖكͰ͋Δɽ (ιϑτΣΞͷ৴པੑ p.5)
༷ͷΤϥʔݟ͚͍ͭͨͷવͩ ʮ༷ʯͳͲ͋ΒΏΔઃܭΛٙ͏ʂ ΤϥʔΛൃݟ͢ΔతͰϓϩάϥϜΛ࣮ߦ͢Δաఔ͕ ςετͰ͋Δɽ ιϑτΣΞͷ৴པੑQ
ࣗಈԽ͍ͨ͠ͷʁ ͳ͓ऀࣜςετͷςετखಈςετͰ͢ ✦ ճάϦʔϯʹͳͬͯCJUΑ͘ͳΒͳ͍͚Ͳ ✤ ͔ͩΒࣗಈԽͰ͢ΑʂແବͳΜͰʂʢΘ͔Δʣ ✤ Ͱ͔ͯ͠͠࡞Γյ͕͋͠Δ͔͠Εͳ͍͔Β ͦΜͳʹ৺ੑͷਓ͕ࣗಈԽͰ͖ͨͱ͜Ζʹ͔͕͠ͳ͍ͬͯࢥ͏͕ͣͳ͍Αͳ
✤ ςετͷࣗಈԽ࣮ߦΑΓɺࣗಈԽ͢ΔաఔͰͷ࣮ͷચ࿅ʢϓϩάϥϛϯάʣ ͷ΄͏ʹՁ͕͋Δ ʮ࣭Λ୲อ͢Δʯͱ͍͏ϑϨʔζ͕ӕ͗͘͢͞ΔͷͰ᪳ͳ͘͏ਓͱڑஔ͘Α͏ʹͯ͠Δɻอͱ͍͍͍͑ͷʹ
ऀࣜςετͷςετ͜͏͍͏ςετ ͍ΘΏΔςετٕ๏ͷతͱ͍ͩͿ͕ͪ͏ ✦ Βͳ͍Λ୳ͨ͢Ίͷςετ ✤ ͳ͓ͨ͢ΊʹΔ ✤ ޙΓͤ͞ΔͨΊʹΔ ✦ άϦʔϯͷΛ૿͍ͨ͠Θ͚͡Όͳ͍
✦ खΛݮΒͨ͢ΊͷςετͰͳ͍ ✦ Կݴ͏͚ͲखಈͰͬͯΔΑʂ ͜ͷλʔϯऀࣜςετͷཧղΛॿ͚ΔલઆͰ͢Α
͔͜͜Βຊฤɻ 91ͱςετ ~ ऀࣜςετͷ࣮ફ͔Β ~
ࠓͷ ऀࣜςετฤ ✦ ࢲͨͪͷνʔϜ9ઢ$5ஔΛ91Ͱ։ൃ͍ͯ͠·͢ ✦ ෮։ൃʹ༗ޮͳϓϥΫςΟεʮऀࣜςετʯΛհ͠ɺҎ্ʹΘͨ ΔΞδϟΠϧ։ൃͷ๛ͳܦݧ͔Βɺ෮։ൃΛ͏·͘ΔͨΊͷώϯτΛ ͑·͢
✦ ιϑτΣΞ։ൃ ✤ اըɾ༷ɺઃܭͷΛɺͦͷ ఔͰݟ͚ͭΔͷ͍͠ ✤ ࢼͣ͞ʹձٞϨϏϡʔ͚ͩͰ͢ ͯͷΛൃݟ͢Δͷ͍͠ ✤ ࢼͯ͠Έͨ΄͏͕ޮ͕ྑ͍ʢι
ϑτΣΞͷಛͷͻͱͭɿ҆͘ ࢼͤΔʣ 画・仕様、設計の問題を、その工程で見つけるのは難しい さずに会議やレビューだけですべての問題を発見するのは難しい してみたほうが効率が良い(ソフトウェアの特徴のひとつ:安く試せる) 6 September 2023 不具合の原因工程と不具合の発見工程 (独立行政法人情報処理推進機構 2012 年度「ソフトウェア産業の実態把握に関する調査」 調査報告書 pp. 78 2013) େنιϑτΣΞ։ൃͷ͠͞ ʢಠཱߦ๏ਓใॲཧਪਐػߏʮιϑτΣΞ࢈ۀͷ࣮ଶѲʹؔ͢ΔௐࠪʯௐࠪใࠂॻQQʣ ෆ۩߹ͷݪҼఔͱෆ۩߹ͷൃݟఔ
େنιϑτΣΞ։ൃͷ͠͞ ✦ େن։ൃ࡞Γग़͢ఔͱ֬ೝ͢Δఔ͕Εͯ͠·͏ ✤ ϓϩδΣΫτͷ࠷ऴஈ֊Ͱ͕ݟ͔ͭͬͯରࡦ͕ؒʹ߹Θͳ͍ ✤ ֬ೝ͢ΔఔͰΑΓྑ͍༷ઃܭΛࢥ͍͍ͭͯରԠͰ͖ͳ͍
✦ ෮։ൃ ✤ େ͖ͳཁٻΛఔͷখ͞ͳ୯ҐʹΘ͚ͯ։ൃ͢Δ ✤ ֬ೝ͢ΔఔΛΑΓૣ͘ɺ͗Γ͗Γ·Ͱ༷ઃܭΛௐͰ͖ΔΑ͏ʹ͢Δ ✤ ෮։ൃͷར
Ұʹѻ͏είʔϓ͕খ͍͞ͷͰࡉ෦ʹ·Ͱ͕ಧ͖͘͢ͳΔ ࣍ͷ7ࣈʹલճͷ7ࣈͰൃݟͨ͠ҧײɺݟΛϑΟʔυόοΫͰ͖Δ େنιϑτΣΞ։ൃͷ͠͞ ➢ 反復開発 ⚫ 大きな要求を数日程度の小さな単位にわけて開発する ⚫ 確認する工程をより早く、ぎりぎりまで仕様や設計を調整できるようにする ⚫ 反復開発の利点 • 一度に扱うスコープが小さいので細部にまで目が届きやすくなる • 次のV字に前回のV字で発見した問題や違和感、知見をフィードバックできる 大規模ソフトウェア開発の難しさ 8 t September 2023
େنιϑτΣΞ։ൃͷ͠͞ ✦ සൟʹγεςϜςετɺӡ༻ɾ࣮ػςετΛ࣮ࢪ͠ͳͯ͘ͳΒͳ͍ ✤ ৽͍͠෮ʹΑΓվఆ͞Ε༷ͨͷ֬ೝ ✤ ͦΕ·Ͱʹࡌ͞Εͨͷ͕ͯ͢ͳ͘ಈ࡞͢Δ͜ͱͷ֬ೝ ➢ 頻繁にシステムテスト、運用・実機テストを実施しなくてはならない
⚫ 新しい反復により改定された仕様の確認 ⚫ それまでに搭載されたものがすべて問題なく動作することの確認 大規模ソフトウェア開発の難しさ t
ऀࣜςετ ✦ ςετۦಈ։ൃʢ5%%ʣΛड͚ೖΕςετͷϨϕϧͰߦ͏ϓϥΫςΟε ✤ Y6OJUΛͬͨ5%%ͷΑ͏ʹɺड͚ೖΕςετ͔Β͡ΊΔ։ൃ ✤ ςετίʔυʹಋ͔ΕͯϓϩάϥϜΛ։ൃ͢ΔΑ͏ʹɺड͚ೖΕςετʹಋ͔ΕͯετʔϦʔΛ࣮ݱ͢Δ ✤ ετʔϦʔ͕૿͑ΔͨͼʹɺͦΕ·Ͱʹ࡞ͬͨͯ͢ͷετʔϦʔͷड͚ೖΕςετΛΓ͢ ໊લʮςετʯͰ͕͢ςετ͚ͩͰͳ͘ɺιϑτΣΞ։ൃશମͷ׆ಈͰ͢
➢ テスト駆動開発(TDD)を受け入れテストのレベルで行うプラクティス ⚫ xUnitを使ったTDDのように、受け入れテストからはじめる開発 ⚫ テストコードに導かれてプログラムを開発するように、受け入れテストに導かれてストー リーを実現する ⚫ ストーリーが増えるたびに、それまでに作ったすべてのストーリーの受け入れテストをやり 直す 忍者式テスト 11 September 2023 名前は「テスト」ですがテストだけでなく、ソフトウェア開発全体の活動です
ऀࣜςετ ✦ ड͚ೖΕςετ͔Β͡ΊΔ ✤ Ͳ͏࡞Δͷ͔ʁͰͳ͘ɺͲ͏ࢼ͢ͷ͔ʁ͔Βߟ͑Δ Ͳ͏ࢼͤɺϢʔβʔ͕ࠔ͍ͬͯΔ͜ͱ͕ղܾͰ͖ͨͱ͔Δͷ͔ Ͳ͏ࢼͤɺҙਤͨ͠ͱ͓Γʹ࡞Εͨͱݴ͑Δͷ͔ ✤
ςετΛىͱͯ͠ɺιϑτΣΞ։ൃશମΛߟ͑ɺ͍ଓ͚Δ ຊʹΑ͍γεςϜͱͳ͍ͬͯΔͷ͔ʁ ໋໊ͷ༝དྷɿऀ͕ຖ͢Δຑͷ্Λඈͼӽ͑Δमߦʹ༝དྷɻຖ૿͑ΔςετέʔεͷଋΛຖશ෦Γ༷͢ࢠ͕ࣅ͍ͯΔ
ʲਤղʳऀࣜςετ ࣮ࡍͷ։ൃͰΠςϨʔγϣϯͰෳͷετʔϦʔΛѻ͍ͬͯΔ 【図解】忍者式テスト 13 September 2023 実際の開発では1イテレーションで複数のストーリーを扱っている Day1 V1
Story1
ʲਤղʳऀࣜςετ ࣮ࡍͷ։ൃͰΠςϨʔγϣϯͰෳͷετʔϦʔΛѻ͍ͬͯΔ 【図解】忍者式テスト 14 September 2023 実際の開発では1イテレーションで複数のストーリーを扱っている Day1 V1
Story1 Day2 V2 Story2
ʲਤղʳऀࣜςετ ࣮ࡍͷ։ൃͰΠςϨʔγϣϯͰෳͷετʔϦʔΛѻ͍ͬͯΔ 【図解】忍者式テスト 15 September 2023 実際の開発では1イテレーションで複数のストーリーを扱っている Day1 V1
Story1 Day2 V2 Day3 V3 Story2 Story3
✦ ετʔϦʔ91ͳͲͷΞδϟΠ ϧ։ൃͰΛมߋ͢Δ୯Ґ ✤ ͨ͘͞ΜͷετʔϦʔͷू ·ΓͰͰ͖͍ͯΔ ✤ ετʔϦʔड͚ೖΕςετͰ֬ ೝ͢Δ ✤
ϢʔβʔʹͱͬͯγεςϜ͕Ͳͷ Α͏ʹมԽ͢Δ͔ ऀࣜςετ
ऀࣜςετ ։ൃهຖேશһͰಡΈ߹Θ͍ͤͯΔʢʮͦͷ༷ࢠઃܭϨϏϡʔʹ͍ۙʯCZUXBEBʣ ✦ ετʔϦʔνέοτͰཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε
γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃه ຖͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠ ༰݁ՌͳͲ ઃܭ࣮ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔͰ͢Δେ͖͞ ✤ େ͖ͳཁٻΛదͳେ͖͞ͷετʔ Ϧʔʹม͢Δͷٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόάετʔϦʔ ͱಉ༷ʹѻ͏
ऀࣜςετ ཁٻ͔ΒετʔϦʔͷม͜ͷ͋ͱ͓͠͠·͢ ✦ ετʔϦʔνέοτͰཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε
γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃه ຖͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠ ༰݁ՌͳͲ ઃܭ࣮ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔͰ͢Δେ͖͞ ✤ େ͖ͳཁٻΛదͳେ͖͞ͷετʔ Ϧʔʹม͢Δͷٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόάετʔϦʔ ͱಉ༷ʹѻ͏
ऀࣜςετ ✦ ετʔϦʔνέοτͰཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏
✤ ։ൃه ຖͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠ ༰݁ՌͳͲ ઃܭ࣮ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔͰ͢Δେ͖͞ ✤ େ͖ͳཁٻΛదͳେ͖͞ͷετʔ Ϧʔʹม͢Δͷٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόάετʔϦʔ ͱಉ༷ʹѻ͏
ऀࣜςετ ͜ ͷ ͋ ͱ ૿ ิ ʂ
✦ ετʔϦʔνέοτͰཧ ✤ ֓ཁɺཁٻͷഎܠ ✤ ςετέʔε γεςϜͷ۩ମతͳมԽͱ֬ೝํ๏ ✤ ։ൃه ຖͷࢼߦࡨޡͷ༷ࢠɺ࣮ݧͨ͠ ༰݁ՌͳͲ ઃܭ࣮ͷࠜڌ͕Θ͔Δ ✦ ετʔϦʔͰ͢Δେ͖͞ ✤ େ͖ͳཁٻΛదͳେ͖͞ͷετʔ Ϧʔʹม͢Δͷٕज़ͱ܇࿅͕ඞ ཁ ✦ ։ൃதʹݟ͚ͭͨόάετʔϦʔ ͱಉ༷ʹѻ͏ ͜ͷνέοτγεςϜ͓खʢ38JLJʣͰ͢ʂ👏
ʮऀࣜʓʓʯʹ͍ͭͯ ✦ +B445ʹσϚϧί͕དྷ͢Δͱ͖͍ͯձ͍ͨͯ͘Ԡืͨ͠ ✤ ͦͷͱ͖ͷࢥ͍͍ͭͨϫβ໊ˠऀࣜςετ ✦ λέΧϫϢΩώσͷऀࣜӳ୯ޠֶश๏ʢ͏Ζ֮͑ʣͷΛͳʹ͔Ͱฉ͍ͨ ✤ ग़Δ୯Λલ͔Βॱ൪ʹΓͯ͠ຖͪΐͬͱͣͭ૿͍ͯ͘͠ʢ͏Ζ֮͑ʣ ✦
ຖͬͯΔ͜ͱʹͪΐͬͱ૿͚ͩ͢ʂʢ؆୯ͦ͏ʣ ✤ ͋ͱ͔ΒݟΔͱ͍͢͝ߴ͍Λඈͼӽ͍ͯ͠ΔΑ͏ʹײ͡Δʂʁ +B445ιϑτΣΞςετγϯϙδϜͶ ิ ͠ ͨ ͍ ʂ
ʮऀࣜʓʓʯʹ͍ͭͯ ✦ ຖ͓͞Β͍͍ͯ͠Δͷɺ͜Ε·Ͱ࡞͖ͬͯͨ֎෦༷ͷͯ͢Ͱ͋Δ ✦ ͜Ε·ͰͷΛ͓͞Β͍ͯ͠ɺ͞Βʹͪΐͬͱ৽͍͠มԽ͕͋Δ ✤ ऀͷ܇࿅ͬΆ͍ʂʂ ✦ ʮ͍͍ͩͨಉ͡ͰͪΐͬͱมΘΔʯҎ֎ͷ͍ΖΜͳ͜ͱͰى͜Δ
νʔϜͷΓํͷมԽ ϝϯόʔͷ૿ݮ ΞʔΩςΫνϟʢͱ৴͡ΒΕ͍ͯΔͷʣ ʓʓͳΜͰΑ͔ͬͨΜ͚ͩͲɺ࠷ॳʹߘͨ͠ͷ͕+B445͔ͩͬͨΒςετʹͳͬͨͷͰ͋Δ
ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτΣΞઃܭɺ࣮ɾσόοάʣΛͣͬͱ͍ͬͯΔ ✤ ෳΠςϨʔγϣϯͷ͋ͱʹɺςετ୲͕·ͱΊͯड͚ೖΕςετ͢Δ ➢ 「スクラムはうまくできているのに、開発がうまくいかない」
⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t
ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτΣΞઃܭɺ࣮ɾσόοάʣΛͣͬͱ͍ͬͯΔ ✤ ෳΠςϨʔγϣϯͷ͋ͱʹɺςετ୲͕·ͱΊͯड͚ೖΕςετ͢Δ ࡞ۀਐΜͰ͍ΔΑ͏ʹݟ͑Δ͕ɺͱͯ͠ࢼͤͯͳ͍ͷͰɺ࡞ۀͷ͔֬Β͠͞Θ͔Βͳ͍··ਐΜͰ͍Δ ➢
「スクラムはうまくできているのに、開発がうまくいかない」 ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτΣΞઃܭɺ࣮ɾσόοάʣΛͣͬͱ͍ͬͯΔ ✤ ෳΠςϨʔγϣϯͷ͋ͱʹɺςετ୲͕·ͱΊͯड͚ೖΕςετ͢Δ ϓϩάϥϛϯάʹ͍ۙྖҬΛΠςϨʔγϣϯʹ͚۠ͬͨͩͰɺେ͖ͳͭͷ7ࣈͷ։ൃͱมΘΒͳ͍ ➢
「スクラムはうまくできているのに、開発がうまくいかない」 ⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
ࢲͨͪͷνʔϜ ✦ ෮͝ͱʹ7ࣈͷͯ͢ͷεςοϓΛߦ͏ ✦ શһ͕։ൃऀ ✤ ͯ͢ͷఔΛߦ͏ϓϩάϥϚʔ ✤ ϓϩάϥϛϯάҎ֎ͷͯ͢ͷఔΛߦ͏ςελʔ
➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
ࢲͨͪͷνʔϜ ✦ Α͍ʹͳ͍ͬͯΔ͔Ͳ͏͔ʹڵຯ͕͋Δ ✤ ͍पظͰͰ͖͑Λݟ͍ͨˠ෮͝ͱͷड͚ೖΕςετ ✤ ͍पظͰͷ༷ઃܭΛνϡʔχϯά͍ͨ͠ ✤ ͗Γ͗Γ·ͰΛຏ͖͍ͨ ࡞ۀͷਐḿʮʯͰݟΔͥʂͱ͍͏ଶͰ͢
➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
ࢲͨͪͷνʔϜ ✦ Α͍ʹͳ͍ͬͯΔ͔Ͳ͏͔ʹڵຯ͕͋Δ ✤ ͍पظͰͰ͖͑Λݟ͍ͨˠ෮͝ͱͷड͚ೖΕςετ ✤ ͍पظͰͷ༷ઃܭΛνϡʔχϯά͍ͨ͠ ✤ ͗Γ͗Γ·ͰΛຏ͖͍ͨ
➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム t
ετʔϦʔΛߟ͑Δ࣌ͷώϯτ ʮ͡Θ͡Θ։ൃʯʹؕͬͯ͠·͍ࠔ͍ͬͯΔνʔϜͷΞυόΠε
ΞδϟΠϧ։ൃ͕͏·͍͔͘ͳ͍έʔε ✦ ʮεΫϥϜ͏·͘Ͱ͖͍ͯΔͷʹɺ։ൃ͕͏·͍͔͘ͳ͍ʯ ✤ 7ࣈͷఈ͋ͨΓʢιϑτΣΞઃܭɺ࣮ɾσόοάʣΛͣͬͱ͍ͬͯΔ ✤ ෳΠςϨʔγϣϯͷ͋ͱʹɺςετ୲͕·ͱΊͯड͚ೖΕςετ͢Δ ➢ 「スクラムはうまくできているのに、開発がうまくいかない」
⚫ V字の底あたり(ソフトウェア設計、実装・デバッグ)をずっとやっている ⚫ 複数イテレーションのあとに、テスト担当がまとめて受け入れテストする アジャイル開発がうまくいかないケース t ͡ Θ ͡ Θ ։ ൃ
ετʔϦʔΛೖΕࢠͷνέοτʹ͍ͯ͠Δ ✦ ετʔϦʔΛෳͷλεΫͰߏ͢Δ͜ͱ͕ଟ͍ͷͰʁ ✤ ͯ͢ͷλεΫ͕ἧΘͳ͍ͱετʔϦʔΛࢼ͢͜ͱ͕Ͱ͖ͳ͍ ✦ ݁߹ΛઌԆ͠ʹ͢ΔελΠϧ ࡞ۀਐΜͰ͍ΔΑ͏ʹݟ͑Δ͕ɺ෦͔Γ࡞͍ͬͯͯͰ֬ೝͰ͖͍ͯͳ͍
ࢲͨͪͷνʔϜ ✦ ετʔϦʔΛೖΕࢠʹ͠ͳ͍ ✤ ετʔϦʔΛෳͷλεΫʹ͚ΔͷͰͳ͘ɺετʔϦʔࣗମΛখ͘͢͞Δ ✤ খ͞ͳมߋͰ͋ͬͯγεςϜશମͰͰ͖͑Λ͔֬ΊΔ ✦ ઈ͑ͣ݁߹͢ΔελΠϧ Ͱ֬ೝͨ͠ͷ͚ͩΛਐḿͱͯ͠ߟ͑Δ
ࢲͨͪͷνʔϜ ✦ ετʔϦʔΛೖΕࢠʹ͠ͳ͍ ✤ ετʔϦʔΛෳͷλεΫʹ͚ΔͷͰͳ͘ɺετʔϦʔࣗମΛখ͘͢͞Δ ✤ খ͞ͳมߋͰ͋ͬͯγεςϜશମͰͰ͖͑Λ͔֬ΊΔ ✦ ઈ͑ͣ݁߹͢ΔελΠϧ
͜Ε͕Ͱ͖ͳ͍ͱʮ͡Θ͡Θ։ൃʯʹؕͬͯ͠·͏
έʔεελσΟϨϙʔτΛදࣔ͢Δ ೖΕࢠʹ͢Δ࡞ઓͱೖΕࢠʹ͠ͳ͍࡞ઓΛݟ͍͖ͯ·͠ΐ͏
ϨϙʔτػೳΛ࡞͔ͬͯΒγεςϜʹ౷߹͢Δ࡞ઓ ✦ ετʔϦʔΛෳͷλεΫͰߏ͢Δ ೖΕࢠʹ͢Δ࡞ઓ
ϨϙʔτػೳΛ࡞͔ͬͯΒγεςϜʹ౷߹͢Δ࡞ઓ ✦ ֤λεΫͰ෦Λ࡞Δ ͦΕͧΕͷλεΫ͕͏·͘Ͱ͖͔ͨͲ͏͔Ұ൪࠷ޙͷड͚ೖΕςετ·ͰΘ͔Βͳ͍
ϨϙʔτػೳΛ࡞͔ͬͯΒγεςϜʹ౷߹͢Δ࡞ઓ ✦ ෦͕ͯ͢ἧͬͨΒγεςϜͱ݁߹ͯ͠ϨϙʔτػೳΛ֬ೝ͢Δ ͜͜·Ͱ͖ͯͬͱ֤λεΫ͕͏·͘Ͱ͖͔ͨͲ͏͔͕Θ͔Δ
ࢲͨͪͷετʔϦʔͷ࡞Γํ ✦ ʮγεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ʯΛߟ͑Δ ೖΕࢠʹ͠ͳ͍࡞ઓ
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ ʮطଘͷγεςϜʹϘλϯΛ͚ͭͯதͷͳ͍ը໘Λදࣔ͢Δʯ͔Β։࢝ ᘳͳʮதͷͳ͍ը໘ʯΛ࡞Δͧʂ
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ ʮطଘͷγεςϜʹϘλϯΛ͚ͭͯதͷͳ͍ը໘Λදࣔ͢Δʯ͔Β։࢝ ͜Μͳʹখ͞ͳมԽͰߟ͑Δ͜ͱ͕ͨ͘͞Μ͋Γ·͢ 㾎 γεςϜଆ͕ػೳΛ֦ுͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͔ 㾎 ͲΜͳͱ͖ʹىಈͰ͖Δͷ͔ 㾎
ऴྃͨ͠ΒͲΜͳը໘ʹͳ͍ͬͯΔ͖͔ 㾎 ىಈʹؔΘΔઃఆϑΝΠϧʢγεςϜશମɺػೳผʣ 㾎 ىಈํ๏ΛͲ͏͢Δͷ͔ʢϝχϡʔɺϘλϯʣ 㾎 ೋॏىಈΛڐ͢ʢ੍ޚํ๏ʣʗڐ͞ͳ͍ 㾎 Οϯυͷ;ΦʔμʔɺϞʔμϧʗϞʔυϨε 㾎 ը໘ʢΟϯυʗμΠΞϩάʣ͕ಈ͘ʗಈ͔ͳ͍ 㾎 εΫϦʔϯηʔόʔͳͲ͕ಈ͍ͨͱ͖ͷڍಈ 㾎 ΩʔϘʔυγϣʔτΧοτͷׂΓͯ 㾎 ଞͷػೳͱͷฒߦಈ࡞ 㾎 ػೳͷىಈதʹͰ͖Δ͜ͱͳʹ͔ 㾎 ىಈதʹγεςϜΛऴྃͨ͠ΒͲ͏ͳΔͷ͔ 㾎 γεςϜΛ࠶ىಈͨ͠ͱ͖Ͳ͏ͳͬͯ΄͍͔͠
খ͞ͳมԽʹՁ͕͋Δͷ͔ ✦ ʮطଘͷγεςϜʹϘλϯΛ͚ͭͯதͷͳ͍ը໘Λදࣔ͢Δʯ ✤ தͷͳ͍ը໘Λදࣔͯ͠γεςϜ͕յΕͳ͍͜ͱՁͰ͋Δ ✤ ࠷ॳ͔ΒγεςϜʹ౷߹ͨ͠ঢ়ଶͰ։ൃ͕Ͱ͖ΔͷՁͰ͋Δ ✤ ݒ೦Λ࣮ࡍʹγεςϜͰ͔֬ΊΒΕͨ͜ͱՁͰ͋Δ ʮՁʯ͕͋ΔͷͩΖ͏͔ɾɾɾͱɺෆ҆ʹͳΒͳͯ͘େৎʂ
ετʔϦʔΛ࡞Δͱ͖ͷώϯτ ✦ ϢʔβʔͷࢹͰॻ͔ΕͨετʔϦʔΛͦͷ··ѻΘͳͯ͘Α͍ ✤ ετʔϦʔΛγεςϜ࣮ͷυϝΠϯͷࢹͰղऍ͠ͳ͓͢ ✤ Ϣʔβʔʹݟ͍͑ͯΔͷ͚ͩͰߟ͑Δͱ։ൃͷ࣮ମʹ߹ͬͯͳ͍͜ͱ͕͋Δ ✦ ͲΜͳʹখ͞ͳετʔϦʔͰकΔ͜ͱ ✤
γεςϜશମͰࢼͤΔΑ͏ʹετʔϦʔΛ࡞Δ ✤ ετʔϦʔͷςʔϚͷதͰͷᘳΛࢦ͢ ✤ ετʔϦʔΛࡌͯ͠γεςϜΛഁͤ͞ͳ͍ γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜
ετʔϦʔΛ࡞Δͱ͖ͷώϯτ ✦ ϢʔβʔͷࢹͰॻ͔ΕͨετʔϦʔΛͦͷ··ѻΘͳͯ͘Α͍ ✤ ετʔϦʔΛγεςϜ࣮ͷυϝΠϯͷࢹͰղऍ͠ͳ͓͢ ✤ Ϣʔβʔʹݟ͍͑ͯΔͷ͚ͩͰߟ͑Δͱ։ൃͷ࣮ମʹ߹ͬͯͳ͍͜ͱ͕͋Δ ✦ ͲΜͳʹখ͞ͳετʔϦʔͰकΔ͜ͱ ✤
γεςϜશମͰࢼͤΔΑ͏ʹετʔϦʔΛ࡞Δ ✤ ετʔϦʔͷςʔϚͷதͰͷᘳΛࢦ͢ ✤ ετʔϦʔΛࡌͯ͠γεςϜΛഁͤ͞ͳ͍ γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜
͜Μͳγάφϧ͕͕͋ͬͨΒ ✦ ࢼ͠ํ͕ࢥ͍͔ͭͳ͍ ✦ ετʔϦʔ͕ͳ͔ͳ͔͠ͳ͍ ✦ ੍͕ଟ͗ͯ͢ຊདྷͷετʔϦʔͷςʔϚ͕ࢼͤͳ͍ ✦ ετʔϦʔͷׂॱং͕దͰͳ͍͔͠Εͳ͍ ✦
ܭըͷݟ͠ετʔϦʔΛ࠶ߏஙͯ͠ΈΑ͏ ετʔϦʔͷ࡞Γํ͕ؒҧ͍ͬͯΔ͜ͱૣ͔ͬͯ͘ศརʂ
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ طଘͷγεςϜʹϘλϯΛ͚ͭͯதͷͳ͍ը໘Λදࣔ͢Δ γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ͳʁ Story 作業
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ ϨΠΞτΛදࣔ͢Δ ᘳͳʮதͷͳ͍ը໘ʯʴᘳͳʮϨΠΞτʯ ➢ 絶えず結合するスタイル 製品で確認し Story Story
Story Story
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ άϥϑΛදࣔ͢Δ ᘳͳʮதͷͳ͍ը໘ʯʴᘳͳʮϨΠΞτʯʴᘳͳʮάϥϑʯ ➢ 絶えず結合するスタイ Story Sto
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ ը૾Λදࣔ͢Δ ᘳͳʮதͷͳ͍ը໘ʯʴᘳͳʮϨΠΞτʯʴᘳͳʮάϥϑʯʴᘳͳʮը૾ʯ ➢ 絶えず結合するスタイル Story Story Stor
γεςϜͰࢼͤΔҰ൪খ͞ͳมԽͲ͔͜ ✦ ܭଌΛදࣔ͢Δ ᘳͳʮதͷͳ͍ը໘ʯʴᘳͳʮϨΠΞτʯʴᘳͳʮάϥϑʯʴᘳͳʮը૾ʯʴᘳͳʮܭଌʯ ➢ 絶えず結合するスタイル Story Story Story
Stor
γεςϜͱ݁߹͢Δ͠͞Λޙճ͠ʹ͠ͳ͍ ✦ খ͞ͳมߋͰγεςϜͰ݁߹ͯ͠ࢼ͢ ✦ ݁߹ࠞཚΛ͏͕ɺͣͭ݁͢͜͠߹͢Δ͜ͱͰࠞཚΛখ͘͞Ͱ͖Δ ✦ ͯ͘͠Δʢ͍͔͠ΒΔʣ ✦ ޙճ͠ʹ͢Δͱʮ͡Θ͡Θ։ൃʯʹͳΓ͕ͪ
όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·ͰετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ͚ͩͰਂࠁ͞Λஅ͠ͳ͍ ✤ όάͷҰ෦͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊͷΛ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤
όάΛආ͚ͯ։ൃʗςετ͠ͳ͚ΕͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺༰ྔҰఆ ✤ ͍·͋ΔΛղܾ͠ͳ͚ΕɺͬͱߴͳΛݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺ͷྔҰఆ
όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·ͰετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ͚ͩͰਂࠁ͞Λஅ͠ͳ͍ ✤ όάͷҰ෦͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊͷΛ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤
όάΛආ͚ͯ։ൃʗςετ͠ͳ͚ΕͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺༰ྔҰఆ ✤ ͍·͋ΔΛղܾ͠ͳ͚ΕɺͬͱߴͳΛݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺ͷྔҰఆ
όάͷमਖ਼Λޙճ͠ʹ͠ͳ͍ ✦ όάΛݟ͚ͭͨΒݪҼ͕Θ͔Δ·ͰετʔϦʔͷ։ൃΛࢭΊΔ ✤ ݟ͔͚ͷݱ͚ͩͰਂࠁ͞Λஅ͠ͳ͍ ✤ όάͷҰ෦͕ݟ͚͑ͨͩʹա͗ͳ͍ͷͰຊͷΛ୳͢ ✦ ޙճ͠ʹ͢Δͱόά͕͋Δঢ়ଶͰ։ൃ͢Δ͜ͱʹͳΓɺ։ൃͷϖʔε͕མͪΔ ✤
όάΛආ͚ͯ։ൃʗςετ͠ͳ͚ΕͳΒͳ͍ ✤ όά͕ͲΜͲΜ૿͑Δঢ়ଶʹͳΔ ✦ ৺༰ྔҰఆ ✤ ͍·͋ΔΛղܾ͠ͳ͚ΕɺͬͱߴͳΛݟ͚ͭΒΕͳ͍ ✤ νʔϜͰѻ͑Δ৺ͷྔҰఆ
ʲਤղʳऀࣜςετ ͜Εॳ͔Βؒͷ༷ࢠͰ͕͢ɺ͜Ε͕͔݄ɺʹͳΔͱɾɾɾ 【図解】忍者式テスト 54 September 2023 これは初日から3日間の様子ですが、これが1か月、1年になると・・・ Day1 V1
Story1 Day2 V2 Day3 V3 Story2 Story3
͍ͨΜͳ͜ͱʹͳΓ·͢ ͰΔΜͩΑ たいへんなことになります 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
نͱ͖߹͏ ҰͰͯ͢ͷςετέʔεΛճͤͳ͘ͳΔ͕͖ͬͯͨʂ ✦ ۙͷมߋૣ͔֬͘Ί͍ͨʗͯ͢ͷςετέʔεΛ͔֬Ί͍ͨ ✦ ҰͰͳ͘ɺ͋ΔظؒͰςετέʔεΛͯ͢ճ͢࡞ઓʹΓସ͑ͨ ✦ ·ΜΜͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤
৽͍͠ετʔϦʔɺमਖ਼͔ͨ͠ΓͷνέοτͷςετέʔεΛ࠷༏ઌ ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱසΛঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱසΛௐ ✤ ͋ΔظؒͰݟΔͱɺͯ͢ͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓͷςετεΠʔτˠʮຊͷ͓͢͢Ίςετʯ ✤ ҰʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ͞Εͳ͍Α͏ʹ͢Δʣ
نͱ͖߹͏ ✦ ۙͷมߋૣ͔֬͘Ί͍ͨʗͯ͢ͷςετέʔεΛ͔֬Ί͍ͨ ✦ ҰͰͳ͘ɺ͋ΔظؒͰςετέʔεΛͯ͢ճ͢࡞ઓʹΓସ͑ͨ ✦ ·ΜΜͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤ ৽͍͠ετʔϦʔɺमਖ਼͔ͨ͠ΓͷνέοτͷςετέʔεΛ࠷༏ઌ
✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱසΛঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱසΛௐ ✤ ͋ΔظؒͰݟΔͱɺͯ͢ͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓͷςετεΠʔτˠʮຊͷ͓͢͢Ίςετʯ ✤ ҰʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ͞Εͳ͍Α͏ʹ͢Δʣ
نͱ͖߹͏ ✦ ۙͷมߋૣ͔֬͘Ί͍ͨʗͯ͢ͷςετέʔεΛ͔֬Ί͍ͨ ✦ ҰͰͳ͘ɺ͋ΔظؒͰςετέʔεΛͯ͢ճ͢࡞ઓʹΓସ͑ͨ ✦ ·ΜΜͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤ ৽͍͠ετʔϦʔɺमਖ਼͔ͨ͠ΓͷνέοτͷςετέʔεΛ࠷༏ઌ
✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱසΛঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱසΛௐ ✤ ͋ΔظؒͰݟΔͱɺͯ͢ͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓͷςετεΠʔτˠʮຊͷ͓͢͢Ίςετʯ ✤ ҰʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ͞Εͳ͍Α͏ʹ͢Δʣ
نͱ͖߹͏ ʮຊͷ͓͢͢Ίςετʯͷ࣮38$Ͱઆ໌͢ΔͷͰฉ͖ʹ͖ͯͶʂ ✦ ۙͷมߋૣ͔֬͘Ί͍ͨʗͯ͢ͷςετέʔεΛ͔֬Ί͍ͨ ✦ ҰͰͳ͘ɺ͋ΔظؒͰςετέʔεΛͯ͢ճ͢࡞ઓʹΓସ͑ͨ ✦ ·ΜΜͳ͘ɺ͔ͭɺޮՌͷߴ͍ςετέʔεΛநग़͢ΔΞϧΰϦζϜͷ։ൃ ✤
৽͍͠ετʔϦʔɺमਖ਼͔ͨ͠ΓͷνέοτͷςετέʔεΛ࠷༏ઌ ✤ લճͷςετ݁Ռ͕ύεͨ͠ςετέʔεͷग़ݱසΛঃʑʹམͱ͢ ✤ ։ൃͷঢ়گʹԠͯ͡ػೳ͝ͱʹग़ݱසΛௐ ✤ ͋ΔظؒͰݟΔͱɺͯ͢ͷςετέʔε͕࣮ߦͰ͖Δ ✦ ΞϧΰϦζϜʹΑΓநग़ͨ͠ࠓͷςετεΠʔτˠʮຊͷ͓͢͢Ίςετʯ ✤ ҰʹͰ͖ͦ͏ͳྔͷςετέʔε͔͠දࣔ͠ͳ͍ʢྔʹѹ͞Εͳ͍Α͏ʹ͢Δʣ
ςετ࣮ࢪͷهʢʣ /(ͷΑ͘ݟ͑ΔΑ͏ʹڧௐ͍ͯ͠·͢ テスト実施の記録(20年分) 57 営業日 チケット番号 September 2023 NGの点はよく見えるように強調しています
։ൃͷ͠͞ʹΓ߹͏Α͏ʹνʔϜͷ։ൃೳྗ্ /(ͷΑ͘ݟ͑ΔΑ͏ʹڧௐ͍ͯ͠·͢ テスト実施の記録(20年分) 57 営業日 チケット番号 September 2023 NGの点はよく見えるように強調しています
νέοτͷ͕ϦχΞʹ૿͍͑ͯΔ γεςϜ͕ෳࡶʹͳΓɺཁٻߴʹͳ͍ͬͯΔ͕ ಉ͡ϖʔεͰ։ൃ͍ͯ͠Δ ن͕େ͖͘ͳͬͯมߋίετҰఆͰ͋Δ ఆ͞ΕΔઢ
ऀࣜςετͷޮՌ ✦ ͦ͠͏ͳ᪳ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹ੑೳͳͲͷ࣮ϨϕϧͷʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧͷΛΠϝʔδͯ͠ɺͦΕͱͷࠩੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦
શһ͕ͣͬͱʮྑ͍ͱԿ͔ʯΛ͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t
ऀࣜςετͷޮՌ ✦ ͦ͠͏ͳ᪳ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹ੑೳͳͲͷ࣮ϨϕϧͷʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧͷΛΠϝʔδͯ͠ɺͦΕͱͷࠩੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦
શһ͕ͣͬͱʮྑ͍ͱԿ͔ʯΛ͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t
ऀࣜςετͷޮՌ ✦ ͦ͠͏ͳ᪳ͤͣʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ ✦ ෆ۩߹ੑೳͳͲͷ࣮ϨϕϧͷʹੵۃతʹରԠͰ͖ΔΑ͏ʹͳͬͨ ✦ ΑΓ͍ྖҬΛͳ͓ͦ͏ͱ͢ΔΑ͏ʹͳͬͨ ✦ ཧͷΛΠϝʔδͯ͠ɺͦΕͱͷࠩੵۃతʹ୳ͩ͢͠ऀ͕ݱΕͨ ✦
શһ͕ͣͬͱʮྑ͍ͱԿ͔ʯΛ͍ͳ͕Β։ൃ͢ΔΑ͏ʹͳͬͨ ✦ ͋ͱ͔ΒνʔϜʹࢀՃͨ͠։ൃऀʹಉ༷ͷมԽ͕ى͖ͨ ✦ ͜ͷޮՌ͕։ൃೳྗͷ্ʹد༩͍ͯ͠Δ ➢ 反復ごとにV字のすべてのステップを行う ➢ 全員が開発者 ⚫ すべての工程を行うプログラマー ⚫ プログラミング以外のすべての工程を行うテスター 私たちのチーム September 2023 t ͜ΕιʔγϟϧνΣϯδʁ ͜ ͷ ͋ ͱ ૿ ิ ʂ
ٕज़ͱϏδωεͷؔ৺ࣄʹௐΛͨΒ͢ 91ͱͱϓϩάϥϚʔʹ͚ͯॻ͍ͨͷͩͬͨɻࢲ͕ࣗϓϩά ϥϚʔ͔ͩͬͨΒͩɻνʔϜͷͳ͔ͰڞײͰ͖ͨͷϓϩάϥϚʔͩͬ ͨɻ͕ͩɺߴΈʹ౸ୡ͢Δ͜ͱ͕తͰ͋ΕɺιϑτΣΞ։ൃʮϓ ϩάϥϚʔͱͦͷଞେʯͰཱ͢ΔͷͰͳ͍ɻͦΕ͕աڈؒͰ ࢲֶ͕Μͩ͜ͱͩɻؔऀશһͷؔ৺ࣄͷόϥϯε͕ͱΕ͍ͯͳ͚Εɺ ։ൃʹߩݙͰ͖ͳ͍ਓ͕ग़ͯ͘ΔɻνʔϜ͕ޭ͢ΔʹɺͦͷΑ͏ͳਓ ͷࢹ͕ॏཁͩɻࢲͷࠓޙͷతɺνʔϜ͕ٕज़ͱϏδωεͷؔ৺ࣄʹ ৗʹௐΛͨΒͤΔΑ͏ʹࢧԉ͢Δ͜ͱͩɻ
91&Q
ݴ͍ͨ͜͠ͱ͕͋Δ ✦ ͲΜͳจॻΛͦ͏ͱͯ͠ɺͦͯͬͨ͠ͷ͔ ✦ ͏·͍ͬͯ͘Δͷʁ
ظ͕ؒ͋Δͱߟ͍͑͢ ✦ ͋ͱिؒʢɾ࣌ؒʣͳΒ ✤ ͳʹΛ͢Δͷ͕͓ಘ͔ʁ ✤ ͲͷػೳΛ࡞Δ͔ ✤ ͲͷΛͳ͓͔͢ ✤
ͲΜͳςετΛ͢Δ͔ ✤ ͲΜͳจॻΛ͔͢ ✦ ظ͕ؒ͋Δ͜ͱͰબͰ͖ΔɾܾΊ ΒΕΔ ✦ ʮͷ͘͢͝Α͍͜ͱʯ͚ͩʹͳΔ λΠϜϘοΫεԾઆ ظ͕ؒఆ·Βͳ͍ͱʮΑ͍͜ͱʯΛશͯΛΓͨ͘ͳΔɻϏδωεͳͷͰ੍͕࣌ؒ͋ΔΜͩͧʂ
ͲΜͳจॻΛͦ͏ͱͯ͠ɺͦͯͬͨ͠ͷ͔ ݶΒΕͨظؒͰॻ͚ΔɾಡΊΔɾϝϯςφεͰ͖ΔͷͳΜͩʂʁ ✦ ͲΜͳͱ͖ʹಡΉʁ ✤ Εͨ͜Ζʹ͍߹Θ͕ͤ͋ͬͨΓɺվͨ͘͠ͳͬͨΓ͢Δͱ͖ ✦ ͳʹ͕΄͍͠ʁ ✤ ͍ํɻͦͷͱ͖ظ͍ͯͨ͠ͷಈ͖͕ॻ͍ͯ͋Δͱ͏Ε͍͠
͍·ͷಈ࡞͕ਖ਼͍͠ͷ͔յΕ͍ͯΔͷ͔ɺޙੈʹΘ͔Βͳ͍ ͦͷڍಈΛબΜͩҙਤʢ༷ͷૉΒ͠͞ɾٽ͘ٽ͘બΜͩʣͱ͔ ✦ ऀࣜςετͷνέοτͦͷͷ ✤ ͍ํɾ΄͍͠ͷ͕ςετهͰॻ͔Ε͍ͯΔ ✤ ͜ͷςετྫࣔʹΑΔ༷ʹۙ͘ɺΛ୳͢ͱ͖ͷग़ൃͱͳΔ ✤ ʢνέοτ໋ྩॻͱ͔ථͱ͔͡Όͳ͍Μͩͧʂʣ ؒຖબ͖ͯͨ݁͠Ռɺͬͨจॻड͚ೖΕςετͩͬͨ
͏·͍ͬͯ͘Δͷʁ
εʔύʔΤϯδχΞͷಓ Ϧʔμʔγοϓͱ৫ͷຊͩΑʂඇৗʹಡΈʹ͍͚͘Ͳఏىͨ͘͞Μͩʂʂ ✦ ੈքʹؔ͢ΔೋͭͷϞσϧ ✤ ͨͩҰͭͷਖ਼ղ͕͋Δɺͱߟ͑ΔઢతϞσϧ FBTZʹ҆৺Ͱ͖Δ ʮΞϝͱϜνʯʹͳΓ͍͢ʢ͍͔ʹ͋Δ͖͔ʣ
ʮڧ੍ʯͱʮఆʯ ✤ ଟͷҼࢠͱ࣌ؒܦա͔ΒͳΔɺͱߟ͑Δ༗ػతϞσϧ Θ͔Βͳ͞Λड͚ೖΕΔෆ҆ ʮλωʯ͔ΒҭͯΔͱߟ͑Δ ʮબʯͱʮൃݟʯ ਖ਼͍͠ͳʹ͔͕͋Δͱߟ͑ΔઢతͳϞσϧͱɺੈքͦΜͳʹ୯७͡Όͳ͍ͩΖͱߟ͑Δ༗ػతϞσϧ
͏·͍ͬͯ͘Δͷʁ 91&ΛґΓͲ͜Ζʹͯ͠Δ ✦ 91&ͷ௨ΓʹΔͱ҆৺ ✦ ͪΌΜͱͬͯ·͢ʂʂ ͍·ʹͯ͠ࢥ͑ɺॳ৺ऀ͔ͩΒ͠ΐ͏͕ͳ͍
͏·͍ͬͯ͘Δͷʁ ✦ ͍·ϓϩμΫπͷग़དྷӫ͑ͰධՁ͍ͨ͠ͱࢥͬͯΔ ✤ ࣗͰߟܾ͑ͯΊΔ ✤ ୭͔ͷ͍ͤʹ͠ͳ͍ ✤ ෆ҆ʹͳΔ͚Ͳ͠ΐ͏͕ͳ͍ ਖ਼͘͠࡞Εਖ਼͍͠ͱ͔ࢠڙͬΆ͘ײ͡ΔΑ͏ʹͳͬͨ
9 1&ͷ ϓ ϥ Ϋ ς Ο ε Λ ґ Γ Ͳ ͜ Ζ ʹ ͢ Δ ࣗ Ͱ ߟ ͑ ͯ ܾ Ί Δ
ࠓ91ͱςετͱऀࣜςετͷ͓Λ͠·ͨ͠🥷ɹͦͯ͠ίʔϧυεϦʔϓͷ͓͠ΒͤͰ͢ 91ͱςετ ʔEpisode YOKOHAMAʔ Ninja testing ZO/Z5 Anniversary