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
Web development without QA tester
Search
Koichi ITO
May 12, 2018
Technology
2
880
Web development without QA tester
とちぎテストの会議05
https://toruby.doorkeeper.jp/events/70679
Koichi ITO
May 12, 2018
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Organizational Pattern Hatching
koic
0
1.4k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
1.8k
A Story Featuring Right Hand Archetype
koic
0
1k
Without Practice, No Emergence
koic
4
2.2k
The Resurrection of the Fast Parallel Test Runner
koic
1
5.5k
Software Craftsmanship against Nova Era
koic
0
1.5k
RuboCop Philosophy
koic
2
1.8k
%q is for Quine
koic
0
1.4k
Engineering Manager in Action
koic
4
2.1k
Other Decks in Technology
See All in Technology
cgroup v2 で何が変わったのか / TechFeed Experts Night #28
tenforward
2
120
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
360
Cloud Service Mesh に触れ合う
phaya72
1
310
生成AIと産業向けソフトウェアの自動生成 〜 ハノーバーメッセ2024より〜
kioto
2
250
TDD - Test Driven Drupal
opdavies
0
3k
同じ様なUIをiOS/Android間で合わせるヒントNo.2
fumiyasac0921
1
110
Handling focus in 2024
tahia910
0
610
Grafana x PagerDuty Better Together
jacopen
1
340
データ基盤を支える技術
chanyou0311
1
130
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
540
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
7
4.9k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
3.6k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Statistics for Hackers
jakevdp
790
220k
Web development in the modern age
philhawksworth
203
10k
Happy Clients
brianwarren
92
6.4k
Debugging Ruby Performance
tmm1
70
11k
Documentation Writing (for coders)
carmenintech
60
4k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Ruby is Unlike a Banana
tanoku
96
10k
The Invisible Customer
myddelton
114
12k
Bash Introduction
62gerente
605
210k
Product Roadmaps are Hard
iamctodd
45
9.8k
Why Our Code Smells
bkeepers
PRO
331
56k
Transcript
8FCEFWFMPQNFOUXJUIPVU2"UFTUFS 4BU 2"ςελʔͷ͍ͳ͍ 8FCαʔϏε։ൃʹ͓͚Δ ςετͱ։ൃϞσϧ ҏ౻ߒҰ !LPJD FTN ͱͪ͗ςετͷձٞ
ಹਢ͕ݪϋʔϞχʔϗʔϧ
None
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
wίϛϡχςΟͰͷ։ൃϓϨΠϠʔ w8SJUF -JHIU $PEF&WFSZ%BZ w3VCZ3BJMTΞοϓάϨʔυͷ044 ϦϙδτϦͷద༻ wίʔυϨϏϡʔ͔Βͷ੩తղੳπʔϧ ͷࣗಈԽ 044ϓϩάϥϚʔͱͯ͠ͷࢲ
None
3VCZ,BJHJ%BZ
3VCZ,BJHJ%BZ N@TFLJ
3VCZ,BJHJ%BZ *U`TNF
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
w044ϓϩάϥϚʔͷࢲ w3VCZ3BJMTϦʔςΟ ϯάϕϯμʔࣾһͷࢲ αϥϦʔϚϯ ࢲ
None
wνʔϜͰͷαʔϏε։ൃͷಜ w৽ଔҭ ࠓ͓ٳΈ w3VCZ3BJMTΞοϓάϨʔυͷϓϩ δΣΫτΦϐχΦϯ wଧͪ߹ΘͤͰϚδοΫϋϯυΛૂ͏ ϚΠϒʔϜ%))ͬ͜͝ αϥϦʔϚϯͱͯ͠ͷࢲ
ࠓͷ
ςετͱ։ൃ ମ੍ͷ͍·ͷ ࣗͷଊ͑ํ
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟςετ
wઐͷςελʔ͕εϙοτͰ͍Δ͕࣌͋ ΔΑ͏ͳʁ w৽ن্ཱͪ͛ϓϩδΣΫτͷऴ൫͘Β͍ ʹ͍Δ͔ l2"zςελʔͳͷ͔ෆ ໌ wͦΕͰ໓ଟʹ͍ͳ͍ wઆ্ͷଘࡏʁ 2"ςελʔͷ͍ͳ͍ϓϩδΣΫτ
w2"ͱҟͳΔઐςελʔ wηΩϡϦςΟςεςΟϯά wαʔϏεʹΑͬͯ͋ͬͨΓͳ ͔ͬͨΓ wઐۀऀͷҕୗ ֎෦ൃͷ༗ແ
w࣮ΛΒͳ͍ཁٻऀˠ اըɺཁٻ࡞Γɺड͚ೖΕ ςετ w࣮ΛΔ։ൃऀˠ࣮ɺ ୯ମςετɺػೳςετ ৗࡏ͢Δେϩʔϧ
w࣮ΤϥʔͱཁٻΤϥʔͷ ୲อΛͲ͏͢Δ͔ʁ ओ
ཁٻऀडೖςελʔ ཁٻऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ डೖ ςετ
ϒϥοΫϘοΫε ςελʔ ։ൃऀ
ཁٻऀडೖςελʔ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ ݪଇಉҰਓ͕ݟ͍ͯ͘
wཁٻऀ͕Ұ൪ɺϒϥοΫϘοΫεͱ ͯ͠ͷγεςϜͷظ͢ΔৼΔ ͍Λ͍ͬͯΔ wཁٻऀ͕ड͚ೖΕςελʔΛ݉ͶΔ wͪΖΜٳՋͳͲͰςετͷΈҾ͖ ܧ͙͜ͱ͋ΔɻਓͳͷͰ@П ŋ@ŋ ཁٻऀडೖςελʔ
ϗϫΠτϘοΫε ςελʔ όσΟ ૬ ཁٻऀ ։ൃऀ ϒϥοΫϘοΫε ςελʔ
wཁٻऀͱ։ൃऀͷϖΞجຊతʹϦϦʔε ·Ͱݻఆ͞ΕΔ wόσΟಉ͕࢜࠷γεςϜ֦ுʹର͢Δ؍ Λਂ͕࣋ͭ͋͘Δ wίϛϡχέʔγϣϯίετͷݮগ w*54ఆྫͳͲͰଞϝϯόʔ͔Βποί ϛͷͰ͖Δ༨Λ࡞Δ✍ όσΟ ૬
όσΟͰड͚ೖΕςετΛਐΊΔ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU "DDFQU PS
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ 3FKFDU 3FKFDU
डೖ·ͰϑΟʔυόοΫΛ܁Γฦ͢ ཁٻऀ ։ൃऀ اը ࣮ ཁٻ࡞Γ ୯ମςετ ػೳςετ
डೖ ςετ "DDFQU 3FKFDU 3FKFDU
None
wཁٻऀͱ։ൃऀ ૬ ͷϚοϐϯά w։ൃऀෳͷϑΟʔνϟʔΛ୲ ͢Δ͜ͱ͕͋Δ جຊ֤ݸܸഁ wཁٻऀෳͷϑΟʔνϟʔΛ୲ ͢Δ͜ͱ͕͋Δ ॱ࣍ड͚ೖΕ
wόσΟ ૬ ͷΈ߹Θͤ ϚϧνϥΠϯ։ൃ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ͓͔ΘΓ 1VMMܕ
ϚϧνϥΠϯ։ൃ ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ O ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ
ϚϧνϥΠϯ։ൃ O ཁٻऀ ཁٻऀ ։ൃऀ ։ൃऀ
։ൃऀ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ ϑΟʔνϟʔ 'FBUVSF PQJOJPO
wେֻ͔Γ wʙΠςϨʔγϣϯͱ͍͏ൣғͰܭ ը͞ΕΔͷͰͳ͍ ϲ݄Ϩϕϧ wཁٻऀɺ։ൃऀͰ૯ग़ͷςετͩͬͨ Γɺͦ͏Ͱͳ͔ͬͨΓେֻ͔Γ w ຊτʔΫͰׂѪ ϚϧνϥΠϯ։ൃ
ON
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
ख़࿅ͱΧϯ
w3BJMTίϛϡχςΟϞσϧ wಹਢͷνʔϜͷΑ͏ʹҎ্ ଓ͍͍ͯΔ w2"ςελʔͱ͍͏ϩʔϧ͕͍ͳ͍ ʹ͍ͭͯಉ͡ w044ࢀরϞσϧ /PU04* ཪଆʹ͋ΔػೳͷϑΥϩʔ
IUUQSVCZPOSBJMTPSH
IUUQSVCZPOSBJMTPSHDPNNVOJUZ
IUUQSVCZPOSBJMTPSHDPNNVOJUZ
None
*U`TNF
wઈରਆ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 3BJMTίϛϡχςΟϞσϧ
wઈରਆ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wίΞϝϯόʔɺίϛολʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wίϯτϦϏϡʔλ ೃછ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ wίϯτϦϏϡʔλ ॳճ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ ͜͜ʹ ӽ͑ΒΕͳ͍น
w͓ۚ ༧ࢉ wख़࿅ͷߴ͍ϝϯόʔ wεϙοτͷϔϧϓϝϯόʔ w৽ଔࢯ ζ 8FCαʔϏε։ൃϞσϧ τϐοΫͷൣғ
wཧͷςετϨϏϡʔ ͕ͩख़࿅Ϩϕϧ·ͪ ·ͪ wख़࿅ͷߴ͍ϝϯόʔ͕εϙο τͷϔϧϓϝϯόʔ৽ଔࢯ ζ ΛϨϏϡʔ͍ͯ͘͠ ख़࿅͕ߴ͍ཪଆͷΧϯ͕ڧ͍
wཁٻͷग़͠ํɺཁٻʹର͢ Δ࡞Γํ wςετͷʮΧϯʯ͕ಇ͘ϝ ϯόʔࣄલόά௵͠ό άग़্͕͠ख͍ ਓͩΜͩΜ্ख͘ͳΔ
91& OE $IBQSE IUUQXXXBNB[PODPKQEQ
l ી༵େΛ͠ ͍ͯͯઐՈͰͳ͔ͬ ͕ͨɺॅΈ͍͢Ոͷ ࡞ΓํΛ͍ͬͯͨɻ ʵࢲͷ৺ͷϊʔτΑΓ
ຊτϐοΫͷख़࿅ϝϯόʔ 2"ςελʔͰͳ͍ ͕ɺγεςϜͱͯ͠Ͳ͏ͳ Δͱྑͯ͘ɺͲ͏ͳΔͱμ ϝ͔͍ͬͯΔ ख़࿅ϝϯόʔͷຏ͔ΕͨlΧϯzͷӶ͞
wख़࿅ͷߴ͍ϝϯόʔͷʮΧϯʯͷӶ͞ w৽ػೳΛ࡞Δͱ͖ͷཪଆͷػೳӨڹʮΧ ϯʯͷಇ͘ϝϯόʔʹґଘ͢Δ wاۀϧʔϧ͔Βͷߟྀɺ࣮໘͔Βͷ ߟྀ wաڈͷܦҢͰʮԿނͦͷػೳ͕ࠓͳ͍ͷ ͔ʯͷੜ͖ূਓ ੵΈॏͶͷͷಇ͖ ख़࿅ϝϯόʔͷຏ͔ΕͨlΧϯzͷӶ͞
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
όσΟ ૬ ςετ ख़࿅ͱΧϯ "HFOEB
͓ΘΓʹ
wखॱҾ͖ܧ͛Δ͕ɺεΩϧ Ҿ͖ܧ͛ͳ͍ CZLBXBHVUJ wཁٻऀɺ։ൃऀͷख़࿅্͕͕ ΔͱνʔϜͷख़࿅্͕͕Δ wख़࿅ͷ্ৗʹ՝ ૯ྔͰͷΧόʔ
w͓ۚ ͕ΜΓ·͠ΐ͏ wؔऀͷϓϩδΣΫτͷΔؾ wϢʔβʔ͕҆৺ͯ͑͠Δγες ϜΛఏڙ͢ΔͨΊͷςετ w5IF3BJMT%PDUSJOF ख़࿅ϓϩδΣΫτͷಓ
w͓ۚ ͕ΜΓ·͠ΐ͏ wϢʔβʔ͕҆৺ͯ͑͠Δγες ϜΛఏڙ͢ΔͨΊͷςετ wؔऀͷϓϩδΣΫτͷΔؾ w5IF3BJMT%PDUSJOF ख़࿅ϓϩδΣΫτͷಓ
IUUQSVCZPOSBJMTPSHEPDUSJOF
wϓϩηεਓ CZN@TFLJ wਓʹΑΔςετͷ؍ͷॏෳͱ૬ҧ wखॱࣗಈԽͰ͖ͯεΩϧࣗಈ ԽͰ͖ͳ͍ wγεςϜͷlΧϯzlεΩϧzͱ ಉ͡ͰϨϕϧΞοϓͰ͖Δ ςϯτΛԡ্͛͠Δ४උΛ͢Δ
FOE