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
高い開発生産性を実現するために取り組んだMagicPodの利活用
Search
t-jimbo
July 14, 2023
Technology
0
2.9k
高い開発生産性を実現するために取り組んだMagicPodの利活用
MagicPodユーザーLT会
https://trident-qa.connpass.com/event/283709/
t-jimbo
July 14, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
110
Azure Well-Architected Framework入門
tomokusaba
1
140
AI時代の開発を加速する組織づくり - ブログでは書けなかったリアル
hiro8ma
2
340
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
3
1.1k
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
420
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
2
380
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
380
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
290
ViteとTypeScriptのProject Referencesで 大規模モノレポのUIカタログのリリースサイクルを高速化する
shuta13
3
220
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
1.1k
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
720
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
490
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Agile that works and the tools we love
rasmusluckow
331
21k
Making Projects Easy
brettharned
120
6.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
354
21k
BBQ
matthewcrist
89
9.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Being A Developer After 40
akosma
91
590k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Designing for Performance
lara
610
69k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Transcript
高い開発生産性を実現するために 取り組んだMagicPodの利活用 MagicPodユーザーLT会 2023.07.14 1
神保 拓眞(t-jimbo) 2 ▪ BuySell Technologies 所属 ▪ フロントエンドエンジニア ▪
店舗買取システム「Store」の開発 https://twitter.com/ce_mm スライドアップしてます!
プロダクトの紹介
買取 から 販売 まで、総合リユースビジネスを展開 4
リユースプラットフォーム「Cosmos」 ▪ リユースのあらゆる課題を、テクノロジーで解決する。 5
リユースプラットフォーム「Cosmos」 ▪ リユースのあらゆる課題を、テクノロジーで解決する。 6
リユースプラットフォーム「Cosmos」 ▪ リユースのあらゆる課題を、テクノロジーで解決する。 7
店舗買取システム「Store」 8 https://newswitch.jp/p/37111 ステップ形式で操作に迷わず買取業務を進める iPad用のWebアプリ
フィードバック 全国で運用中=障害は出せない 9 昨年9月にリリース 店舗買取を行うグループ会社へも展開 Storeの障害 = 買取機会損失 New!! 新機能リリース
バイセルグループ3社にまたがって利用 ▪ バイセル、TIMELESS、WAKABAで利用 ▪ 会社によって業務フローが異なるため、求められる機能が異なる • 機能の表示・非表示、用語の切り替えなど 10
安全かつ高速なデリバリーを実現する ▪ featureフラグを活用したトランクベース開発 • 小さく高頻度でリリース • 開発、テスト、デプロイのサイクルを高速に回していく • PR数が1日10件を超える日も! 11
自動テストが安全性を担保 ▪ CI/CDでテストを回しまくる • 単体テスト • 画像回帰テスト • インタラクションテスト •
E2Eテスト 12
自動テストが安全性を担保 ▪ CI/CDでテストを回しまくる • 単体テスト • 画像回帰テスト • インタラクションテスト •
E2Eテスト • MagicPod をフル活用 13
こんな風にMagicPodを使っています
コードベースのE2Eテストに課題 ▪ 壊れやすいE2Eテストをコードで書くのはつらい • メンテナンスコストが大きく、開発体験が悪化 • 属人化しがち ▪ 結果としてテストが書かれなくなってしまう... 15
MagicPodの嬉しいところ 16 ノーコードでテスト作成 AIによる自動修復機能 iOSのエミュレータ テストケースのバージョン管理など、日々 嬉しい機能がアップデートされています
MagicPodの嬉しいところ ▪ テストケースの作成がかんたん ▪ メンテナンスコストが低い ▪ 開発とQAのエンジニアを分離できる 17
StoreでのMagicPodの利用 とにかくたくさん実行して品質チェックする!! けどテスト待ちで開発スピードを落としたくはない 18
StoreでのMagicPodの利用 3種類の実行方法を使い分けています 19 定期実行で PR時点でも(New) デプロイ前に
定期実行でMagicPodを回す ▪ 3時間に1回の実行 • 実行数が無制限! ▪ ここであらゆるケースをカバー • 基本フロー •
中止や特殊なフロー 20
デプロイ前にMagicPodを回す ▪ 本番環境へのデプロイ前にstaging環境でE2Eテストを自動実行 • 変更による障害を防ぐ • 詳細は バイセル Tech Blog
を参照! 21
デプロイ前にMagicPodを回す ▪ (余談)ワークフローはさらに進化中... • buildの並列化 • CODEOWNERによる承認フローの追加 • リリースノートの自動作成 22
PR時点でもMagicPodを回す ▪ デプロイ直前にしかテストが実行できないのが課題だった • マージ前にCIでもテストを実行したい! 23 Merge テスト失敗 Revert
PR時点でもMagicPodを回す ▪ PRを作成すると自動でプレビュー環境を立てる 24 PR作成 Cloud Runへデプロイ PR番号でURL生成 https://pr-1234-an.a.run.app/
PR時点でもMagicPodを回す ▪ MagicPod API Client をGitHub Actionsで利用する ▪ 環境変数で渡すことで任意のURLに対応 25
MagicPod API Client 渡されたURLに遷移
実行方法 定期実行 デプロイ前(CD) PR時点(CI) テスト内容 全フロー 基本フローのみ 実行時間 長(合計30~40分) 短(約5分)
役割 完全な品質の担保 デプロイ時の障害防止 変更時の自動テスト ▪ 定期実行で全フローのテストを行い恒常的な品質を担保 ▪ CI/CDでは開発スピード重視で軽量な基本フローのみを実行 StoreでのMagicPodの利用まとめ 26
開発生産性の向上にかなり寄与しています
MagicPodを回しまくることで... ▪ 安心・安全が得られる! • 障害の未然防止 ▪ 人間の確認作業を最小限に抑えられる!! ▪ エンジニアがテスト作成や機能開発に集中できる!!! 28
使い倒しましょう!!!!
B U Y S E L L T E C
H N O L O G I E S B U Y S E L L T E C H N O L O G I E S リユース業界 No.1テックカンパニーへ