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
森重 丈
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
Copilotの監査ログはどこまでみれるのか
ponponmikankan
4
1.9k
情報を集める時間を チームを進める時間へ-Backlog AIアシスタントで変わった時間の使い方-
yasuhirox
0
350
JAWSDAYSに参加した思いを叫びたい!
yuidyy
1
120
パーソルクロステクノロジー_グループソリューション本部のご紹介 / Introduction_of_gs
pxt_gs_ssol
0
3.4k
【エンジニア採用】BuySell Technologies会社説明資料
buyselltechnologies
3
97k
コミュニケーション術を強化するのにオススメな本9冊
zashii
0
450
『今日から使える認知行動療法』でみつけた もっと人生をたのしむヒント
mkitahara01985
1
690
CompanyDeck_v6.5.pdf
xid
3
27k
CSRレポート2026_ギークス株式会社
geechs
PRO
0
120
エンジニアがAIで副業をする場合の入り口と仕事について調べてみた
ochtum
1
210
“使われているハーネス/使われていないハーネス”を可視化するところから始めた話
sugamoto
0
210
AIで経理の仕事はどう変わるのか
shunsuke_takeuchi
PRO
0
320
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Building the Perfect Custom Keyboard
takai
2
790
GraphQLとの向き合い方2022年版
quramy
50
15k
GitHub's CSS Performance
jonrohan
1033
470k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
160
Thoughts on Productivity
jonyablonski
76
5.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
380
Code Reviewing Like a Champion
maltzj
528
40k
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
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/