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
RSpecで書かれたテストの高速化 / TokyuRubyKaigi10
Search
Yuichi Goto
May 29, 2016
Technology
2
2.6k
RSpecで書かれたテストの高速化 / TokyuRubyKaigi10
TokyuRuby会議10(2016/05/29)
Yuichi Goto
May 29, 2016
Tweet
Share
More Decks by Yuichi Goto
See All by Yuichi Goto
[Teaser] Type-Safe Lightweight DDD with Effect Schema
yasaichi
3
500
Google Cloud を用いたソフトウェア開発の内製化組織の早期立ち上げの実現 / Rapid Establishment of In-House Software Development Teams Using Google Cloud
yasaichi
1
1.6k
[EN] Robust and Scalable API Gateway Built on Effect
yasaichi
3
420
Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
yasaichi
9
2.4k
あるRailsエンジニアがビジネスリーダーに転身するまで
yasaichi
9
3.2k
Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
yasaichi
50
23k
Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
yasaichi
38
22k
ピクスタのエンジニアリングとCircleCI / Software Engineering with CircleCI at PIXTA
yasaichi
1
480
Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
yasaichi
146
94k
Other Decks in Technology
See All in Technology
OpenClaw を Amazon Lightsail で動かす理由
uechishingo
0
230
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
4
1.8k
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
670
新規事業×QAの挑戦:不確実性を乗りこなす!フェーズごとに求められるQAの役割変革
hacomono
PRO
0
130
[2] Power BI Deep Dive [2026-03]
ohata_bi
0
100
欠陥分析(ODC分析)における生成AIの活用プロセスと実践事例 / 20260320 Suguru Ishii & Naoki Yamakoshi & Mayu Yoshizawa
shift_evolve
PRO
0
180
Zeal of the Convert: Taming Shai-Hulud with AI
ramimac
0
160
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
110
大規模ECサイトのあるバッチのパフォーマンスを改善するために僕たちのチームがしてきたこと
panda_program
1
260
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
130
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
120
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
2
230
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
What's in a price? How to price your products and services
michaelherold
247
13k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Utilizing Notion as your number one productivity tool
mfonobong
4
260
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
The World Runs on Bad Software
bkeepers
PRO
72
12k
A better future with KSS
kneath
240
18k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
140
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
210
Believing is Seeing
oripsolob
1
87
Transcript
RSpecͰॻ͔Εͨςετͷ ߴԽ TokyuRubyKaigiɹ2016/05/29 @yasaichi
ࣗݾհ [1] pry(main)> me => { twitter: "@_yasaichi", github: "yasaichi",
blog: "http://web-salad.hateblo.jp" }
ൃද༰ 1. എܠ 2. ݕ౼ࣄ߲ 3. ݁Ռ 4. ·ͱΊ
എܠ
എܠ • “ຊମ”ͷςετʹΊͬͪΌ͕͔͔࣌ؒΔ • ςετέʔε3ສʢهʣɺ1ͩͱ࣌ؒ • CIαʔϏεͰฒྻ࣮ߦͯ͠೫ࡔ46ͷ ΞϧόϜ1ຕௌ͚Δ͘Β͍ͭ
೫ࡔϑΝϯతʹخ͍͠ ͕ɺϏδωεϚϯతʹخ͘͠ͳ͍ͷͰɾɾɾ
αʔϏεͷػೳՃɾվળΛ ૉૣ͘ܧଓతʹߦ͏ͨΊʹɺ ςετͷߴԽ͕ඞཁ ʂʂʂ (ʆɾωɾ´)ŝžŕ
ݕ౼ࣄ߲
ީิ • ࣍ͷ3ͭͷgemͷར༻Λݕ౼ • parallel_tests • test-queue • RRRSpecʢΫοΫύου͞Μʙʙʣ
ॴײ1 • test-queue >= parallel_tests • Master-WorkerύλʔϯΛ࠾༻͍ͯ͠ΔͷͰ ֤ϓϩηεͰ࣮ߦ͕࣌ؒภΓʹ͍͘ • ͲͪΒϚγϯεϖοΫͷ੍Λड͚Δ
ॴײ2 • test-queue ≒ RRRSpec • தنʢ1ͷϚγϯͰेఔʣͳΒ test-queueͷํ͕͓खܰ • େنͳΒࢄ࣮ߦɾεέʔϧΞτʹ
ΑΔॊೈͳӡ༻͕ՄೳͳRRRSpec
ฐࣾͰ • ࠷ॳʹtest-queueΛಋೖͯ͠Έͨ • 16ίΞͷϚγϯͰ16ฒྻͱ͔ͬͯΈͨ ͚Ͳظ͢Δ࣮ߦ࣌ؒʹͳΒͳ͔ͬͨ • ͱ͍͏Θ͚ͰRRRSpecΛಋೖ
݁Ռ
͔͜͜ΒΫοΫύου͞Μͷ ճ͠ऀʹͳΓ·͢
ΊͬͪΌ͘ͳͬͨ • 15ఔ·Ͱॖ • ϦϦʔεαΠΫϧ͕େ෯ʹॖ • ίετ10%ఔݮͨ͠ • ΫοΫύουͳ͠Ͱੜ͖͍͚ͯͳ͍ମʹ
ͨͩ݁ߏେมͩͬͨ • ͋Μ·Γใ͕ͳ͍ • GitHubʹυΩϡϝϯτ͕͋Δʹ͋Δ͕ ίʔυΛݟͳ͍ͱΘ͔Βͳ͍͜ͱଟ͍ • DockerͰಈ͘αϯϓϧ͋Δ͕͔͜͜Β ࣮ӡ༻࣌ͷߏΛΠϝʔδ͠ʹ͍͘
None
ؤுͬͯམͱ͠ࠐΜͩ • https://github.com/yasaichi/rrrspec-tutorial • ฐࣾͰͷ࣮ӡ༻࣌ͷߏʹ͔ͳΓ͍ۙ • ίϛοτΛॱʹ͍ͬͯ͘͜ͱͰҙຯ͕ Θ͔Δͣɾɾɾʂ
·ͱΊ
·ͱΊ • ςετ͕͔ͬͨͷͰRRRSpecΛಋೖͨ͠ • CDΞϧόϜ1ຕ -> 15 & ίετݮ •
ͨͩɺͦΕͳΓʹେมͩͬͨͷͰΦϨΦϨ αϯϓϧ༻ҙͨ͠Α
One more thing…
None
͓ΘΓ