Upgrade to Pro — share decks privately, control downloads, hide ads and more …

家族アルバム みてねのMagicPod活用状況続報と、MIXI全社への自動テスト推進の取り組みについて / MagicPod utilization and automated test promotion

ayano
January 31, 2024

家族アルバム みてねのMagicPod活用状況続報と、MIXI全社への自動テスト推進の取り組みについて / MagicPod utilization and automated test promotion

ayano

January 31, 2024
Tweet

Other Decks in Technology

Transcript

  1. ©MIXI 2 ⾃⼰紹介 ayano QAエンジニア / 株式会社MIXI(以下MIXI) 開発本部 CTO室 QA1グループ

    • 2019年に異業種から転職し、QA歴はもうすぐ5年。 プログラミング知識ほぼなし! • 2021年11⽉ミクシィ(現MIXI)⼊社。 • 「ノーコードのテスト⾃動化やれるよ」と誘われて • 事業部を横断した⽀援を⾏う開発本部に所属し、 2023年4⽉より「家族アルバム みてね」(以下みてね)担当。 • みてねのQAとしてフルコミットしつつ • 社内(主に開発本部)のQAとコミュニケーションを取り、より良く するためにあれやこれやしています。詳細は後ほど • 普段は猫を愛でています。
  2. ©MIXI 3 1. みてねとMagicPod • みてねの概要 p. 5 • みてねのMagicPod利⽤状況概要(過去の発表資料のご紹介) p. 6

    • MagicPod実⾏環境 p. 7 • ⾃動テスト運⽤Tips • ⾃動テストツールに依存しないもの p. 9 • MagicPodだからこそ適⽤できたもの p. 10 2. MIXIとMagicPod • MIXIのQA組織‧開発本部 CTO室所属のQAの役割 p. 13 • MagicPod活⽤の推進ができていなかった状況の詳細 p. 14 • MagicPod活⽤推進のためやったこと, やっていること p. 15 • 約半年間やってみた効果 p. 18 3. まとめ p. 20 お話しする内容
  3. ©MIXI 5 みてねの概要 「みてね」とは スマホで撮った⼦どもの写真や動画を、家族と共有し コミュニケーションして楽しむ家族アルバムサービスです。 みてねの品質管理体制 • QAチーム体制 •

    QAエンジニア 6名 • うち4名がMagicPodを使いこなしています • QAチーム全員がMagicPodを使いこなせる状態を⽬指しています • トランクベース開発, 2週間のリリーストレイン を採⽤ • 多数のドメイン組織があり、各々アジャイルに開発をしている • 専属のQAをアサインしているドメインもあれば、QAがいないドメインもある • QAは、専属チーム内でスクラムメンバーやスクラムマスターとしても活動 • 専属QAがいないドメインチームは、必要に応じてQAに相談/依頼をしている • MagicPodはアプリテスト‧クラウド実⾏メインで利⽤している
  4. ©MIXI 6 みてねのMagicPod利⽤状況概要(過去の発表資料のご紹介) 2022年4⽉にMagicPodを導⼊し、利⽤開始からもうすぐ2年が経とうとしています。 MagicPod導⼊から今まで、MagicPodに関する発表をいくつか⾏なっていました。 この場では発表資料を紹介するだけに留めますが、詳細はぜひURL先をご覧ください。 1. みてねのE2E⾃動テスト導⼊戦略 1 2023年03⽉公開 E2E⾃動テスト導⼊の背景や、MagicPodに決めた理由、導⼊にあたって⼯夫した点などがまとめられたブ

    ログです。 2. 家族アルバム みてねの安定リリースを⽀えるMagicPod活⽤状況 2 2023年07⽉公開 MagicPodユーザーLT会(2023/7/14)での発表スライドです。 MagicPod導⼊による恩恵や、具体的な実⾏環境‧運⽤例が載っています。 ------ 1 https://team-blog.mitene.us/qa-magicpod-installation-bf11fb95c59e 2 https://speakerdeck.com/mshimasan/jia-zu-arubamu-mitenenoan-ding-ririsuwozhi-erumagicpodli-yong-zhuang-kuang
  5. ©MIXI 7 みてねのMagicPod実⾏環境、さらに進化しました! Androidに続いて、iOSも… • CI連携しました! • Android, iOS共に、ビルド作成の度に簡易リグレッションテストが⾃動実⾏される環境になった •

    テストケースの連続実⾏必須だった設計を、独⽴実⾏できる設計への変更に着⼿しました! • シミュレーターのアプリ情報クリアに時間がかかるのがネックだった • バージョン1.3.0(2023/12/10)で、クリア時間が短縮された • 毎⽇の実⾏になるべく影響がないよう独⽴させる作業はなかなか困難で、あまり進められていない これからMagicPod導入する方!テストケースは独立させて作りましょう! 「家族アルバム みてねの安定リリースを⽀えるMagicPod活⽤状況」で発表した課題が、2つとも解消されました!
  6. ©MIXI 9 ⾃動テストツールに依存しない運⽤Tips MagicPodに限らず、テスト⾃動化に取り組むチームで適⽤できそうなTipsです 実⾏結果の確認内容を、Slackスレッド内に残す • 実⾏結果詳細や実装修正状況などの情報を、溜められる&検索できる • スプレッドシートで管理するより気楽で⼿軽 •

    「検索してみたら最近よく発⽣している」など、Flaky箇所の傾向も掴める • スレッド先頭に、確認の最終結果を絵⽂字リアクションすると⾒やすい • MagicPodのソフトウェアテスト関係者くらいしか使わない絵⽂字 1が活躍中 Topic バージョン1.5.0(2024/1/14)でテスト実⾏結果メモ機能がリリースされました! ただ、それぞれのテスト実⾏詳細を開かないとメモを閲覧できず、メモの内容 での検索もできないため、採⽤せず… メモの検索機能欲しいよ!って要望出そうかな…? ------ 1 https://magicpod.com/corporate/goods/emoji01/
  7. ©MIXI 11 MagicPodだからこそ適⽤できた運⽤Tips ゆるい命名規則 • どんなにケース, 共有ステップ数が増えても、各種⼀覧画⾯から検索で⽬的のデータに辿り着ける • テストケース:hogeができること のように、分かりやすい命名にする

    • 共有ステップ:[機能⼤分類名]ステップ内容 • 登録済みのUIが把握しやすくなり、不要なUIの登録が減る(管理コストも減る) • UI名:画⾯名_画⾯条件&なるべく共有UI化  例)家族設定_メール登録済み_オーナー • 検索する前提なので、フォルダ分けは必須にしてない
  8. ©MIXI 14 MagicPod導⼊は進んでいても、活⽤の推進ができていなかった • 「テスト⾃動化についてのコラム」「MagicPodに関するTips‧Q&A」ドキュメントページの公開 • ページの存在⾃体知らない⼈が多かった • コラムを読んで抽象的な概念は理解できるが、この情報だけでは具体に落とし込むのが難しい •

    ページ上では質問や相談などの交流がしづらい • 全社横断の「⾃動化に関すること全般」Slackチャンネル • そこそこ動いているけど、初学者が質問するにはハードルが⾼い • アカウント追加依頼‧Web記事の紹介などの投稿がメインになっている • 参加⼈数が多い&全社向けオープンチャンネル • Tipsを⼩出しに共有しただけでは解決しない • ⼩出しだと体系的に説明できていないため、効果が薄かった 改善したい! できるところから始めよう!
  9. ©MIXI 15 MagicPod活⽤推進のためやったこと 「みてねの⾃動テストの話」共有会を開催 • 前半に紹介した内容を簡易資料にまとめて、1時間の共有会を開催 • 約20⼈に呼びかけて、参加⼈数6⼈(各チーム代表1名くらい) • ⾃動化対象はtoC向けのスマホアプリのみであることなど、サービスや開発環境の条件も詳しく説明

    • 様々なプロジェクト担当者が参加していたため よくあるパターン みてね 操作の塊 例)ログインボタンタップ(→次の画⾯に遷移) コマンド複数⾏ベタ書き 共有ステップ (1コマンドでも共有ステップにする) テスト観点の塊 例)ログイン機能の確認 1つのテストケースに複数詰め込み だいたい1観点1ケース パターン分岐 例)複数商品で注⽂確認, 権限有無での動作確認 テストケース内の条件分岐と変数 変数つきロケータとデータパターンと 条件分岐の組み合わせ テストシナリオ 1シナリオ1テストケース ラベルで表現(複数テストケース) ⼀括実⾏時のテスト範囲の制御 してない? パターン設定で表現、最⼤6台同時並列実⾏ ⽐較表を作ったりもしました
  10. ©MIXI 16 MagicPodリリース情報の社内通知 • MagicPodリリースのRSS配信 1を、全社横断の⾃動化 Slackチャンネルに通知 • 2週間に1回のリリースで、ほぼ毎回と⾔っていいくらい嬉 しい機能追加がある

    • リリース情報を逃すのはもったいない • アジャイル開発の鏡…! • 過去記事を更新した時もフィードが⾶んでくる仕様(Slack コミュニティ情報)なので注意 • 通知投稿のスレッドに(個⼈的)⼤注⽬の更新内容を載 せて、リリース情報の把握を促す • RSSを配信するだけでは中⾝を読んでくれない場合が多い • スクリーンショットをつけたり、絵⽂字で盛り上げたり MagicPod活⽤推進のためやっていること ------ 1 https://support.magic-pod.com/hc/ja/articles/13011156142745
  11. ©MIXI 17 MagicPod活⽤推進のためやっていること その他、細々とやっているもの • 困ったときに相談しやすい雰囲気作り • 「チームで解決できず、困ったら呼んでください!⼀緒に考えます!」と常々⾔っている • 実際に相談を受けることもしばしば(ありがたい)

    • 全社横断の⾃動化Slackチャンネルで、⾃分からも質問 • 引き続き、発⾒したTipsの共有 ⾃動化推進チーム専属ではなく、スクラムチームで⽇々開発しながらやっていると、 ここまでが限界… とはいえ、こんな効果が →
  12. ©MIXI 20 お話ししたことの振り返りと、今後の課題 みてねQAとして • 導⼊から2年近くになるが、実⾏環境がより改善され、新たな運⽤Tipsも⽣まれている • みてね全体が、テスト⾃動化推進に協⼒的! • 改善のタスクは積まれているけどなかなか消化できないので、注⼒する期間などを設けたい

    開発本部QAとして • ただ導⼊しただけでなく、活⽤するための改善をする流れを作れた • 改善したいことがたくさん • アカウント管理が⾏き届いていない お恥ずかしながら… • まだまだ本腰を⼊れての⽀援はできていない • 最近、MagicPodの実装⽀援経験者&QA組織改善のスペシャリスト が⼊社したので、 さらに⾃動化推進できそう!