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 07, 2017
Programming
19
9k
コスパで学ぶ自動テストのはじめ方
Kuniwak
PRO
December 07, 2017
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
3k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.4k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
600
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
700
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.8k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
210
HOME VR
orgachem
PRO
1
840
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.6k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.5k
Other Decks in Programming
See All in Programming
AtCoder Conference 2025
shindannin
0
1k
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Implementation Patterns
denyspoltorak
0
280
Vibe codingでおすすめの言語と開発手法
uyuki234
0
220
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
110
CSC307 Lecture 05
javiergs
PRO
0
490
Fragmented Architectures
denyspoltorak
0
140
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
240
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
CSC307 Lecture 08
javiergs
PRO
0
660
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Paper Plane
katiecoart
PRO
0
46k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Docker and Python
trallard
47
3.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
80
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The SEO identity crisis: Don't let AI make you average
varn
0
64
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
64
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Testing 201, or: Great Expectations
jmmastey
46
8k
Transcript
ίεύͰֶͿ ࣗಈςετͷ͡Ίํ
త ࠓ·Ͱࣗಈςετ͕ͳ͔ͬͨ ϓϩμΫτʹࣗಈςετΛ ಋೖ͍ͯ͘͠ઓུͷΞυόΠε ࣮ࡍͷςετͷॻ͖ํʹ͍ͭͯɺ HPPHM,K%R'WΛࢀর͍ͯͩ͘͠͞
ΞυόΠε·ͱΊ ᶃ ίεύߴ͍ςετͷύλʔϯΛֶͼ·͠ΐ͏ ᶄ ࣗಈςετΛೖΕΔલʹຊମίʔυʹ खΛೖΕ·͠ΐ͏ ᶅ ॳظͷमਖ਼֬ೝࣗಈςετͰͳ͘ खಈPS6*ςετʹ͠·͠ΐ͏ ᶆ
ߴίεύςετΛश׳Խ͠·͠ΐ͏
ςετͷ ίεύײ֮Λ ʹ͚ͭΔ
ࣗಈςετʹ ίεύͷߴ͕͋Δ ҙࣝͯ͠΄͍͠ϙΠϯτ
ྫ͑ʜ
wςετίʔυΛ࠶ར༻Ͱ͖Είεύߴ͍ wϧʔϓͰճͤΔςετίεύߴ͍ wʜ
ݕূ͕ؔ࠶ར༻Ͱ͖Εߴίεύ
σʔλΛՃ͢Δ͚ͩͰ ςετέʔε͕૿ͤΔͷͰ ߴίεύ
͋ͳͨͷϓϩμΫτͷςετ ίεύߴ͘ॻ͚ͦ͏Ͱ͔͢ʁ
ʮ͋Δςετॻ͍ͯͨΒ͕Ε·ͨ͠ʯ ݪҼ͜ͷςετͷίεύ͕͍͔Β
ߴίεύ ςετͷ ્ཁҼ
ςετͷ͜ͱΛ ߟ͍͑ͯͳ͍ઃܭ͔ͩΒ Ͳ͏ͯ͠ίεύ͕͍ͷ͔
ྫ ΄Μͱ͔ͳʁ
ςετ͠ͳ͍ͱා͍͙Β͍ʹෳࡶͳؔ ͳʹΒόϦσʔγϣϯΛ͢ΔΑ͏ͩ
ςετ͢Δʹςετରʹ దͳೖྗΛ͢Δඞཁ͕͋Δ ͜ͷೖྗ͕ϑΟʔϧυܦ༝Ͱ ͔͠QSJWBUFͩͬͨΓ͢Δͱ ೖྗΛ੍ޚ͢Δ͜ͱ͕͍ͦͦ͠
όϦσʔγϣϯͷ݁Ռ͕ Πϯελϯεϝιουͷ ݺͼग़͠ͷ༗ແͰ͔͠ ఆͰ͖ͳ͍ͱ͖ɺ όϦσʔγϣϯ݁Ռͷ औಘʹςΫχοΫ͕ ඞཁͱ͞ΕΔ
͔ͳΓؤுΒͳ͍ͱ ςετͰ͖·ͤΜ
͜͜·Ͱͷ·ͱΊ w ؤுΒͳ͍ͱ͍͚ͳ͍ςετ ʢίεύ͍ςετʣͭΒ͍ w ߴίεύମ࣭ม͍͖͑ͯ·͠ΐ͏
ίεύମ࣭ վળͷํ๏
ࣗಈςετΛೖΕΔલʹ ຊମίʔυʹखΛೖΕ·͠ΐ͏ ίεύ٫ͷͨΊʹΑ͘Δํ๏ ʲ࠶ܝʳຊମίʔυͷखͷೖΕํʹ͍ͭͯɺ HPPHM,K%R'WΛࢀর͍ͯͩ͘͠͞
͜͜Ͱٙ ߴίεύମ࣭มΘΔ్தɺ όά͕ͳ͍͜ͱΛͲ͏อূ͢Δͷ͔ʁ
༷Խςετ ํ๏ͦͷ
w ༷Խςετͱɺطଘͷίʔυʹ ͦͷ··୯ମςετΛՃ͢Δख๏ w తɺςετରͷཧղΛਂΊΔ ͜ͱͱɺޙͷճؼςετͱͯ͠͏ ͜ͱͷͭ
wϝϦοτɿ ܁Γฦ͠ͷ͕খ͍͞ wσϝϦοτɿ ίεύମ࣭ΛҾ͖ͣΔ
6*ςετ ผͷํ๏
wϝϦοτɿ ίεύମ࣭ͰΏΔͬͱͰ͖Δ wσϝϦοτɿ ΤϯδχΞʹෛ୲͕ूத͢Δ
खಈςετ Φεεϝͷํ๏
wϝϦοτɿ ίεύମ࣭ͰΏΔͬͱͰ͖Δ wσϝϦοτɿ ܁Γฦ͢͝ͱʹઇͩΔ·ࣜʹ ͕૿͑Δ
ൺֱ w ༷Խςετɺݩͷઃܭ͕ ߴίεύମ࣭ͳΒ͍͢͝༗ޮ w ͔͠͠ίεύମ࣭ͳঢ়گͰ ମ࣭վળ͠ͳ͍ͷͰͭΒ͍ w Δબࢶʢखಈ6*ςετʣɺ ςελʔςετΤϯδχΞͷ
ίεύΛൺֱܾͯ͠ΊΔͱΑ͍
ͳͥखಈ6*ςετ ίεύମ࣭Ͱ Ͱ͖Δͷ͔ ͜͜Ͱٙ
ςετͷίεύཻͱ ରͷઃܭʹࠨӈ͞ΕΔ͔Β ֮͑ͯ΄͍͠ϙΠϯτ
ςετͷ ཻɿେ ςετͷ ίεύɿྑ ୯ମςετ खಈ6*ςετ
ςετͷཻͱ ίεύͷؔ
ؔ" ؔ# ʜ ग़ྗO௨Γ ग़ྗN௨Γ ʜ
ςετͷཻ͕ খ͍͞ͱ͖
୯ମςετ ؔ" ؔ# ςετͷɿO N௨Γ ୯ମςετ O௨Γ N௨Γ ؔݸผʹςετ͞ΕΔͷͰ
ςετͷཻ͕ େ͖͍ͱ͖
ؔ" ʜ ςετͷɿOʷN௨Γ ؔ# ʜ # ʜ ؔ# ʜ ؔ#
ʜ ؔ# ʜ ؔ# ʜ ؔ खಈ6*ςετ Ϟδϡʔϧ࿈݁ͨ͠··ςετ͞ΕΔͷͰ
͠ɺςετͰ͖Δ͕ Nͩͬͨͱ͢Δͱʜ
୯ମςετ ؔ" ؔ# ΧόʔͰ͖Δൣғยํ ୯ମςετ O௨Γ N௨Γ
ʜ ΧόʔͰ͖Δൣғ͘͝Ұ෦ ʜ ʜ ʜ ʜ ʜ ʜ खಈ6*ςετ ؔ"
ؔ# # ؔ# ؔ# ؔ# ؔ# ؔ
ͭ·Γςετରͷཻ͕ খ͍͞ςετʢ୯ମςετʣɺ ίετύϑΥʔϚϯε͕ߴ͍ʂ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ୯ମςετͷํ͕ίεύ͕ߴ͍ ςετͷ ίεύɿྑ
୯ମςετ ςετͮ͠Β͍ઃܭͩͱ ͷ͘͢͝ίεύѱ͍ ͨͩ͠ʜ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ʜςετ͍͢͠ઃܭ ʜςετͮ͠Β͍ઃܭ ςετͷ ίεύɿྑ ୯ମςετઃܭʹΑͬͯ ίεύ͕େ͖͘มΘΔ
͔͠͠ΞϓϦΛ֎ଆ͔Β ৮ΔͿΜʹɺઃܭͳͲ ؔͳ͍ͷͩͬͨɻɻɻ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ʜςετ͍͢͠ઃܭ ʜςετͮ͠Β͍ઃܭ ςετͷ ίεύɿྑ खಈ6*ςετͷίεύ ઃܭʹ͋·Γࠨӈ͞Εͳ͍
͠ɺମ࣭վળΛ ୯ମςετ͚ͩͰ ؤுΖ͏ͱ͢Δͱʜ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ಓͷΓͷ ίεύѱ͍ ςετͷ ίεύɿྑ
Ͱɺ࠷ॳ͚ͩ खಈ6*ςετʹ͢Δͱʜ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ͔͜͜Β ͡Ίͯ ςετͷ ίεύɿྑ
ςετͷ ཻɿେ ୯ମςετ खಈ6*ςετ ࠷ऴతʹ ͜͜ ͔͜͜Β ͡Ίͯ ςετͷ ίεύɿྑ
ಓͷΓͷίεύ͕͍͍ʂ
·ͱΊ w खಈ6*ςετॳظͦ͜ ༗ޮ͕ͩίεύ͕ѱ͍ w ݁ہߴίεύମ࣭ʹͳͬͯ ୯ମςετΛ૿͢ͷ͕Ұ൪͍͍
ߴίεύ ମ࣭ͷ Ϩοεϯ
ߴίεύମ࣭ͳઃܭʹ׳Ε͕ඞཁ εςοϓΞοϓํ๏Λհ͠·͢
Ϩοεϯ༰ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ
ςετڥͷඋ ·͔ͣ͜͜Β
ׂѪ
ςετΛઌʹॻ͘ ઃܭྗཆΪϓε
ςετΛ࠷ॳʹॻ͘ͱߴίεύʹ ͳΓ͍͢ʢෳࡶͳςετ༨ܭͳذΛ͔͚ͳ͍͔Βʣ ߴίεύମ࣭ʹͳΕΔ·Ͱ ͳΔ࣮͘ફ͠Α͏ ࣮ફʹʮं૭͔Βͷ5%%ʯ͕Φεεϝ IUUQPCKFDUDMVCKQUFDIOJDBMEPDUFTUJOHTUBDL@UEEQEG
ςετͷΛฉ͘ εϐϦνϡΞϧʁ
ʮςετॻ͍ͯͨΒҾଟͯ͘ɺ ɹ४උ͕ͩΔ͍ͳɻɻɻʯ
ςετͷ͕ฉ͑͜Δʜ
ʮଟ͕ଟ͍ΜͩΖ͏ͳɻ ɹΫϥεׂ͕ඞཁͳͷ͔ʯ
ςετΛॻ͔ͳ͍ͱ͖ ςετΛҙࣝ͠Α͏ ٽ͘ٽ͘
ʮ͜͜PQUJPOBMʹ͠Α͏͔ͳʯ
ςετͷ͕ฉ͑͜Δʜ ςετΛॻ͔ͳͯ͘
ʮͰɺςετέʔε૿͑Δͳʜ ɹ͜͜ͷPQUJPOBMΊ͓ͯ͜͏ʯ
ϨϏϡʔͰଞͷਓͷ ςετΛݟΑ͏ ͓ޓ͍͔Βֶ΅͏
ͦͷςετίεύѱ͘ͳ͍Ͱ͔͢ʁ ઃܭม͑·͠ΐ͏ʂ ͜ͷςετɺίεύ͍͍Ͱ͢Ͷʂ ਅࣅ͠·͢ʂ ͜͜ςετ͞ΕͯΔ͔ΒɺಡΈ͢͞ ͚ͩνΣοΫ͢ΕेͩͶ
ίεύςετ ࣺͯΔܾஅඞཁ ࢥ͍ͬͯ
ʮϦϑΝΫλϦϯάͨ͠Βɺ ɹؔͳ͍ςετΊͬͪΌ ɹམͪΔΜ͚ͩͲʜʯ
ʮߴίεύମ࣭ͷվળͷ ɹअຐʹͳΔ͘Β͍ͳΒফͦ͏ʯ
ࠓ͔ΒͰ͖Δ͜ͱ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ