自動QAテスト の実績と機械学習が
拓く次世代QAの可能性
デバイスファーム 「AirLab」 による
許 信勇
加納 基晴
KLab株式会社
2
講演者の紹介
3
許 信勇
テクニカルディレクター
エンジニアリング本部 共通基盤グループ
KLab株式会社
2015年にKLab株式会社に入社
以前自社のゲームエンジン関連の業務を主に担当していました。
現在は社内の自動テストのシステム構築と環境整備、およびプロジェクト
への導入サポートを行っています。
4
大学卒業後、2022年新卒としてKLabに入社。
入社後に機械学習Gに配属され、3Dモーションの検索システムを開発を
行っていました。現在は、自動テストツール「ゴリラテスト」の開発・運用を
行なっています。
加納 基晴
技術職
エンジニアリング本部 機械学習グループ
KLab株式会社
5
会社紹介
6
KLab株式会社について
「エンターテインメントで、世界中のユーザーをひとつにつなげる」 をビジョンに掲げ
世界中の人々にワクワクしてもらえるサービスや技術を創造しています。
設立 2000年8月1日
資本金 60億5,207万円(2024年7月末現在)
株式公開市場 東京証券取引所・プライム市場(3656)
代表者
代表取締役社長CEO 森田 英克
代表取締役副会長 五十嵐洋介
所在地
本社(東京都港区、六本木ヒルズ森タワー)
大阪事業所、福岡事業所
主要関連会社
可来软件开发(上海)有限公司 (KLab China Inc.)
株式会社グローバルギア
グループ従業員数 502名(2024年6月末現在)
主力事業:ゲーム事業
世界中で人気の高いアニメ、コミックな
どのIPを原作としたモバイルオンライン
ゲームを国内外に展開。
現在155の国と地域で配信
その他:
スマートフォン関連のアプリケーショ
ン、サービス及びサーバーインフラの
企画、開発、提供、新規事業開拓など
7
本日の講演内容
8
● 昨年から進化した AirLab
● QA自動テストの実績
● 機械学習による自動テストツール「ゴリラテスト」
● まとめ
● 質疑応答
本日の講演内容
9
昨年から進化した
AirLab
10
● 昨年のおさらい
● 進化したAirLab
昨年から進化した AirLab
11
直面している課題
● 多種多様な端末、OSの組み合わせでテストする必要
● 短いサイクルで既存の機能と新機能をテストする必要
● 言語、画質などユーザー設定によるテストケースの増加
品質を担保するためなるべき網羅的にテストしたいが、
全て手動でやるとコスト面から考えると非現実
デバイスファーム導入の背景
12
● 自前の端末で社内にプライベートのデバイスファームを構築できる仕組み
● NetEase社が長年社内運用したデバイスファームを外販したサービス
● 端末格納用ラック、制御用ハードウェア、専用ソフトウェア等で構成
AirLabとは
ソフトウェア
ハードウェア
AirLab = + ※エンタープライズ版
その他ツール
13
AirLabの動作イメージ
NetEase社内の様子 KLabが導入したラック
14
AirLabのハードウェア構成 (イメージ)
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
● 端末格納用ラック
● 端末制御用PC (DeviceHub)
● 端末電源管理用スマートプラグ
● 端末管理サーバー (DeviceKeeper)
● 端末通信用無線AP
15
AirLabのハードウェア構成 (イメージ)
● 端末格納用ラック
● 端末制御用PC (DeviceHub)
● 端末電源管理用スマートプラグ
● 端末管理サーバー (DeviceKeeper)
● 端末通信用無線AP
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
16
テスト実行 /管理用PC(サーバー)追加
● 端末格納用ラック
● 端末制御用PC (DeviceHub)
● 端末電源管理用スマートプラグ
● 端末管理サーバー (DeviceKeeper)
● 端末通信用無線AP
● テスト実行/管理用PC
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
テスト実行 /管理用PC
端末管理サーバー
DeviceKeeper
無線AP
17
管理用PCでテストを全自動化
● 共有で使用できるテストサーバー
● テスト端末の数はこの PC次第
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
テスト実行 /管理用PC(サーバー)追加
テスト実行 /管理用PC
スクリプト
テストの前準備
テストの後片付け
テスト
18
ラック2台を繫げると
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
AirLabのラック (iOS用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
テスト実行 /管理用PC 無線AP
19
● 昨年のおさらい
● 進化したAirLab
昨年から進化した AirLab
20
利用者視点から見た進化の結果
2023年 2024年
利用する
プロジェクト
新規プロジェクト
1つだけ
新規と既存プロジェクト
合計4つ
利用目的 回帰テスト
回帰テスト、性能計測、
機械学習による自動テスト
全自動テストで
同時使用できる端末
12台前後 30台以上
21
大量のパラメータで
細かい制御
複数条件の組み合わせでテスト
プロジェクトA
プロジェクトB
プロジェクトC
プロジェクトD
回帰テスト
機械学習による自動テスト
性能計測
テストに使う端末
iOS:n台
Android:n台
✖
開始/終了時間バラバラ 端末ごとに
テストの進行を管理
✖
22
AirtestMultiRunとは
● AirtestIDE Enterprise版にある複数端末並行テスト機能のCLIバージョン
● configファイル(json)を使ってテストの条件やパラメータを細かく指定
○ configの自動生成やランタイムで修正して利用することも可能
○ 追加情報を記入することも可能
● コマンド一行で実行複数の端末でテストを開始できる
○ ./AirtestMultiRun.exe run config.json
まとめてAirtestMultiRunに任せる
23
AirtestMultiRunのconfigの例
⬅追加情報
⬅端末関連
24
利用者視点から見た進化の結果
2023年 2024年
利用する
プロジェクト
新規プロジェクト
1つだけ
新規と既存プロジェクト
合計4つ
利用目的 回帰テスト
回帰テスト、性能計測、
機械学習による自動テスト
全自動テストで
同時使用できる端末
12台前後 30台以上
25
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
全自動テストで同時に使用できる端末の上限は
テスト実行 /管理用PC
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
このPCのスペック次第➡
26
● CPUは常に100%
● その他のメトリクスはまだ余裕
CPUに過剰な負荷がかかり、
しばらくするとエラーが発生
一台のPCで大量な端末を同時にテストすると
27
「CPU負荷 > 95%」で警告を出すようにして
いろんな組み合わせでテストに同時に使える端末台数の上限を確認
警告でSlackへのメッセージが止まらない日々
テスト実行 /管理用PCをモニタリング
28
AirLabのラック
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
同時に12台の端末でテストの内訳
テスト実行 /管理用PC
● 機械学習によるテスト
○ 端末8台
○ 負荷:非常に高い
● QAスクリプトテスト
○ 端末4台
○ 負荷:相対的に低い
29
改善策
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
AirLabのラック (iOS用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
テスト実行 /管理用PC 無線AP
30
改善策
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
AirLabのラック (iOS用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
テスト実行 /管理用PC 無線AP CPUが強い
テスト実行 /管理用PC
31
改善策
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
AirLabのラック (iOS用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
無線AP CPUが強い
テスト実行 /管理用PC
CPUが強い
テスト実行 /管理用PC
32
利用者視点から見た進化の結果
2023年 2024年
利用する
プロジェクト
新規プロジェクト
1つだけ
新規と既存プロジェクト
合計4つ
利用目的 回帰テスト
回帰テスト、性能計測、
機械学習による自動テスト
テストで
同時使用できる端末
12台前後 30台以上
33
アプリの品質の見た目だけで分かりづらい情報を数値化して、正しく評価
● FPS、メモリ使用量、CPU負荷、バッテリー温度など
毎日同じテストで取れたメトリクスを監視、比較
● 品質問題になりそうなポイントの早期発見、早期解決に繋がる
日々重なった負荷問題をリリース直前のチューニング大作戦に残してしまうと、
大変苦しい作業になる!
なぜ性能計測が必要か?
34
当初から自動テストしながらアプリの性能を計測する予定
諸事情を鑑みてAirLab専用のプロファイリングツールであるAirperfを使用
自動テストしながらの性能計測
エアパフ
35
Airperfを使った性能計測
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
テスト実行 /管理用PC
AirperfのClient(アプリか
python)をテスト実行PCに配
置
Airperfの
Server(python)を
DeviceHubにイン
ストール
36
Airperfを使った性能計測
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
テスト実行 /管理用PC
対応するプラットフォーム
iOS、Android
(Windowsも)
計測したいメトリクスは需
要に応じて簡単に調整で
きる
37
Airperfを使った性能計測
AirLabのラック (Android用)
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
スマートプラグ
端末制御用 PC
DeviceHub
端末
…
端末管理サーバー
DeviceKeeper
無線AP
テスト実行 /管理用PC
計測結果json形式で
ローカルに保存
Airperf Clientアプリで
確認できるし、再加工
も簡単
例えばGCPにアップロードし
て、BigQueryに流す
38
Airperfで取得したデータの一例
39
日本国内における AirLabの導入はKLabが初で、
パイオニアとして先陣を切って、
デバイスファームと自動テストのノウハウや経験も
しっかり身につけた
40
QA自動テストの
実績
41
● 数字でわかる QA自動テストの実績 (2023年度)
● テストの自動化に対して意識したこと
● 効果的だった施策
QA自動テストの実績
42
各種スクリプトテストの合計時間:8000時間以上
● 検出したクリティカルな問題の種類
○ クラッシュ、アプリのフリーズ、ゲーム内進行不能
全て手作業で行う場合かかる費用の試算:2000万円以上
実際にかかった費用:400万円未満
数字でわかる QA自動テストの実績 (2023年度)
43
● 数字でわかるQA自動テストの実績(2023年度)
● テストの自動化に対して意識したこと
● 効果的だった施策
QA自動テストの実績
44
費用対効果
テストの自動化にかかるコストは主に2つ
● スクリプトの初期作成:導入コスト
● 機能変更後のスクリプトの修正:運用コスト (修正コスト✖修正頻度)
技術的に実現できるかどうかではなく、
手動テストと比べてどれぐらい費用対効果を高める
テストの自動化に対して意識したこと
45
● 数字でわかるQA自動テストの実績(2023年度)
● テストの自動化に対して意識したこと
● 効果的だった施策
QA自動テストの実績
46
● テストの自動化で費用対効果を高める
○ 回帰テスト
○ 時間がかかる再現テスト
● Airtestのコストを劇的に下げる施策
効果的だった施策
47
回帰テスト
新機能の実装による既存機能の劣化が発生しているかどうかを確認するテスト
回帰テストを頻繁に行うと、知らないうちに現れた不具合をより早く検出可能
一方、退屈な作業を繰り返しても、何も出てこないのは普通
「回帰テスト」とは
48
あるプロジェクトではチュートリアルを始め各種基本機能の動作確認を毎日行う
● 前日のコミットによる既存機能の劣化があるかどうかを確認
○ 何か問題が発生した場合、前日の変更による問題の可能性が高い
● 毎日実施することで、発生頻度が低いバグも検知できる
テスト対象となる機能変更はあまりないため、運用コストはほとんどかからない
退屈な手作業をせず、低コストで高頻度で長く運用することで費用対効果が高い
KLab社内の回帰テストを自動化する事例
49
不具合の修正は、その不具合を何度も再現する必要
● 原因調査のため複数回に再現する必要
● 修正後再現しないことを証明する必要
特に低確率で発生する不具合の場合、この過程は長くて苦痛
複数端末で並列に再現テストを自動でループするのは効率的
何より、自動で再現テストしている間に他の作業ができる
「時間がかかる再現テスト」と言えば ...
50
グラフィックの質を向上するため、レンダリングオプションの変更
● アプリ全体に影響を与える
● 変更後にクラッシュは微妙に増加気味
● クラッシュはランダムでかつ発生率低い
KLab社内の事例
51
レンダリングオプションの変更によるクラッシュの増加を証明
端末4台でオプション のオンとオフ以外全く同じバイナリでテスト
KLab社内の事例
オプションオン オプションオフ
テスト時間 (時間) 491 445
クラッシュ回数 (回) 41 13
クラッシュ回数 / 時間 0.0835 0.0292
手動の場合のコスト試算:2,340,000円
実際にかかったコスト:200,000円 (工数から換算)
52
自動テストツールといえば、Airtest
Airtestといえば、スクショベーススクリプト
● スクショを取りながらスクリプトを作成
● 画像認識でスクショと画面を比較
メリット
● 着手しやすい
● Airtest単体で使用可能
Airtestのコストを劇的に下げる施策
53
デメリット
● 多言語対応のテストに弱い
○ 言語ごとにUIが異なるため、スクリプトを複数用意する必要
● 見た目の変化に弱い
○ 見た目が少し変わるとスクリプトを修正
● 修正するときは手間
○ 該当する箇所まで操作してスクショを取り直す必要
● 端末解像度依存でスクリプトの汎用性が低い
業務レベルになると
54
アプリの画面は端末によって変わる
iPad iPhone
55
スクリプトを作ってみると
iPad
iPhone
56
● 人間にとってはただの誤差にすぎない
● 画像認識を使う機械にとっては誤判定の原因になる
解像度が異なる他の端末のスクショを使って画像認識で自動テストすると、
異常終了が増えて、まともなテストができないことが多い
スクショベースのスクリプトは汎用性が低い
このような微妙な違い
57
あるプロジェクトの回帰テストで
● 4つの端末で4ヶ国語で毎日テスト
○ スクリプトを4つ用意し、メンテナンス
○ 解像度依存問題より端末は固定
● テスト対象の仕様変更でメンテナンスが頻発
○ 1箇所変更されたら、スクショ4枚を取り直す
○ 実施頻度かなり下がった
せっかく自動化にしたのに、コストは手動テストとあまり変わらない
過去社内でスクショベースを運用した例
58
Pocoとは?
Airtestと同じくNetEaseが開発した自動テストフレームワークの一部
● 複数のゲームエンジンに対応し、Airtestをサポート
● プロジェクトに組み込んだ部分は通称PocoSDK
● ゲーム内オブジェクトのツリー構造を取得し、Airtest側で利用
Pocoに切り替えることを決定
59
60
スクショベース VS Pocoベース
QAチームの情報によると、Pocoに切り替えた後、
スクショベースの10%以下 のコストで運用できた
スクショベース Pocoベース
着手しやすさ
SDKが不要
Airtest単体で使える
PocoSDKを
プロジェクトに導入する必要
作成コスト
言語ごとに複数作成する必要
解像度は端末依存で汎用性低い
1回作るだけで
多言語と全端末対応
修正コスト
(頑健性)
操作対象が少し変わると
修正することが多い
操作対象の変更に強く、
多くの場合修正が不要
61
「日々の業務が多くてスクリプトを作る時間がない」
「特定のシナリオではなく、気軽にフリーテストをしたい」
「とにかくスクリプトを作りたくない」
Pocoを使えば簡単にスクリプトを作れるが ...
62
機械学習による
自動テストツール
「ゴリラテスト」
63
● ゴリラテストの概要
● 機械学習によるUIパーツ検知技術の説明
● 社内でのプロジェクト導入事例
機械学習による自動テストツール「ゴリラテスト」
64
● 機械学習/AIによる自動UIテストツール
○ 端末のスクショからUIを認識して効率的に操作するテストツール
○ 「ゴリラテスト」ツール名で、モンキーテストを賢くしたUIテストという意味で ”ゴリ
ラ” テストと名付けている
ゴリラテストの概要
65
● 人工知能学会(2022)で研究論文が大会優秀賞を受賞
○ ガンバト ニャムフー, 濱田 直希, 山崎 大地, 下斗米 貴之, 高田 敦史, ゴリラテ
スト. In 人工知能学会全国大会論文集 第 36 回 (2022)
受賞歴
66
モンキーテスト
● ランダムにタップやスワイプなどを行い操作
● 良い点
○ 実装やメンテナンスのコストが小さい
● 弱点
○ UIを正確に操作する頻度が低く、効率や網羅性が悪い
既存の自動テスト手法
67
スクリプトテスト
● シナリオテストをスクリプト化して操作
● 良い点
○ 意図通りの操作が可能・効率が良い
● 弱点
○ 大量にスクリプトを作成するには時間がかかる
○ 大幅なアプリの改修に合わせてメンテが発生する
既存の自動テスト手法
68
ゴリラテスト
● 機械学習(AI)でUIの位置・種類を認識して操作
● 事前知識は必要なし・テスト中のスクショのみで動作する
● 良い点
○ 機械学習によってUIを高い確率で操作できる
○ アプリの改修が入っても、メンテなしで運用を継続できる
● 弱点
○ 設計上ランダムテストなので、意図通りの操作はできない
ゴリラテストの特徴
69
他テスト手法との比較
モンキーテスト ゴリラテスト スクリプトテスト
効率性 ★ ★ ★ ★ ★ ★ ★ ★
網羅性 ★ ★ ★ ★ ★ ★
実装・メンテナンスコスト ★ ★ ★ ★ ★ ★ ★ ★ ★
ゴリラテスト はテストの効率性・網羅性 を保ちながら
継続してランダム操作の自動テストが可能
70
ゴリラテストの動作フロー
スクリーンショッ
ト取得
UI認識
状態認識
画面フロー
構築
端末
操作
機械学習でUI位置と種類を認識
ヘルス
チェック
繰り返し
71
ゴリラテストの動作フロー
スクリーンショット
取得
UI認識
状態認識
画面フロー
構築
端末
操作
画像分類手法で状態認識
UI操作による画面フロー図を構築
ヘルス
チェック
繰り返し
72
ゴリラテストの動作フロー
スクリーンショット
取得
UI認識
状態認識
画面フロー
構築
端末
操作
ヘルス
チェック
UI認識・画面フロー図を活用し、
網羅的にUIをテストするように端末を操作
繰り返し
73
・テスト対象アプリ外に出てしまっている場合、元のアプリに戻す
・バッテリー温度が過度に高い場合には危険予防としてテスト強制終了
などを対応を行う
ゴリラテストの動作フロー
スクリーンショット
取得
UI認識
状態認識
画面フロー
構築
端末
操作
ヘルス
チェック
繰り返し
74
アプリ外を操作してない
か・バッテリー温度
などを確認
ゴリラテストの動作フロー
スクリーンショッ
ト取得
UI認識
状態認識
画面フロー
構築
端末
操作
機械学習でUI位置と
種類を認識
画像分類手法で状態認識
UI操作による画面フロー図を構
築
ヘルス
チェック
画面フロー図を活用し
てUIを網羅的にテストす
るように端末を操作
繰り返し
75
画面フロー図の構築
画面フロー図とは...
画面に対する操作の結果を集約した
ネットワークグラフ
どの画面で、どんな操作をして、
どの画面に移動したかを記録
76
画面フロー図の構築
画面同士の繋がりや画面に対する操作
の網羅的を把握できる
画面フロー図を活用してUIを網羅的テ
ストしながら、多くの画面を回れるよう
に動作の計画を制御している
77
Unityのデモアプリにおける動作例
78
● ゲームUIはタイトル独自のデザインが多く、認識が困難
● 操作もタップだけでなく、スワイプも必要
● グレーアウトされたUIの除去も必要
機械学習による UIパーツ検知技術
79
https://github.com/Megvii-BaseDetection/YOLOX/tree/main
● 物体検知とは
○ 画像から物体を認識して、その位置と種類を
特定する機械学習手法
● YOLOX (物体検知モデル)
○ 高速に実行が可能
○ 商用利用可能なモデルが公開されている
機械学習の物体検知を応用
YOLOXの実行結果
80
● YOLOXのモデルはUIパーツに対する学習が行われてない
● UIパーツ用にモデルを独自に学習させる必要が出てきた
● モデル開発で重要な点
○ 大量のデータで学習を行うと汎用性や精度が上がる
○ 今回の場合、複数タイトルで正確にUI検知ができる
● 一方、大量のデータを収集するには課題がある
■ データを学習用に処理するコスト
■ 権利的なリスク
独自UIパーツ検知モデルの開発
81
加納基晴・下斗米貴之
, 2-055: 擬似ゲーム画面による
UI検出モデルの学習データ生成
, 情報論的学習理論ワークショップ
, 2023-10.
● ゲームUI画面を自動生成してデータセット
を構築
● ゲームUI画面生成アルゴリズム
○ 画像生成AIで作った背景画像に、オープンな
アイコン画像を配置
○ 半透明のマスクをかけて、グレーアウトも再現
● 10万枚の擬似ゲーム画面データを生成
独自UIパーツ検知モデルの開発
82
赤:タップ、緑: スワイプ、灰色: グレーアウト
● 赤枠がタップ・緑枠がスワイプのUIと認識された箇所
● UIらしい位置に枠線が付けられている
● スワイプの箇所も正確に分類して認識ができている
独自UIパーツ検知モデルの実行結果
83
赤:タップ、緑: スワイプ、灰色: グレーアウト
● 灰色の枠線がグレーアウトUIと認識された箇所
● グレーアウトされたUIの分類もうまくできた
独自UIパーツ検知モデルの実行結果
84
赤:タップ、緑: スワイプ、灰色: グレーアウト
● 実行速度は0.2秒未満(CPU実行)
● 複数のゲームタイトルで使える汎用的な能力を獲得
独自UIパーツ検知モデルの実行結果
85
● 社内運用プロジェクトで毎日10時間テストを行っている
○ 8月現在、3プロジェクトに対して
○ Android: 12台・iOS: 4台に導入
● 運用フロー
社内プロジェクトへの導入事例
プロジェクト
ビルドサーバー
AirLabのラック
管理用PC
テスト実行
…
スマートプラグ
DeviceHub
DeviceKeeper
無線AP
テストリクエスト
テストリクエスト受付
ゴリラテストの
ロジックを実行
86
テスト結果用 エラーダッシュボード
ゴリラテストとエラーレポートのロ
グを紐づけたWebアプリ
QAチームに共有し、発見された
バグを開発チームに連絡
87
テスト状況の一覧表示 :機能1
ⓒYT/S ⓒYT/S/T/E
端末画面とエラー状況を時間経過に沿って表示
約90秒おきにどのような画
面を操作したか確認可能
88
テスト状況の一覧表示 :機能2
ⓒYT/S ⓒYT/S/T/E
各画像にはキャプションが付け
られる
・テスト経過時間
・アプリのパフォーマンス
(CPU使用率・graphicsなど)
・エラー詳細ページのリンク
が含まれる
89
エラー詳細ページ
ⓒYT/S ⓒYT/S/T/E
エラーの細かい情報が確認可能
・エラー発生時の画面状況
・エラーメッセージ
・エラーレポートシステムへのリン
ク
などが確認できる
90
Airperf による計測の可視化
CPUやメモリの使用率、グラフィック状況を折れ線グラフで表示
スクショと連動し、パフォーマンスが低
下する部分を確認可能
91
社内3プロジェクトにおいて運用中
10時間の実行で、エージングテストの効果も得られた
2024年6月の運用実績
プロジェクト 端末数 テスト数 総テスト時間 ユニークエラー数
A 8 (Android:4, iOS:4) 134 1270 (h) 50 (内2件がクラッシュ )
B 4 (Android:4) 68 630 (h) 622
C 1 (Android:1) 21 171 (h) 28
92
まとめ
93
KLabでは
● AirLabをテスト自動化の基盤として、継続的に安定と強化を追求
● QAの費用対効果を意識しながら、積極的にテストの自動化を使用
● ゴリラテストで機械学習による、スクリプトなしの自動テストを実現
まとめ
94
ご清聴
ありがとうございました
95
質疑応答

デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性