Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
2.8k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.3k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
550
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
650
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.7k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
190
HOME VR
orgachem
PRO
1
830
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
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
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
480
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
110
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
tparseでgo testの出力を見やすくする
utgwkk
2
230
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
250
Your Architecture as a Crime Scene?Forensic Analysis
manfredsteyer
PRO
0
100
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
140
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
2.9k
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
2
1.2k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
100
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
A designer walks into a library…
pauljervisheath
210
24k
What's in a price? How to price your products and services
michaelherold
246
13k
Music & Morning Musume
bryan
46
7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Become a Pro
speakerdeck
PRO
31
5.7k
Writing Fast Ruby
sferik
630
62k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
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Ί͓ͯ͜͏ʯ
ϨϏϡʔͰଞͷਓͷ ςετΛݟΑ͏ ͓ޓ͍͔Βֶ΅͏
ͦͷςετίεύѱ͘ͳ͍Ͱ͔͢ʁ ઃܭม͑·͠ΐ͏ʂ ͜ͷςετɺίεύ͍͍Ͱ͢Ͷʂ ਅࣅ͠·͢ʂ ͜͜ςετ͞ΕͯΔ͔ΒɺಡΈ͢͞ ͚ͩνΣοΫ͢ΕेͩͶ
ίεύςετ ࣺͯΔܾஅඞཁ ࢥ͍ͬͯ
ʮϦϑΝΫλϦϯάͨ͠Βɺ ɹؔͳ͍ςετΊͬͪΌ ɹམͪΔΜ͚ͩͲʜʯ
ʮߴίεύମ࣭ͷվળͷ ɹअຐʹͳΔ͘Β͍ͳΒফͦ͏ʯ
ࠓ͔ΒͰ͖Δ͜ͱ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ