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
経営者を巻き込む自動テストの広め方 [DevLove甲子園-技]
Search
tadyjp
August 24, 2014
Business
6
1.2k
経営者を巻き込む 自動テストの広め方 [DevLove甲子園-技]
DevLOVE現場甲子園2014 東日本大会
技トラック4回裏
ツールや技術だけでは解決できない「やりたいことを会社でやるための」5つのパターン
tadyjp
August 24, 2014
Tweet
Share
More Decks by tadyjp
See All by tadyjp
vue-onsenuiを教材に Vue2 migrationを 試してみる // migrate vue-onsenui to vue2
tadyjp
1
1.5k
「たった1行」を支える監視技術 at 2016/09/27 第一回スタートアップRails勉強会 / monitoring for "one line" service
tadyjp
2
400
テスト駆動検索のススメ [第3回Elasticsearch勉強会]
tadyjp
9
2.5k
Other Decks in Business
See All in Business
【新卒向け】株式会社リブに興味のある方へ
libinc
0
10k
ミツモアAI推進G AI活用Tips50
mmota
0
670
アシスト 会社紹介資料
ashisuto_career
3
150k
【27新卒セールス(FS・店舗)】BuySell Technologies会社紹介資料
buyselltechnologies
0
250k
RSGT2026 Dave Snowden Keynote
julesyim
0
840
AI × アジャイルで、エンタープライズを動かす:文化に寄り添い、ビジネス価値を拡大する実践知 / AI × Agile: Driving Enterprise Transformation
yosuke_matsuura
PRO
0
1.3k
ノッカリアドベントカレンダー全記録まとめ
szkm555
0
120
【正社員型エンジニア派遣事業】採用資料
cdcsaiyo
0
200
【northernforce#54】AIの歴史と仕組みから学ぶAIエージェント入門
yoshi17
0
220
20260101_UPDATER_companysummary
updater_pr
0
110k
セーフィー株式会社(Safie Inc.) 会社紹介資料
safie_recruit
7
410k
Sreake事業部説明資料
3shake
0
230
Featured
See All Featured
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
100k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
We Have a Design System, Now What?
morganepeng
54
8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
How to make the Groovebox
asonas
2
1.9k
Writing Fast Ruby
sferik
630
62k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Darren the Foodie - Storyboard
khoart
PRO
2
2.3k
How to Ace a Technical Interview
jacobian
281
24k
Transcript
ܦӦऀΛר͖ࠐΉ ࣗಈςετͷΊํ ଟా·͞ͱ!UBEZ@KQ גࣜձࣾ͛͡Μ ੍࡞ج൫άϧʔϓϦʔμʔ %FW-PWFݱߕࢠԂ౦ຊେձ ٕτϥοΫ 4BU
ࣗݾհ • ͛͡ΜࣾΤϯδχΞ৽ଔ̍ظੜ • ݱࡏ̎ • ͜ͷ݄͔Βʮج൫νʔϜʯͷϦʔμʔ • ීஈͷࣄɿ ݱ
ܦӦਞ 両⽅方から 押しつぶされる ⽇日々
͜ͷϓϨθϯͷϙΠϯτ πʔϧٕज़͚ͩͰղܾͰ͖ͳ͍ ʮΓ͍ͨ͜ͱΛձࣾͰΔͨΊͷʯ ͭͷύλʔϯ
ࣾһߏ ΤϯδχΞ ΤϯδχΞ ʢࠃ֎ࢠձࣾʣ اըʗηʔϧε σβΠφʔ ϚʔέςΟϯά
̐छྨͷΤϯδχΞ ϚωδϝϯτΤϯδχΞ αʔϏε ΤϯδχΞ ςΫϊϩδʔΤϯδχΞ ࠃ֎ݱ ΤϯδχΞ ࣄۀ෦ʗܦӦͱͷ ίϛϡχέʔγϣϯ͕ૈ͍ʂ
ೖࣾ࣌ͷিܸ ΤϯδχΞਓͨΓͷ ՔಇαʔϏε τϥοΫφϯόʔ
ೖࣾ࣌ͷিܸ ৴པͯ͠ಈ͍͍ͯΔ ςετίʔυͷߦʹ
ςετΛॻ͜͏ͱͨ͠ ϝϯόʔͷਓ
ࣦഊͷؒ • 3TQFDͷࣾษڧձ • ςετͷॻ੶ͷڭ • ࣾϥΠϒϥϦͷϥΠϒϥϦԽ • ৽نαʔϏεͷ5%% •
FUD ԿΛͬͯͩΊ
ςετΛऔΓר͘'PSDFT
ࣄۀऀͱͷۦ͚Ҿ͖ ςετʁ ͦΜͳͷखͷ։͍͍ͯΔ όΠτʹͰΒͤͱ͚ ͪΐͬͱͬͯԼ͍͞ ͕Ζ͏ͱ͍ͯ͠Δςετ ͦ͏͍͏ྨͷͷͰ͋Γ·ͤΜ
։ൃϦʔμʔ͔Βͷཁٻ ςετΛॻ͘ͳΒ ΧόϨοδΛࢦඪʹ͠Α͏͔ ͪΐͬͱͬͯԼ͍͞ ΧόϨοδ͕ߴͯ͘ ࣭͕ߴ͍ͱ͍͏Θ͚Ͱ͋Γ·ͤΜ
ಉ྅ͱͷ୳Γ͍͋ ͓·͑ɺͦ͜·Ͱςετॻ͘ͷʁ Զʹ·ͰϓϨογϟʔ͕૿͑Δ͡Όͳ͍͔ ͪΐͬͱͬͯԼ͍͞ ςετͰ͖Δͱ͜Ζ͔Β গͣͭ͠Ε͍͍ΜͰ͢Α
ଞ৬छ͔ΒͷϓϨογϟʔ ͋ͳͨɺ ͦΜͳ͜ͱ͢Δ༨༟͋ΔͳΒ ͬͪ͜ͷ։ൃͯ͠Α ͪΐͬͱͬͯԼ͍͞ ςετະདྷͷେͳࢿͰ͢ ༨༟͕ແ͍͔ΒςετΛ͢ΔΜͰ͢
ࣗͱͷઓ͍ ೲظೲظೲظɺͦͯ͠ೲظ ςετͷͨΊʹۀ͢Δͷ͔ɺԶ ͊
ςετΛऔΓרͭ͘ͷྗ ࣄۀ ऀ ։ൃ Ϧʔμʔ ಉ྅ ଞ৬छ ࣗ
ͦ͏ɺݱఢͩΒ͚ GEMBA
Ͳ͏ͯ͜͠͏ͳͬͨʁ
ߥͿΔ࢛ఱԦ 2VBMJUZ ʜ࣭ $PTU ʜඅ༻ʢೖਓʣ %FMJWFSZ ʜೲظ 4DPQF ʜػೳ
Mr. Quality Mr. Cost Mr. Scope Mr. Delivery
ߥͿΔࡾఱԦ ʑ։ൃͱϦϦʔε͕ଓࣗࣾ͘αʔϏεͰɺ $PTUೖਓΛมߋ͢Δ͜ͱ ࣄ্࣮ෆՄೳ Mr. Quality Mr. Cost Mr. Scope
Mr. Delivery
Δ̏ͭͷύϥϝʔλ ࣭ɾೲظɾػೳ ͜ͷ̏ͭҰݟཱ྆ͦ͠͏ʹݟ ͑Δ ͔͠͠ɺ͜ͷ߹ 2VBMJUZʮະདྷͷࢿʯΛ ߟྀ͍ͯ͠ͳ͍ࣄ͕ଟ͍ Mr. Quality
Mr. Scope Mr. Delivery ैଐม ಠཱม ಠཱม
4DPQF%FMJWFSZ͕ڧ͍ 2VBMJUZ͕ऑ͍ʹఆྔੑ͕͍ ͳͥͳΒɺʹݟ͑ͳ͍͔Βʂ ʮόά͕ແ͍ʹ࣭͕ߴ͍ʯͰͳ͍
+FOLJOT͕͘ͳͬͯɺ αʔϏεʹࢧো͕ग़ͳ͚Ε ʮձࣾʯԿࢥΘͳ͍
͡Ό͋ɺ2VBMJUZΛݟ͑ΔԽͩ
ͰɺԿΛʁ ΧόϨοδΛݟͤͯʮձࣾʯԿࢥΘͳ͍ ͱ͍͏͔ɺطଘαʔϏεͷςετԽͰ ΧόϨοδͱ͔ඇݱ࣮త Կ͔ʮݟ͑ΔԽʯͰ͖Δͷແ͍͔ʁ ύλʔϯ ݟ͑ΔԽύλʔϯ
ࣾʹࣖΛ͚ͯΈͨ
ϢʔβʔొϑΥʔϜͷόϦσʔγϣϯΤϥʔ Ϟσϧͷςετ ڭՊॻతͰΓͦ͢͏ ͰԿ͔Ҿ͔͔ͬΔ
ຊʹ͜ΕͰ͍͍ͷ͔ ϞσϧҎ֎ʹςετ߲ͨ͘͞Μ͋Δ ϑΥʔϜͷόϦσʔγϣϯͷมߋͱ͔Ίͬͨʹͳ ͍
ͦͦͳͥ.PEFMͷςετ͔Βॻ͘ͷ͔ʁ ݪʹͬͯΈΑ͏ ͲͷςΩετϞσϧͷςετ͔Βॻ͍ͯ͋Δ トレーニングはモデルテストから 本番適⽤用ではフィーチャー(E2E)から (;
・`д・´) ナ、ナンダッテー !?
ํస ࣾʹϑΟʔνϟʔతͳ ςετΛॻ͘ωλͳ͍͔ʁ ύλʔϯ ௌύλʔϯ
͋ΔϚʔέ୲ͷͭͿ͖ ҎલɺϦϦʔε͢Δͱۃ·Εʹ)5.-ͷNFUBλ ά่͕ΕΔ͜ͱ͕͋ͬͨɻ ͦΕ͕յΕΔͱ4&00(1ʹѱӨڹ͕ͰΔɻ ͦΕΛνΣοΫ͢ΔͨΊʹɺϦϦʔεલʹຖճ ʮιʔεΛදࣔʯͯ͠தΛ֬ೝ͢Δͷ͕໘ͩ l
͜Εͩʂ ʮྲྀೖຖʹҟͳΔϥϯσΟϯάϖʔδ࠷దԽʯ ͷςετ • ϦϦʔεຖʹൃੜ͢Δखಈςετʹқ͢Δ Ϛʔέ୲ • UJUMFNFUBͳͲͷ)5.-ཁૉͷςετ ඇৗʹޮ͕ѱ͍
• σόΠεɺϦϑΝϥɺDPPLJFɺ࣌ͰҟͳΔ 7JFX • ͜͏͍ͬͨςετඇৗʹΊΜͲ͍͘͞ ˍɹΤϥʔʹؾ͖ͮʹ͍͘
ؒΛ૿͢ Ϛʔέͷதʹࠂɺ4&0୲ऀ͕͍Δ ൴ΒΛؒʹ͢Δ͜ͱͰςετจԽΛΊͯΈΑ ͏ ظͤͣͯ͠ɺͦͯ͠ʮΤϯδχΞͷࣗݾຬʯͱ ͍͏ΠϝʔδΛ১ ύλʔϯ ؒΛ૿͢ύλʔϯ
ඇٕज़ऀΛઆಘ͢ΔΩϥʔνϟʔτ ʮ͋ͳ͕ͨϦϦʔεຖʹνΣοΫ͍ͯ͠Δ߲ɺ ճҎ߱ෆཁʹͳΓ·͢ʯ ͔࣍Βͷϖʔδ ࣮ࡍʹࣾษڧձͰ ެ։ͨ͠εϥΠυ
1回目 2回目 3回目 ・・・ N回目 機能A ◦ 機能B × 機能C
◦ 機能D (未実装) 機能E (未実装) 機能F (未実装) ・・・ 35
1回目 2回目 3回目 ・・・ N回目 機能A ◦ 機能B × 機能C
◦ 機能D (未実装) 機能E (未実装) 機能F (未実装) ・・・ テストが 必要な部分 36
1回目 2回目 機能A ◦ ◦ 機能B × ◦ 機能C ◦
◦ 機能D (未実装) ◦ 機能E (未実装) (未実装) 機能F (未実装) (未実装) ・・・ 37
1回目 2回目 機能A ◦ ◦ 機能B × ◦ 機能C ◦
◦ 機能D (未実装) ◦ 機能E (未実装) (未実装) 機能F (未実装) (未実装) ・・・ 38
1回目 2回目 3回目 ・・・ N回目 機能A ◦ ◦ × ◦
機能B × ◦ ◦ ◦ 機能C ◦ ◦ ◦ ◦ 機能D (未実装) ◦ × ◦ 機能E (未実装) (未実装) (未実装) ◦ 機能F (未実装) (未実装) ◦ ◦ ・・・ 手動テストの場合: テスト回数 =機能数×リリース回数÷2 テストが 必要な部分 39
1回目 2回目 3回目 ・・・ N回目 機能A ◦ ◦ × ◦
機能B × ◦ ◦ ◦ 機能C ◦ ◦ ◦ ◦ 機能D (未実装) ◦ × ◦ 機能E (未実装) (未実装) (未実装) ◦ 機能F (未実装) (未実装) ◦ ◦ ・・・ テストが 必要な部分 自動テストの場合: テスト回数 =機能数 40
۩ମతͳํ๏ &YDFMʢ$47ʣΛͬͨςετέʔεهड़ ඇٕज़ऀͰ༻Ͱ͖Δz4QFDz &YDFMͳΒΈΜͳ͕͑Δ ཪଆ +FOLJOTʴ'51αʔό 5VSOJQ
1PMUFSHVJTU Λ͔ͭͬͨϑΟʔνϟʔ && ςετ ύλʔϯ าΈدΓύλʔϯ
Έ マーケがCSVアップロード Daily / ⼿手動で実⾏行行 ⽇日々の開発
۩ମతͳํ๏ ͻͱΓ2"νʔϜΛ݁ ςετिؒΛ࡞Γɺ͕ࣗνʔϜʹೖΓࠐΉ νʔϜʹೃછΉΑ͏ʹ ʮҰਓͰͯͬͯ͢͠·͏ʯ/( ͋͘·Ͱɺʮݺͼਫʯͱͯ͠ ύλʔϯ ݺͼਫύλʔϯ
ཧతʹॴΛม͑ͯςετΛॻ͖ʹߦ͘
͜Ε·Ͱͷ૯ׅ
ྑ͔ͬͨ ʮςετ͕ճ͍ͬͯΔʯ ͱ͍͏ঢ়ଶ·Ͱ࠷ͰདྷΒΕͨ
ྑ͔ͬͨ ςετΛ͍ͯ͠ͳ͍ ϝϯόʔΛר͖ࠐΊͨ
ྑ͔ͬͨ ΤϯδχΞҎ֎ͷࢍಉऀ Λ࡞Δ͜ͱ͕ग़དྷͨ
ল ςετΛॻ͘τϨʔχϯάͱ ࣮ࡍͷςετͷ࣮ͷόϥϯεײ͕͍֮͠
ࠓޙͲ͏ͯ͠ߦ͖͍͔ͨ • ςετͷॏཁੑͷڭ – ·ͩ·ͩςετͷॏཁੑΛ৺͔Βཧղ͍ͯ͠Δਓ গͳ͍ • ࠃڥͳ͖2"νʔϜͷ݁ –
࣌Ͱࠃ֎ͷ։ൃऀͷํ͕ଟ͍ • ୈ̎ɺୈ̏ͷʮݺͼਫʯީิͷҭ – ͍ͭ·Ͱ͕ࣗςετਪਐΛ͍ͯͨ͠ΒϚωδϝϯ τ͕Ͱ͖ͳ͍
ςετΛΊΔͭͷύλʔϯ – ਓਤࣔ͞ΕΔ͜ͱͰͦͷࣄฑͷେ͖͞Λ٬؍తʹड͚औΔ͜ͱ͕ Ͱ͖Δ • ௌύλʔϯ – ͔ࣗΒΕͨͱ͜Ζʹస͕͍ͬͯΔ͜ͱ͕ଟ͍
• ؒΛ૿͢ύλʔϯ – ࣗҰਓͰղܾͰ͖ͳ͍࣌ʹɺͰ͖Δ͚ͩόοΫάϥϯυ͕ҧ ͏ਓͱྑ͘͢Δ͜ͱ • าΈدΓύλʔϯ – ʮ͕ࣗΘ͔Δ͜ͱ㱠ΈΜͳ͕Θ͔Δ͜ͱʯͱ͍͏ͷ͍ͭΕ ͕ͪɻ͕ࣗਪਐऀͳΒ૬खʹ͓Έ͛Λ࣋ͬͯߦ͜͏ • ݺͼਫύλʔϯ – νʔϜͷจԽϓϩηεΛม͑ΔͨΊʹɺ࣌ʹ֎෦͔Βϝϯ όʔ͕ೖΓࠐΜͰɺҙࣝతʹվֵ͍ͯ͘͠Α͏ͳϩʔϧ͕ඞཁʹͳ Δ ݟ͑ΔԽύλʔϯ ௌύλʔϯ ؒΛ૿͢ύλʔϯ าΈدΓύλʔϯ ݺͼਫύλʔϯ
ͪΐͬͱʮٕʯͷ &&͕ؾܰʹͰ͖Δٕज़తͳ ͦͷαʔϏε͕͍͔ʹϨΨγʔͩΖ͏ͱɺ ֎෦͔ΒͷϒϥοΫϘοΫεςετͳͷͰ ࠷৽ͷόʔδϣϯɺϥΠϒϥϦ͕͑Δɻ
ࢀߟਤॻ • ৫ύλʔϯ • ΞΠσΞΛ৫ʹΊΔͨΊͷͷύλʔϯ • &WFSZEBZ3BJMT34QFDʹΑΔ3BJMTςετೖ
5IBOLZPVGPSMJTUFOJOH ݱ ܦӦਞ でも、 ⼀一番美味しい