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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
森重 丈
March 03, 2025
Business
960
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
セーフィーにおけるMagicpod活用の歴史と改善の取り組み
森重 丈
March 03, 2025
Other Decks in Business
See All in Business
株式会社Domuz会社紹介資料(採用)
kimpachi_d
0
58k
家族アルバム みてね 事業紹介 / Our Business
familyalbum
7
59k
エンジニアがAIで副業をする場合の入り口と仕事について調べてみた
ochtum
1
210
株式会社リバイブル 会社説明資料
rebible
0
810
エンジニアのためのコミュニケーション術
zashii
1
440
政策共創事例集2025
polipoli
0
410
AIをマイクロマネジメントしない ~プロダクトと組織を、同じ原則で動かす~
shokikitajima8823
0
300
【簡易版】パーソルクロステクノロジー_システムインテグレーション領域のご紹介 / Introduction_of_persol-xtech_gs_es_dx_short
pxt_gs_ssol
0
160k
採用ピッチ資料_耳川広域森林組合
mimirin
0
280
Anker Japan Corporate Deck 2026
anker_jp
0
11k
SimpleForm 会社紹介資料
simpleform
2
54k
jpax-introduction
jpax
0
1k
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
A Soul's Torment
seathinner
6
2.9k
The Limits of Empathy - UXLibs8
cassininazir
1
350
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
190
Unsuck your backbone
ammeep
672
58k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Marketing to machines
jonoalderson
1
5.4k
Transcript
1 © Safie Inc.| セーフィーにおけるMagicpod活⽤の 歴史と改善の取り組み 森重 丈
2 © Safie Inc.| アジェンダ • ⾃⼰紹介 • 会社紹介 •
はじめに • MagicPod導⼊経緯/現在の活⽤⽅法 • セーフィーにおけるMagicPod活⽤と改善の歴史
3 © Safie Inc.| ⾃⼰紹介 • 森重 丈 • 経歴 ・オフィス機器メーカー
/テストエンジニア ・セーフィー/QAエンジニア ・MagicPodは1年半くらい • 趣味 ◦ バイク ◦ 釣り ◦ お酒
4 © Safie Inc.| 会社紹介
None
会社概要 設⽴年⽉ 従業員数 (2025年1⽉)*1 年間売上⾼ (FY2025予想) 課⾦カメラ台数 (2024年12⽉末)*3 At a
Glance 製品‧サービスの概要 *1 各⽉初の⼈数 *2 ARR Annual Recurring Revenue。各四半期末時点のMRR(Monthly Recurring Revenue)を12倍して算出。 MRRは対象⽉末時点における継続課⾦となる契約に基づく当⽉分の料⾦の合計額(販売代理店経由の売上を含む) *3 各四半期に販売したカメラ台数ではなく、各四半期末時点で稼働‧課⾦しているカメラ台数 2014年10⽉ 480⼈ 18,400百万円 29.3万台 クラウドドリブンなカメラOS 強固なセキュリティ 誰もが使える高品質なUI・UX 拡張性の高いプラットフォーム
7 © Safie Inc.| はじめに 登壇背景 • ユーザーインタビューの内容が他のMagicPodユーザーの参考になりそうとの ことで登壇依頼を受けた ユーザーインタビューで話題になった
• 導⼊経緯/現在の活⽤⽅法 • セーフィーのMagicPod史/改善活動 について詳細をお話したいとおもいます。
8 © Safie Inc.| MagicPodの導⼊経緯/現在の活⽤状況 導⼊経緯 • 増え続けるリグレッションテストを楽にしたい • 開発後半での不具合検出を避けたい
• MagicPodを選んだ理由 ◦ 低コスト ◦ 実⾏回数制限無し ◦ 社内QAエンジニアのスキルセット 活⽤状況 • 毎⽇リグレッションテストの⼀部(7~80ケース)実⾏ • リグレッションテストに掛かる⼯数を30%削減 • QAメンバー全員で実装/メンテナンスは分担
9 © Safie Inc.| セーフィーにおけるMagicPod活⽤と改善の歴史
10 © Safie Inc.| セーフィーにおけるMagicPod活⽤と改善の歴史 導⼊ 拡⼤ 安定
11 © Safie Inc.| 活⽤状況/困り事 MagicPod活⽤状況 • テストケース:10ケース程度 • 実⾏頻度:⽉1で開発後半に実⾏
• メンテナンス:実装者 導⼊初期の困り事 • ⽉1実⾏で多くテストケースが失敗 • メンテナンス作業が⼤変で⾃動テストが増やせない 導⼊初期 拡⼤期 安定期
12 © Safie Inc.| 困り事(詳細) • ⽉1実⾏で多くテストケースが失敗 ◦ ⽉1実⾏では画⾯の変更に追従できない ◦
不安定なロケータを使っていた • メンテナンスが⼤変で⾃動テストが増やせない ◦ 可読性の悪さ ▪ ロケータ名に領域(n)が多⽤ ▪ コメントや空⾏が適切に⼊れられてない ▪ 200⾏以上のステップ ◦ 保守性の低さ ▪ テスト対象のUIが1部分の変更されると複数の⾃動テストに影響してしまう 導⼊初期 拡⼤期 安定期
13 © Safie Inc.| 改善施策の検討 • ⽉1実⾏で多くテストケースが失敗 ◦ ⽉1実⾏では画⾯の変更に追従できない → ①⽉1実⾏から毎⽇実⾏へ ◦
不安定なロケータを使っていた → ②ロケータに対する理解不⾜。勉強会の実施。 • メンテナンスが⼤変で⾃動テストが増やせない ◦ 可読性の悪さ ▪ ロケータ名に領域(n)が多⽤ → ③実装ルールの制定 ▪ コメントや空⾏が適切に⼊れられてない → ③実装ルールの制定 ▪ 200⾏以上のステップ → ③実装ルールの制定 ◦ 保守性の低さ ▪ テスト対象のUIが⼀部分変更されると複数の⾃動テストに影響してしまう → ②共有 ステップする理解不⾜。勉強会の実施。 導⼊初期 拡⼤期 安定期
14 © Safie Inc.| 改善施策②勉強会の実施 • 対象者 ◦ MagicPodでテストケースを作成したことがあるメンバー ◦
MagicPodでテストケース作成したことないけど、メンテンスだけできるメンバー ◦ MagicPod触ったことないメンバー • ⽬標 ◦ 可読性/保守性を考慮したテストケースが作成できるようになること • 内容 ◦ MagicPodの基本的な操作の理解 ◦ ロケータの理解 ◦ 変数/条件分岐/共有ステップの活⽤⽅法の理解 • 形式 / 頻度 ◦ 資料精読(基本的にはMagicPodのスタートガイド) ◦ ハンズオン(週1で1時間) 導⼊初期 拡⼤期 安定期
15 © Safie Inc.| 改善施策②勉強会の実施 こちらは実際に勉強会を実施したときのNotion。 導⼊初期 拡⼤期 安定期
16 © Safie Inc.| 改善施策②勉強会の実施 ハンズオンの流れ ①お題の説明 ②実装(1回⽬) 普段通りに実装 ③各⾃実装、気づき‧感想の共有(1回⽬)
④実装(2回⽬) 共有ステップや条件分岐、変数について 説明したうえで再度実装 ⑤各⾃実装、気付き‧感想の共有(2回⽬) 導⼊初期 拡⼤期 安定期
17 © Safie Inc.| 改善施策③実装ルールの制定 • テストケースの先頭 ◦ コメント ▪
テスト名 ▪ テストケースのURL • テストケース中 ◦ ロケータ名 ▪ 領域(0)、ボタン(n)などNG ▪ 適切なロケータ名をつけること ◦ 確認ステップのあとには空⾏ • テストケース数 ◦ 100ステップを⽬安にする ◦ 200ステップ以上は分割する 導⼊初期 拡⼤期 安定期
18 © Safie Inc.| 改善施策③実装ルールの制定 • テストケースの先頭 ◦ コメント ▪
テスト名 ▪ テストケースのURL • テストケース中 ◦ ロケータ名 ▪ 領域(0)、ボタン(n)などNG ▪ 適切なロケータ名をつけること ◦ 確認ステップのあとには空⾏ • テストケース数 ◦ 100ステップを⽬安にする ◦ 200ステップ以上は分割する 導⼊初期 拡⼤期 安定期
19 © Safie Inc.| 改善施策③実装ルールの制定 • テストケースの先頭 ◦ コメント ▪
テスト名 ▪ テストケースのURL • テストケース中 ◦ ロケータ名 ▪ 領域(0)、ボタン(n)などNG ▪ 適切なロケータ名をつけること ◦ 確認ステップのあとには空⾏ • テストケース数 ◦ 100ステップを⽬安にする ◦ 200ステップ以上は分割する 導⼊初期 拡⼤期 安定期
20 © Safie Inc.| 改善効果 • ⽉1実⾏で多くテストケースが失敗 ◦ ⽉1実⾏では画⾯の変更に追従できない → ①⽉1実⾏から毎⽇実⾏へ:◎ ◦
不安定なロケータを使っていた → ②ロケータに対する理解不⾜。勉強会の実施。:△ • メンテナンスが⼤変で⾃動テストが増やせない ◦ 可読性の悪さ ▪ ロケータ名に領域(n)が多⽤ → ③実装ルールの制定:◎ ▪ コメントや空⾏が適切に⼊れられてない → ③実装ルールの制定:◎ ▪ 200⾏以上のステップ → ③実装ルールの制定:◎ ◦ 保守性の低さ ▪ テスト対象のUIが1部分の変更されると複数の⾃動テストに影響してしまう → 共有ス テップする理解不⾜。勉強会の実施。:△ 勉強会だけではスキルが定着せず。追加施策としてペアプロを追加導⼊。 導⼊初期 拡⼤期 安定期
21 © Safie Inc.| 改善施策③ペアプロ • MagicPod ペアプロで検索して出てきた記事を参考に実施 • ペア
◦ 社員メンバー+業務委託メンバーでペア ◦ 基本的には社員がナビゲーター、業務委託メンバーがドライバー • 利⽤したツール ◦ GoogleMeet • 頻度 ◦ 1⽇1時間 • 期間 ◦ 3ヶ⽉~4ヶ⽉程度ペアプロ実施 ◦ その後は各⾃実装しつつ、わからないことがあればペアに相談する形 導⼊初期 拡⼤期 安定期
22 © Safie Inc.| 改善効果 • ⽉1実⾏で多くテストケースが失敗 ◦ ⽉1実⾏では画⾯の変更に追従できない → ①⽉1実⾏から毎⽇実⾏へ:◎ ◦
不安定なロケータを使っていた → ②ロケータに対する理解不⾜。勉強会の実施+ペアプ ロ。:◎ • メンテナンスが⼤変で⾃動テストが増やせない ◦ 可読性の悪さ ▪ ロケータ名に領域(n)が多⽤ → ③実装ルールの制定:◎ ▪ コメントや空⾏が適切に⼊れられてない → ③実装ルールの制定:◎ ▪ 200⾏以上のステップ → ③実装ルールの制定:◎ ◦ 保守性の低さ ▪ テスト対象のUIが1部分の変更されると複数の⾃動テストに影響してしまう → 共有ス テップする理解不⾜。勉強会の実施+ペアプロ:◎ 勉強会+ペアプロでメンテナンス性の⾼いテストケースが作れるように。 導⼊初期 拡⼤期 安定期
23 © Safie Inc.| セーフィーにおけるMagicPod活⽤と改善の歴史 拡⼤
24 © Safie Inc.| 活⽤状況/困り事 MagicPod活⽤状況 • テストケース:20~60ケース程度、どんどんテストケースを作成していた • 実⾏頻度:毎⽇実⾏
• メンテナンス:曜⽇で持ち回りで毎⽇⼀⼈が担当 困り事 • あるテストケースがコケると他のテストケースもコケる • ⾃動テストの実⾏時間が増えた • ⼀⼈でメンテするのやや⾟くなってきた 導⼊初期 拡⼤期 安定期
25 © Safie Inc.| 困り事(詳細) • あるテストケースがコケると他のテストケースもコケる ◦ 複数テストケースで同じテストデータを使っていた ◦
どのテストケースが悪かったのか調査に時間が掛かる • ⾃動テストの実⾏時間が増えた ◦ ⼀括実⾏時に単⼀環境で実⾏ ◦ 実⾏上限時間 • ⼀⼈でメンテするのが⾟くなってきた ◦ 可読性/保守性⾼い⾃動テストでも数あると⼀⼈では⼤変 導⼊初期 拡⼤期 安定期
26 © Safie Inc.| 改善施策の検討 • あるテストケースがコケると他のテストケースもコケる ◦ 複数テストケースで同じテストデータを使っていた → ①テストデータの分離 ◦
どのテストケースが悪かったのか調査に時間が掛かる → ①テストデータの分離 • ⾃動テストの実⾏時間が増えた ◦ ⼀括実⾏時に単⼀環境で実⾏ → ②⼀括実⾏の⾒直し ◦ 実⾏上限時間 → ②⼀括実⾏の⾒直し • ⼀⼈でメンテするのが⾟くなってきた ◦ 可読性/保守性⾼い⾃動テストでも数あると⼀⼈では⼤変 → ③メンテナンス運⽤の変更 導⼊初期 拡⼤期 安定期
27 © Safie Inc.| 改善施策①テストデータの分離 テストデータを分離するためにルールを制定 • テストケース毎にテストデータは作成する • テストデータはテストケース番号を使って⼀意なものにする
◦ ユーザーアカウント ▪ OS+テストケース番号+作成順@~ ◦ カメラ名 ▪ OS+テストケース番号+作成順 導⼊初期 拡⼤期 安定期
28 © Safie Inc.| 改善施策②⼀括実⾏の⾒直し ⼀括実⾏設定のタグで実⾏する機能で並列実⾏しを実⾏時間を削減! • テストケースのタグ⾒直し ◦ ⼤きく機能単位でテストケースにタグ付けする
• ⼀括実⾏設定の⾒直し ◦ 並列実⾏できる⽤にタグ毎の 実⾏環境を⽤意する ◦ 並列実⾏設定のチェックボックスをONへ 導⼊初期 拡⼤期 安定期
29 © Safie Inc.| 改善施策③メンテナンス運⽤の⾒直し ⼀⼈ではなく、みんなでメンテナンスする体制の準備 • 分担準備 ◦ 改善施策②の⼀括実⾏の⾒直しですでに完了
• 担当 ◦ 分担表を作成、リリース毎に担当を⼊れ替える ◦ タグ毎に実⾏しているので担当分もわかりやすい 導⼊初期 拡⼤期 安定期
30 © Safie Inc.| 改善施策の効果 • あるテストケースがコケると他のテストケースもコケる ◦ 複数テストケースで同じテストデータを使っていた → ①テストデータの分離:◎ ◦
どのテストケースが悪かったのか調査に時間が掛かる → ①テストデータの分離:◎ • ⾃動テストの実⾏時間が増えた ◦ ⼀括実⾏時に単⼀環境で実⾏ → ②⼀括実⾏の⾒直し:◎ ◦ 実⾏上限時間 → ②⼀括実⾏の⾒直し:◎ • ⼀⼈でメンテするのが⾟くなってきた ◦ 可読性/保守性⾼い⾃動テストでも数あると⼀⼈では⼤変 → ③メンテナンス運⽤の変更 :◎ 多くのテストケースを安定してメンテナンスできるチーム/運⽤ができた! 導⼊初期 拡⼤期 安定期
31 © Safie Inc.| 今後の取り組み ‧⾃動化領域の拡⼤(PCブラウザ) ‧多⾔語テストの⾃動化(モバイルアプリ) ‧E2Eの⾃動テスト最適化 セーフィーにおけるMagicPod活⽤と改善の歴史(まとめ) 時期
困りごと 改善施策 導 ⼊ ‧テストケースの品質:悪 ‧テストケース増やせない ‧実⾏回数を増やす ‧コメント/空⾏ルール ‧勉強会の実施 ‧ペアプロの実施 拡 ⼤ テストケースが増えてきて ‧テストデータの依存 ‧実⾏時間増 ‧メンテナンス負荷の集中 ‧データ利⽤のルール化 ‧並列実⾏環境の整備 ‧メンテ負荷分散体制の構築 安 定 様々な改善施策を通じて安定的 に⾃動テストを運⽤できるよう に。
© Safie Inc.|32 ご清聴ありがとうございました Thank you!
33 © Safie Inc.| Appendix . 勉強会の内容(読み物) タイトル リンク MagicPodスタートガイド
https://support.magic-pod.com/hc/ja/sections/4408515646361-%E3%82%B9%E3%82%BF %E3%83%BC%E3%83%88%E3%82%AC%E3%82%A4%E3%83%89 導⼊初期に役⽴つTips(モバイルアプリ) https://support.magic-pod.com/hc/ja/articles/20621015915929-%E5%B0%8E%E5%85%A5 %E5%88%9D%E6%9C%9F%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4Tips-%E3 %83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA ページオブジェクトモデルの理解 https://qiita.com/RyomaMaeda/items/517cd5008da40b3fbcee https://tech-blog.rakus.co.jp/entry/20230523/e2etest MagicPod機能ガイド(条件分岐の活⽤) https://support.magic-pod.com/hc/ja/articles/4408909934617-%E6%9D%A1%E4%BB%B6 %E5%88%86%E5%B2%90%E3%81%AE%E6%B4%BB%E7%94%A8 MagicPod機能ガイド(変数の活⽤) https://support.magic-pod.com/hc/ja/articles/4408887437337-%E5%A4%89%E6%95%B0% E3%81%AE%E6%B4%BB%E7%94%A8 MagicPod機能ガイド(共有ステップの活⽤) https://support.magic-pod.com/hc/ja/articles/4408910141977-%E5%85%B1%E6%9C%89% E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%AE%E6%B4%BB%E7%94%A8
34 © Safie Inc.| Appendix . 勉強会の内容(ハンズオン) ごめんなさい、これはテックブログで今度書きます。 https://engineers.safie.link/