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

実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の...

 実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み

GREE Tech Conference 2024で発表された資料です。
https://techcon.gree.jp/2024/session/TrackB-5

gree_tech

October 25, 2024
Tweet

Video

More Decks by gree_tech

Other Decks in Technology

Transcript

  1. テスト準備における課題 9 ビルド作成 テスト準備 テスト開始 不具合修正 なし あり 従来のフロー •

    デイリーで夜間にビルドを作成 • 業務開始前にテスターがビルドをイ ンストール • ビルドに問題なければテスト開始 ブロッカー? ※テスト準備:ここではビルドをインストールすること
  2. テスト準備における課題 10 課題1 • ブロッカー発生により当日テストが できなくなる →1日8時間×稼働人数の工数が無駄 に 課題2 •

    検証ブロッカー発生によりQA期間が 1日減る →テスト期間が圧迫され品質低下に ビルド作成 テスト準備 テスト開始 不具合修正 なし あり ブロッカー? ※ブロッカー:ビルドが動かないなどテストが開始できない不具合
  3. 解決策 11 ビルド作成 自動スモーク テスト テスト開始 不具合修正 なし あり ブロッカー?

    テスト準備 ビルド作成 テスト準備 テスト開始 不具合修正 なし あり ブロッカー?
  4. 解決策 12 ビルド作成 自動スモーク テスト テスト開始 不具合修正 なし あり ブロッカー?

    テスト準備 • 自動テストで事前にブロッカーを検知 • テスト準備工数の無駄を防止 • 修正や再ビルドのサイクルも高速化 自動スモークテスト導入で課題を解決 ※スモークテスト:ビルドの起動からチュートリアル完了までのテスト
  5. 使用したツール 15 • インストール ◦ iOS ▪ ios-deploy • https://www.npmjs.com/package/ios-deploy

    ◦ Android ▪ adb • https://developer.android.com/tools/releases/platform-tools?hl=ja • スモークテスト ◦ Airtest ▪ https://airtest.netease.com/
  6. 取り組んだ過程 20 iOS、Androidスモークテスト
 スクリプト作成
 Steamスモークテスト
 スクリプト作成
 外部ツール連携周りの実装
 つまづいた点 
 ▪

    iOSのみAirtestIDE接続がうまくいかない
 ➔XcodeバージョンとiOSバージョンをAirtestサポー ト内に設定
 ▪ 画像認識に失敗することがある
 ➔スクリプト内の画像をPF毎に用意
 運用開始
 概要
 ▪ アプリ起動、ログイン、バトル、ホーム画面を確認 するテストを作成
 ▪ AirtestIDEを使用することでエンジニア経験が浅く ても簡単にスクリプトの作成が可能
 
 

  7. 取り組んだ過程 21 
 
 
 
 
 
 
 


    
 
 
 
 
 
 
 
 
 概要
 ▪ iOS、Androidと同じ内容のテストを作成
 ▪ 直接ゲーム画面からスクリーンショットを取得しスク リプトを作成
 
 
 
 iOS、Androidスモークテスト
 スクリプト作成
 Steamスモークテスト
 スクリプト作成
 外部ツール連携周りの実装
 運用開始
 つまづいた点 
 ▪ ウィンドウ切り替えが多いと接続が切れやすい
 ➔Steamブラウザ内の操作はAirtestライブラリだけで なくpygetwindowライブラリも使用

  8. 取り組んだ過程 22 
 
 
 
 
 
 
 


    
 
 
 
 
 
 
 
 
 概要
 ▪ 下記3つの連携の仕組みを実装
 ・Jenkinsからビルドファイルのダウンロード
 ・各PFへのインストール
 ・slackへテスト結果の送信
 
 
 
 iOS、Androidスモークテスト
 スクリプト作成
 Steamスモークテスト
 スクリプト作成
 外部ツール連携周りの実装
 運用開始
 つまづいた点 
 ▪ インストールが失敗しやすい
 ➔失敗時に繰り返すように実装

  9. 取り組んだ過程 23 
 
 
 
 
 
 
 


    
 
 
 
 
 
 
 
 
 概要
 ▪ 実業務での運用を開始
 iOS、Androidスモークテスト
 スクリプト作成
 Steamスモークテスト
 スクリプト作成
 外部ツール連携周りの実装
 運用開始
 つまづいた点 
 ▪ UI変更がある度にスクリプト修正が必要
 ➔都度修正を実施
 ▪ PFごとに画像認識に失敗しやすい操作が異なる
 ➔PFごとに修正を実施

  10. 得られた効果 34 •   •     •     課題1 1日8時間×稼働人数の工数が無駄

      ➔約200時間/施策の無駄を削減   課題2 検証ブロッカーが発生するとQA期間が1日減少   ➔QA期間前に修正することで当初のQAスケジュールでの運用を実現   その他付加価値   ➔ブロッカー以外の不具合の検知を実現    (サーバーリリース前日に新規ユーザーに影響する不具合など)
  11. 今後の展望 37 • ビルドパイプラインへの組み込み ◦ Jenkins Jobトリガーでテスト開始 • スモークテストの精度向上 ◦

    Hierarchy要素でUI操作 ◦ テスト範囲拡大 ◦ ソケット接続エラーの解消 •   •