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
テストケースの名前はどうつけるべきか?
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kuniwak
PRO
December 14, 2024
Programming
960
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テストケースの名前はどうつけるべきか?
Kuniwak
PRO
December 14, 2024
More Decks by Kuniwak
See All by Kuniwak
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
8
2.8k
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
16
11k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
40
23k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
8
3.7k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.8k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
800
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
22
5k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
250
HOME VR
orgachem
PRO
1
880
Other Decks in Programming
See All in Programming
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
290
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
テーブルをDELETEした
yuzneri
0
140
FDEが実現するAI駆動経営の現在地
gonta
2
280
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
370
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
190
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.7k
5分で問診!Composer セキュリティ健康診断
codmoninc
0
1k
AIを紡ぐPMのお話
swdtkuy
0
100
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.4k
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
390
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
410
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Why Our Code Smells
bkeepers
PRO
340
58k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Become a Pro
speakerdeck
PRO
31
6.2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.4k
Mind Mapping
helmedeiros
PRO
1
310
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
390
Transcript
ςετέʔεͷ໊લ Ͳ͏͚ͭΔ͖͔ʁ ,VOJXBL 48&5( %F/"$P -UE
ࠓ͍͑ͨ͜ͱ 2 ςετέʔεʹಉύʔςΟγϣϯͷ໊લΛ͚ͭΔ
࠷ॳʹςετέʔεΫΠζ 3
ͲͪΒͷςετέʔε໊͕ϨϏϡʔ͍͢͠ʁ 4 " # ʮͷͱ͖ʯ ʮͷͱ͖'J[[ʯ ʮͷͱ͖#V[[ʯ ʮͷͱ͖'J[[#V[[ʯ ʮͰͰׂΓΕͳ͍ ͱ͖ਐจࣈྻʯ
ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖'J[[ʯ ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖#V[[ʯ ʮͰͰׂΓΕΔ ͱ͖'J[[#V[[ʯ
ͲͪΒͷςετέʔε໊͕ϨϏϡʔ͍͢͠ʁ 5 " # ʮͷͱ͖ʯ ʮͷͱ͖'J[[ʯ ʮͷͱ͖#V[[ʯ ʮͷͱ͖'J[[#V[[ʯ ʮͰͰׂΓΕͳ͍ ͱ͖ਐจࣈྻʯ
ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖'J[[ʯ ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖#V[[ʯ ʮͰͰׂΓΕΔ ͱ͖'J[[#V[[ʯ Ͳ͏ͯ͠ΛબΜͰ ͍Δ͔Θ͔Βͳ͍ ͷͱ͖Ͳ͏ͳΔΜͩΖ͏ʁ ࢼ͞ͳ͍͍ͯ͘ͷ͔ͳʁ ͕࣌ؒͳ͍ͱΑ͘Θ͔Μͳ͍͠ -(5.ͬͯͳΔʢࣄނΔʣ
ͲͪΒͷςετέʔε໊͕ϨϏϡʔ͍͢͠ʁ 6 " # ʮͷͱ͖ʯ ʮͷͱ͖'J[[ʯ ʮͷͱ͖#V[[ʯ ʮͷͱ͖'J[[#V[[ʯ ʮͰͰׂΓΕͳ͍ ͱ͖ਐจࣈྻʯ
ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖'J[[ʯ ʮͰׂΓΕͯͰ ׂΓΕͳ͍ͱ͖#V[[ʯ ʮͰͰׂΓΕΔ ͱ͖'J[[#V[[ʯ ͬͨΒ͍͚͠ͲɺͲͷ ύλʔϯߟྀ͞Ε͍ͯͯ ͔ͭඃΓͳ͍ɺͭ·Γ աෆ͕ͳ͍ͱΘ͔Δ
ͭ·ΓɺςετέʔεͷաෆΛѲ͍͢͠ ςετέʔε໊͕͍͍ςετέʔε໊ͱ͍͏͜ͱɻ աෆͳ͘ςετέʔεΛબͿ࡞ۀ͕ςετٕ๏ͷ ֩৺Ͱ͋Δɻ্खʹςετέʔεΛબΕɺ ςετέʔεΛબΜͩཧ༝Λઆ໌Ͱ͖ΔΑ͏ʹͳΔɻ 7
ςετέʔεΛબΜͩཧ༝Λ આ໌Ͱ͖ΔΑ͏ʹͳΖ͏ 8
ςετέʔεͷදతͳબͼํͱͯ࣍͠ͷͭͷํ๏͕ Α͘ΒΕ͍ͯΔɿ w ಉׂ๏ʢ&RVJWBMFODF$MBTT1BSUJUJPOJOH&$1ʣ w ڥքੳ๏ʢ#PVOEBSZ7BMVF"OBMZTJT#7"ʣ 9
ςετέʔεͷදతͳબͼํͱͯ࣍͠ͷͭͷํ๏͕ Α͘ΒΕ͍ͯΔɿ w ಉׂ๏ʢ&RVJWBMFODF$MBTT1BSUJUJPOJOH&$1ʣ w ڥքੳ๏ʢ#PVOEBSZ7BMVF"OBMZTJT#7"ʣ 10
ࣄલ݅Λຬͨ͢ೖྗ͔ͯ͢Β ͳΔू߹Λ9ͱ͢Δɻ 11 ೖྗͷू߹ 9 ࣄલ݅ͱؔͷ࣮ߦલͷঢ়ଶ͕ຬ͖ͨ݅͢ɻ ͜ͷ݅Λक͍ͬͯͳ͍ঢ়ଶͰ͕࣮ؔߦ͞Εͨ߹ɺؔ ͲͷΑ͏ʹৼΔͬͯΑ͍ͷͰςετ͠ͳ͍ɻ
12 ೖྗͷू߹ 9 9 9/ 9Λ࣍ͷ݅Λຬͨ͢ 9 9
9/ͱׂ͢Δɿ
9Λ࣍ͷ݅Λຬͨ͢ 9 9 9/ͱׂ͢Δɿ ༷͔Βఆ͞ΕΔͲΜͳ ࣮Ͱɺ9Oͷதͷೖྗͷςετ ݁Ռ9OͷதͰͯ͢Ұக͢Δɻ 13 9
9 9/˲QSPHQSPH˥QPTTJCMF*NQMTQFD⟶ ˲O˥< /> ˲F˥9OUFTUTQFDQSPHF ˮ ˲F˥9OUFTUTQFDQSPHF Λຬͨ͢9ͷׂɻ 9 9 9/ ςετޭ ςετޭ ςετࣦഊ 9 9 9/ ςετޭ ςετࣦഊ ࣮# ࣮" ςετޭ
͜ͷΑ͏ͳׂΛಉׂͱ ͍͍ɺ9 9 9/ͷ͜ͱΛ ಉύʔςΟγϣϯͱ͍͏ɻ ಉׂͷఆٛࠞཚ͍ͯͯ͠ɺେ͖͚͘Δͱͭͷൊ͕͋Δ ʢৄࡉIUUQTCMPHLVOJXBLDPNFOUSZʣɻ ࠓճͷఆٛදݩͷͱΓ͔ͨʹΑΒͣશਖ਼ੑ͕อূ͞ΕΔ Α͏ʹઃܭͨ͠ܗࣜతͳఆٛΛ࠾༻͍ͯ͠Δɻ
14 ೖྗͷू߹ 9 9 9/
'J[[#V[[Λಉׂͯ͠ΈΑ͏ɻ ࣄલ݅Jͩͬͨɻ͜ΕΛ ࣮Λఆ͠ͳ͕Βׂ͍ͯ͘͠ɻ 15 *OUͷू߹ J
ग़ྗͷ'J[[ͱ#V[[ΛऔΓҧ͑ ͍ͯΔͱ͢Δͱɺ͔ͰׂΓΕΔ ೖྗͷू߹ͷςετ͕ࣦഊ͠ɺ ͦΕҎ֎ͷू߹ςετ͕ޭ͢Δɻ 16 ͔ͷΈͰ ׂΓΕΔ ͦΕҎ֎ *OUͷू߹
'J[[͕UZQP͍ͯ͠Δͱఆ͢Δͱɺ ͰׂΓΕͯͰׂΓΕͳ͍ ೖྗͷू߹ͷςετ͕ࣦഊ͠ɺଞͷ ू߹ͷςετޭ͢Δɻ ͭ·Γ͔ͰׂΓΕΔ෦ ͚ͩͰׂΓΕΔ෦ͱͦΕҎ֎ʹ ׂ͞ΕΔɻ 17 ͚ͩͰ ׂΓΕΔ
ͦΕҎ֎ ͚ͩͰ ׂΓΕΔ *OUͷू߹
ͷਐจࣈྻԽ͕ࣦഊ͍ͯ͠Δͱ͢Δͱɺ ͰͰׂΓΕͳ͍ೖྗͷू߹ͷ ςετ͕ࣦഊ͠ɺଞͷू߹ͷςετޭ͢Δɻ ͭ·ΓͰͰׂΓΕͳ͍ೖྗͱ ͦ͏Ͱͳ͍ೖྗͷू߹ʹׂ͞ΕΔɻ 18 ͚ͩͰ ׂΓΕΔ ͦΕҎ֎ ͚ͩͰ
ׂΓΕΔ ͰͰ ׂΓΕͳ͍ *OUͷू߹
݁Ռͱͯͭ͠ͷಉύʔςΟγϣϯʹ ׂ͞Εͨɻ େࡶʹઆ໌͢Δͱɺ͜͜ʹόά͕͋ͬͨΒ ͜ͷೖྗͷ͋ͨΓ͕શ໓͢Δͳɺͱ͍͏ ՕॴΛΓग़͍ͯ͘͠ͱಉׂʹͳΔɻ 19 ͚ͩͰ ׂΓΕΔ ͦΕҎ֎ ͚ͩͰ
ׂΓΕΔ ͰͰ ׂΓΕͳ͍ *OUͷू߹
͜ͷΑ͏ʹͯ͠ಘΒΕͨಉύʔςΟγϣϯʹ͓͍ͯɺ ͦΕͧΕͭͣͭҙͷදΛςετ͠ɺͦΕ͕ͯ͢ ޭ͢ΔͳΒ࣮༷Λຬ͍ͨͯ͠Δ͜ͱ͕อূ͞ΕΔɻ ͭ·ΓɺಉύʔςΟγϣϯ͝ͱʹҙͷೖྗΛͭ બΜͰςετ͢Δ͚ͩͰ͍͍ʂ 20 IUUQTHJTUHJUIVCDPN,VOJXBLBEEBFEECEBGD
མͱ͕݀͋͠Γ·͢
͜Ε·ͰͷಉׂͰɺ࣮Λఆ͍ͯ͠Δͱ͜Ζ ʹམͱ͕݀͋͠Δɻ ࣮ࡍͷ࣮͕͔͜͜Β֎Ε͍ͯΔͱɺύʔςΟγϣϯ ͷதʹςετΛޭͤ͞Δೖྗͱͦ͏Ͱͳ͍ೖྗ͕ࠞ ͬͯ͟͠·͏ɻ͢ΔͱͲ͏ͳΔ͔ɻ 22
ӡѱ͘ςετΛޭͤ͞ΔೖྗΛදʹબͿͱɺ ͦͷύʔςΟγϣϯͷଞͷςετ͠ͳ͍͔Β ࣦഊ͢Δೖྗɺ͢ͳΘͪόάΛݟಀͯ͠͠·͏ʂ 23
͜ͷམͱ݀͠Λճආ͢ΔͨΊʹࣗͷ࣮ʹ Ͳ͏͍͏όά͕ଟ͍͔ఆͰ͖ΕΑ͍ɻ Α͋͘Δόάͱͯ͠Λͱؒҧ͏Α͏ͳ όάͰ͋Δڥքόά͕ΒΕ͍ͯΔɻ 24
ڥքόάΛఆͯ͠ಉׂ͢Δͱɺࣄޙ݅ͷ ذͷڥք͚ͩΛؚΉಉύʔςΟγϣϯ͕Ͱ͖Δɻ 25
ྫ͑ɺྸΛೖྗͱͯ͠ɺ ͳΒਅɺະͳΒِΛฦ͢ ؔJT"EVMU BHF ͷ༷Λߟ͑Δɻ ࣄલ݅ʽBHFɺࣄޙ݅ ग़ྗͱʽBHFͷਅِͷҰகɻ 26 *OUͷू߹ ʽBHF
ਖ਼ղͷ࣮ͷܗΛSFUVSO BHF ͱͯ͠ɺ ΛͱͰؒҧ͑ͯ ͠·͏ఆΛ͢ΔͱɺBHF͕ͷ ͱ͖ͷςετ͕ࣦഊ͠ɺͦΕҎ֎ ͷςετޭ͢Δɻ 27 *OUͷू߹ BHF
ͦΕҎ֎
͢ΔͱɺBHFͱ͍͏ ࣄޙ݅ͷڥքͷ͚͔ͩΒͳΔ ಉύʔςΟγϣϯ͕Ͱ͖Δɻ ͜ͷΑ͏ʹڥքόάΛߟྀͨ͠ ಉύʔςΟγϣϯ͔ΒදΛ બͿํ๏Λڥքੳ๏ͱ͍͏ɻ 28 *OUͷू߹ BHF ͦΕҎ֎
ʢڥքʣ
ςετέʔεͷදతͳબͼํͱͯ࣍͠ͷͭͷํ๏͕ Α͘ΒΕ͍ͯΔɿ w ಉׂ๏ʢ&RVJWBMFODF$MBTT1BSUJUJPOJOH&$1ʣ w ڥքੳ๏ʢ#PVOEBSZ7BMVF"OBMZTJT#7"ʣ 29
͜͜·Ͱͷ·ͱΊ 30 w ಉׂ๏ʢ&RVJWBMFODF$MBTT1BSUJUJPOJOH&$1ʣ όά͕͋ͬͨΒ͜ͷೖྗ͕ࣦͯ͢ഊ͢Δͱ͍͏ՕॴΛ Γग़͍͖ͯ͠ɺͦͷද͚ͩΛςετ͢Δํ๏ɻ w ڥքੳ๏ʢ#PVOEBSZ7BMVF"OBMZTJT#7"ʣ ࣄޙ݅ͷڥքʹόά͕͋Δ͜ͱΛఆͯ͠ڥք্͔Β දΛબͿํ๏ɻ
ຊɿςετέʔεͷ໊લ 31
ςετέʔεͷաෆΛѲ͍͢͠ςετέʔε໊ ͕͍͍ςετέʔε໊ͩͬͨɻ ಉׂ๏ ڥքੳ๏ʹͱͮ͘ςετέʔεͷ ໊લʹɺಉύʔςΟγϣϯ͕Θ͔Δ໊લΛॻ͘ͱ ςετέʔεͷաෆΛѲ͘͢͠Ͱ͖Δɻ 32
ઌ΄Ͳͷఆ࣮Ͱͷ'J[[#V[[ͷ ಉύʔςΟγϣϯ͜͏ͩͬͨɿ w ͰͰׂΓΕͳ͍ೖྗͷू߹ w ͰׂΓΕͯͰׂΓΕͳ͍ೖྗͷू߹ w ͰׂΓΕͯͰׂΓΕͳ͍ೖྗͷू߹ w ͰͰׂΓΕΔೖྗͷू߹
33
ͳͷͰςετέʔε໊͜͏͢ΔͱΑ͍ɿ w ʮͰͰׂΓΕͳ͍߹ʯ w ʮͰׂΓΕͯͰׂΓΕͳ͍߹ʯ w ʮͰׂΓΕͯͰׂΓΕͳ͍߹ʯ w ʮͰͰׂΓΕΔ߹ʯ 34
͍ͭͰʹࣄޙ݅Λఴ͑ΔͱςετϨϙʔτ͕ ͦͷ··༷ͷจॻʹͳΔͷͰศརɿ w ʮͰͰׂΓΕͳ͍߹ਐจࣈྻʯ w ʮͰׂΓΕͯͰׂΓΕͳ͍߹'J[[ʯ w ʮͰׂΓΕͯͰׂΓΕͳ͍߹#V[[ʯ w ʮͰͰׂΓΕΔ߹'J[[#V[[ʯ
35
ઌ΄Ͳͷఆ࣮ͷJT"EVMUͷಉύʔςΟγϣϯ ͜͏ͩͬͨɿ w BHF w ͦΕҎ֎ 36
͜ͷͱ͖ͷςετέʔε໊ࣄޙ݅Λఴ͑ͯɿ w ʮBHFʢڥքʣͷͱ͖ग़ྗਅʯ w ʮͦΕҎ֎ͷͱ͖ग़ྗBHFʽͷਅِͱҰகʯ ڥք͔ΒͳΔಉύʔςΟγϣϯڥքͰ͋Δ ͜ͱΛΘ͔Γ͘͢͢ΔͱϨϏϡʔ͍͢͠ɻ 37
·ͱΊ 38 ςετέʔεʹಉύʔςΟγϣϯͷ໊લΛ͚ͭΔ
39
͓͞Β͍ɿ༷ͱ 40 w ࣄલ݅ ͕࣮ؔߦ͞ΕΔલʹͲ͏͍͏ঢ়ଶͰ͋Δ͖͔ɻ 'J[[#V[[Ͱ͍͏ͱɺJ w ࣄޙ݅ ࣄલ݅Λຬͨͨ͠ঢ়ଶͰɺؔΛ࣮ߦͨ͠ޙʹ Ͳ͏͍͏ঢ়ଶʹͳΔ͖͔ɻ
'J[[#V[[Ͱ͍͏ͱɺʢଓ͘ʣ
41 ೖྗͷ ग़ྗͷ 'J[[
#V[[ 'J[[ 'J[[#V[[ͷࣄޙ݅ɿ w ͰͰׂΓΕͳ͍ͱ͖ਐจࣈྻ w ͰׂΓΕͯͰׂΓΕͳ͍ͱ͖'J[[ w ͰׂΓΕͯͰׂΓΕͳ͍ͱ͖#V[[ w ͰͰׂΓΕΔͱ͖'J[[#V[[ ͓͞Β͍ɿ༷ͱ
࣮͕༷Λຬͨ͢ͱ 42 ೖྗͷ ༷ͷग़ྗ ࣮ͷग़ྗ
'J[[ #V[[ #V[[ 'J[[ ࣄલ݅Λຬͨͯ͢͢ͷঢ়ଶʹରͯ͠ɺ ͦͷ࣮ߦޙͷঢ়ଶ͕ࣄޙ݅Λຬͨ͢ͳΒɺ ࣮༷Λຬ͍ͨͯ͠Δɻ ͦΕҎ֎࣮༷Λຬ͍ͨͯ͠ͳ͍ ʢݴ͍͑Δͱ࣮ʹόά͕͋Δʣɻ όά όά