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
8.7k
コスパで学ぶ自動テストのはじめ方
Kuniwak
PRO
December 07, 2017
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
3.8k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
72
HOME VR
orgachem
PRO
1
780
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.3k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.1k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1k
私と Nature Remo E / Nature Remo E
orgachem
PRO
0
25k
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
PRO
1
1k
睡眠する技術 / Technology to Sleep
orgachem
PRO
15
14k
Other Decks in Programming
See All in Programming
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
9
990
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
290
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
200
開発効率向上のためのリファクタリングの一歩目の選択肢 ~コード分割~ / JJUG CCC 2024 Fall
ryounasso
0
360
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
7
2.8k
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
130
VR HMDとしてのVision Pro+ゲーム開発について
yasei_no_otoko
0
100
Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに利用して開発するコーポレートサイト@Vue Fes Japan 2024
shingangan
3
890
C#/.NETのこれまでのふりかえり
tomokusaba
1
150
ECSのサービス間通信 4つの方法を比較する 〜Canary,Blue/Greenも添えて〜
tkikuc
11
2.3k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
202
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
363
19k
Automating Front-end Workflow
addyosmani
1365
200k
Making Projects Easy
brettharned
115
5.9k
Producing Creativity
orderedlist
PRO
341
39k
Designing for humans not robots
tammielis
249
25k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.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Ί͓ͯ͜͏ʯ
ϨϏϡʔͰଞͷਓͷ ςετΛݟΑ͏ ͓ޓ͍͔Βֶ΅͏
ͦͷςετίεύѱ͘ͳ͍Ͱ͔͢ʁ ઃܭม͑·͠ΐ͏ʂ ͜ͷςετɺίεύ͍͍Ͱ͢Ͷʂ ਅࣅ͠·͢ʂ ͜͜ςετ͞ΕͯΔ͔ΒɺಡΈ͢͞ ͚ͩνΣοΫ͢ΕेͩͶ
ίεύςετ ࣺͯΔܾஅඞཁ ࢥ͍ͬͯ
ʮϦϑΝΫλϦϯάͨ͠Βɺ ɹؔͳ͍ςετΊͬͪΌ ɹམͪΔΜ͚ͩͲʜʯ
ʮߴίεύମ࣭ͷվળͷ ɹअຐʹͳΔ͘Β͍ͳΒফͦ͏ʯ
ࠓ͔ΒͰ͖Δ͜ͱ ᶃ ςετ͕ಈ͘ڥΛ͑Δ ᶄ ςετΛઌʹॻ͘ ᶅ ςετͷΛฉ͘ ᶆ ςετΛॻ͔ͳ͍࣌ςετΛҙࣝ͢Δ ᶇ
ϨϏϡʔͰଞਓͷςετΛݟΔ ᶈ ίεύςετࣺͯΔܾஅΛ͢Δ