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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kuniwak
PRO
December 07, 2017
Programming
9.1k
19
Share
コスパで学ぶ自動テストのはじめ方
Kuniwak
PRO
December 07, 2017
More Decks by Kuniwak
See All by Kuniwak
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
4
460
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
9
6.2k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
31
15k
DeNA での思い出 / Memories at DeNA
orgachem
PRO
7
3.5k
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
18
4.6k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
4
710
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
770
欠陥を早期に発見するための 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
240
Other Decks in Programming
See All in Programming
継続的な負荷検証を目指して
pyama86
3
1.2k
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
PHPer、Cloudflare に引っ越す
suguruooki
2
220
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
200
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1.1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
620
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
290
関係性から理解する"同一性"の型用語たち
pvcresin
1
180
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
190
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Bash Introduction
62gerente
615
210k
New Earth Scene 8
popppiees
3
2.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
540
Embracing the Ebb and Flow
colly
88
5k
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Technical Leadership for Architectural Decision Making
baasie
3
370
Test your architecture with Archunit
thirion
1
2.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
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Ί͓ͯ͜͏ʯ
ϨϏϡʔͰଞͷਓͷ ςετΛݟΑ͏ ͓ޓ͍͔Βֶ΅͏
ͦͷςετίεύѱ͘ͳ͍Ͱ͔͢ʁ ઃܭม͑·͠ΐ͏ʂ ͜ͷςετɺίεύ͍͍Ͱ͢Ͷʂ ਅࣅ͠·͢ʂ ͜͜ςετ͞ΕͯΔ͔ΒɺಡΈ͢͞ ͚ͩνΣοΫ͢ΕेͩͶ
ίεύςετ ࣺͯΔܾஅඞཁ ࢥ͍ͬͯ
ʮϦϑΝΫλϦϯάͨ͠Βɺ ɹؔͳ͍ςετΊͬͪΌ ɹམͪΔΜ͚ͩͲʜʯ
ʮߴίεύମ࣭ͷվળͷ ɹअຐʹͳΔ͘Β͍ͳΒফͦ͏ʯ
ࠓ͔ΒͰ͖Δ͜ͱ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ