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
Kuniwak
PRO
December 14, 2024
Programming
1
280
テストケースの名前はどうつけるべきか?
Kuniwak
PRO
December 14, 2024
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
88
HOME VR
orgachem
PRO
1
790
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.4k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.2k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
26k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1.1k
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
14k
Other Decks in Programming
See All in Programming
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
400
Androidアプリの One Experience リリース
nein37
0
940
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
110
命名をリントする
chiroruxx
1
610
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
910
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
23
2.3k
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
340
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
9
2.3k
快速入門可觀測性
blueswen
0
490
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
510
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
230
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
120
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Scaling GitHub
holman
459
140k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Adopting Sorbet at Scale
ufuk
74
9.1k
Typedesign – Prime Four
hannesfritz
40
2.5k
Fireside Chat
paigeccino
34
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
950
Thoughts on Productivity
jonyablonski
68
4.4k
Designing Experiences People Love
moore
139
23k
Speed Design
sergeychernyshev
25
730
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[[ ࣄલ݅Λຬͨͯ͢͢ͷঢ়ଶʹରͯ͠ɺ ͦͷ࣮ߦޙͷঢ়ଶ͕ࣄޙ݅Λຬͨ͢ͳΒɺ ࣮༷Λຬ͍ͨͯ͠Δɻ ͦΕҎ֎࣮༷Λຬ͍ͨͯ͠ͳ͍ ʢݴ͍͑Δͱ࣮ʹόά͕͋Δʣɻ όά όά