Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
高い開発生産性を実現するために取り組んだMagicPodの利活用
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
t-jimbo
July 14, 2023
Technology
3.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
高い開発生産性を実現するために取り組んだMagicPodの利活用
MagicPodユーザーLT会
https://trident-qa.connpass.com/event/283709/
t-jimbo
July 14, 2023
More Decks by t-jimbo
See All by t-jimbo
React / TypeScriptでのカラーピッカーの実装戦略
jimbo
0
260
Other Decks in Technology
See All in Technology
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
670
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
900
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
170
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
150
AI時代のPRレビューにどう向き合うか?
kairim0
1
240
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
170
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
300
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
350
Running Kotlin + Quarkus with Lambda
nealle
1
4k
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
460
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
RailsConf 2023
tenderlove
30
1.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Fireside Chat
paigeccino
43
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
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テックカンパニーへ