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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kuniwak
PRO
December 07, 2017
Programming
19
9.1k
コスパで学ぶ自動テストのはじめ方
Kuniwak
PRO
December 07, 2017
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
6
2k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
26
14k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
7
3.2k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.5k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
680
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
730
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.9k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
230
HOME VR
orgachem
PRO
1
850
Other Decks in Programming
See All in Programming
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
450
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
520
条件判定に名前、つけてますか? #phperkaigi #c
77web
1
130
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
470
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
610
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.3k
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
300
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
140
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
AI活用のコスパを最大化する方法
ochtum
0
200
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
How to train your dragon (web standard)
notwaldorf
97
6.6k
We Are The Robots
honzajavorek
0
200
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Technical Leadership for Architectural Decision Making
baasie
3
290
The Pragmatic Product Professional
lauravandoore
37
7.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
320
Leo the Paperboy
mayatellez
4
1.5k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
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Ί͓ͯ͜͏ʯ
ϨϏϡʔͰଞͷਓͷ ςετΛݟΑ͏ ͓ޓ͍͔Βֶ΅͏
ͦͷςετίεύѱ͘ͳ͍Ͱ͔͢ʁ ઃܭม͑·͠ΐ͏ʂ ͜ͷςετɺίεύ͍͍Ͱ͢Ͷʂ ਅࣅ͠·͢ʂ ͜͜ςετ͞ΕͯΔ͔ΒɺಡΈ͢͞ ͚ͩνΣοΫ͢ΕेͩͶ
ίεύςετ ࣺͯΔܾஅඞཁ ࢥ͍ͬͯ
ʮϦϑΝΫλϦϯάͨ͠Βɺ ɹؔͳ͍ςετΊͬͪΌ ɹམͪΔΜ͚ͩͲʜʯ
ʮߴίεύମ࣭ͷվળͷ ɹअຐʹͳΔ͘Β͍ͳΒফͦ͏ʯ
ࠓ͔ΒͰ͖Δ͜ͱ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ