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
いかにしてテスト文化を醸成させたか.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
takayuki-hayashi
November 11, 2019
Technology
1.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
いかにしてテスト文化を醸成させたか.pdf
SPEEDA Testing Dayでの発表資料です。
takayuki-hayashi
November 11, 2019
More Decks by takayuki-hayashi
See All by takayuki-hayashi
E2Eの過去・現在・未来 そしてE2Eにおいて重要なこと
takayukihayashi
1
510
リーダー、マネージャーが存在しない開発組織のつくり方
takayukihayashi
1
29k
AngularDartでDart入門
takayukihayashi
1
1k
E2Eテスト駆動開発実践記_-_Web用.pdf
takayukihayashi
2
3.5k
KubernetesとGaugeを活用したTDD開発事例
takayukihayashi
0
1k
FlutterとAngularDartを DIとClean Architectureで いい感じにする
takayukihayashi
3
2.3k
Gaugeによるe2eテスト
takayukihayashi
5
28k
Dartエコシステムの紹介
takayukihayashi
2
690
Other Decks in Technology
See All in Technology
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
440
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
210
ブラウザ研修 2026
recruitengineers
PRO
3
500
Retriever と Reranker、結局どうする?
kazuaki
2
670
Amazon Bedrock Managed Knowledge BaseDive Deep
ren8k
0
400
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
130
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
550
取引先から届く 「セキュリティチェックシート」の読み解き方
kamadamakoto
0
110
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
250
Digitization部 紹介資料
sansan33
PRO
2
7.7k
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
120
Featured
See All Featured
We Are The Robots
honzajavorek
0
290
Become a Pro
speakerdeck
PRO
31
6.1k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Documentation Writing (for coders)
carmenintech
77
5.4k
WENDY [Excerpt]
tessaabrams
11
39k
A designer walks into a library…
pauljervisheath
211
24k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
510
Transcript
いかにしてテスト文化を醸成させたか 〜SPEEDA事業におけるテストの話〜
自己紹介 • 林 尚之(はやし たかゆき) @t_hyssh • 株式会社ユーザベース ◦ SPEEDA事業
CTO • Agile(XP)、ペアプロ、TDD、DDD • 最近使ってる言語はDart、Kotlin、OCaml等
現在に至るまでの流れ
黎明期 2013年〜
黎明期 〜当時の状況〜 ビジネスをより加速させる上で開発生産 性を上げたいと思っている開発責任者 手動テストに疲弊して現状をなんとかしたいと 思っているQAメンバー 出典:いらすとや
黎明期 〜当時の状況〜 林さん、なにか 案ありません か? アジャイルやりましょ う!(ニヤリ) 出典:いらすとや 注)一応この時点でアジャイル開発 の経験は5年ほどありました。
黎明期 〜結果〜 • E2Eはアジャイル(XP)という文脈で始めた • 意欲のあるメンバーを集めて小さなチームで実施 ◦ 新機能の部分のみE2Eを書き始める • 結果は好評
◦ ただし、好評だったがゆえに次の停滞期を迎えることに・・・・
停滞期 2015年〜
停滞期 〜当時の状況〜 そうだ!E2Eとして自動化さ れてない部分(過去に作った 機能)は全部オフショアに出し ましょう! う〜ん、大丈夫だろうか・・・・ 出典:いらすとや
停滞期 〜結果〜 • 納品されたのはまともに動かないテストコード ◦ 動かすためにかなりのコストを掛ける事に・・・ ◦ この時の不安定なテストには今でも悩まされる事に • そもそもオフショアで正しく成果を出すための準備がこちら側に出来ていなかった
◦ 単に単価が低いからという理由で出してしまったオフショアのアンチパターン
成長期 2017年〜現在
成長期 Gaugeと出会う(ドキュメントとしての表現力がとても良い)
成長期 〜現在〜 • マイクロフロントエンドで新規開発する部分は全てGaugeでE2Eを記述 ◦ ドキュメントとしての表現能力の大幅向上 ◦ モノリシックの部分(オフショアに出した部分も含め)は最低限の保守のみ • Docker、k8sを活用し、再現性を高める
• デプロイメントパイプラインの整備 • 並列実行によるテスト時間の短縮 • コンシューマー駆動契約テストの取り組み(やりたい)
重視している事(3つ)
1. 成果(信頼)
2. 実感
3. 実践
成果(信頼) • 必ず成果を出す ◦ 成果とは「ある事をして得られた良い結果」 ◦ 特にビジネスサイドの人からもわかりやすい成果を出す ▪ 例:バグが少ない、手動テスト時間やリリースサイクルの短縮等 ◦
成果を出すためにも 小さく、細かく始める ▪ 可能であればスパイクを打つ • 成果を出すことによって信頼を得る ◦ 信頼を得られればより広い範囲で E2Eを適用出来るはず ◦ SeleniumとかGaugeがどうこうとかより重要な事 ▪ 自分(達)が今持っているスキルを最大限活かす ▪ 最初のタイミングでチャレンジしすぎると失敗する可能性が高まる
実感 • E2Eに直接関わる人に良さを実感してもらう ◦ ソフトウェアエンジニア、テストエンジニア等 ◦ E2Eを書く人自身が「書いた方が良い」と思える状態にしなければ上手く行かない • Greenを保つ ◦
難易度は高いがこれが実現出来なければ E2Eが形骸化してしまう • 頻繁に実行する ◦ デグレの早期発見 • リファクタリングをする ◦ ここでのリファクタリングはテストのソースコードではなく、テスト対象のソースコード ▪ 「Green維持すればいくらでもリファクタリング出来るね!」というのを実感してもらう
実践 • 何よりも自分自身が第一の実践者となる
まとめ
同じ志や課題感を持つ人を集め、少しずつ確実に成 果を出して実感、信頼を得られるように進める 「それができれば苦労はしないよ!」という声が聞こえてき そうです・・・・。でも、やっぱり「銀の弾丸」も無いのも事 実。。。
ご清聴ありがとうございました。