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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
t-jimbo
July 14, 2023
Technology
0
3k
高い開発生産性を実現するために取り組んだMagicPodの利活用
MagicPodユーザーLT会
https://trident-qa.connpass.com/event/283709/
t-jimbo
July 14, 2023
Tweet
Share
More Decks by t-jimbo
See All by t-jimbo
React / TypeScriptでのカラーピッカーの実装戦略
jimbo
0
77
Other Decks in Technology
See All in Technology
マルチプレーンGPUネットワークを実現するシャッフルアーキテクチャの整理と考察
markunet
2
200
ビズリーチにおける検索・推薦の取り組み / DEIM2026
visional_engineering_and_design
1
120
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
270
DX Improvement at Scale
ntk1000
3
430
非情報系研究者へ送る Transformer入門
rishiyama
5
5.4k
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
450
マルチアカウント環境でSecurity Hubの運用!導入の苦労とポイント / JAWS DAYS 2026
genda
0
190
楽しく学ぼう!ネットワーク入門
shotashiratori
0
340
クラウド時代における一時権限取得
krrrr38
1
180
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
140
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
210
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
850
Featured
See All Featured
A Soul's Torment
seathinner
5
2.4k
How to build a perfect <img>
jonoalderson
1
5.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.4k
The Invisible Side of Design
smashingmag
302
51k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
Embracing the Ebb and Flow
colly
88
5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
84
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テックカンパニーへ