Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KT
Uploaded by
KLab Inc. / Tech
117 views
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
CEDEC2024の登壇資料です。 https://cedec.cesa.or.jp/2024/session/detail/s66026b29ae25a/
Engineering
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 95
2
/ 95
3
/ 95
4
/ 95
5
/ 95
6
/ 95
7
/ 95
8
/ 95
9
/ 95
10
/ 95
11
/ 95
12
/ 95
13
/ 95
14
/ 95
15
/ 95
16
/ 95
17
/ 95
18
/ 95
19
/ 95
20
/ 95
21
/ 95
22
/ 95
23
/ 95
24
/ 95
25
/ 95
26
/ 95
27
/ 95
28
/ 95
29
/ 95
30
/ 95
31
/ 95
32
/ 95
33
/ 95
34
/ 95
35
/ 95
36
/ 95
37
/ 95
38
/ 95
39
/ 95
40
/ 95
41
/ 95
42
/ 95
43
/ 95
44
/ 95
45
/ 95
46
/ 95
47
/ 95
48
/ 95
49
/ 95
50
/ 95
51
/ 95
52
/ 95
53
/ 95
54
/ 95
55
/ 95
56
/ 95
57
/ 95
58
/ 95
59
/ 95
60
/ 95
61
/ 95
62
/ 95
63
/ 95
64
/ 95
65
/ 95
66
/ 95
67
/ 95
68
/ 95
69
/ 95
70
/ 95
71
/ 95
72
/ 95
73
/ 95
74
/ 95
75
/ 95
76
/ 95
77
/ 95
78
/ 95
79
/ 95
80
/ 95
81
/ 95
82
/ 95
83
/ 95
84
/ 95
85
/ 95
86
/ 95
87
/ 95
88
/ 95
89
/ 95
90
/ 95
91
/ 95
92
/ 95
93
/ 95
94
/ 95
95
/ 95
More Related Content
PDF
1時間で分かるSTA (Software Test Automation) #stac2014
by
Kazuhiro Suzuki
PDF
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
PPTX
画像認識ベースのUI自動化フレームワークを用いた取り組み
by
Shuhei Furuya
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
PDF
開発生産性と品質の向上を支えるAIベースのテスト自動化と運用支援サービス_オーティファイ株式会社のご紹介
by
marketing489697
PDF
SGT2013 技術トークス「アジャイルテスティング」
by
yasuohosotani
PPTX
Istqb : Test automation Engineer
by
Sadaaki Emura
PDF
AI Business Challenge Day 20170316
by
陽平 山口
1時間で分かるSTA (Software Test Automation) #stac2014
by
Kazuhiro Suzuki
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
画像認識ベースのUI自動化フレームワークを用いた取り組み
by
Shuhei Furuya
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
開発生産性と品質の向上を支えるAIベースのテスト自動化と運用支援サービス_オーティファイ株式会社のご紹介
by
marketing489697
SGT2013 技術トークス「アジャイルテスティング」
by
yasuohosotani
Istqb : Test automation Engineer
by
Sadaaki Emura
AI Business Challenge Day 20170316
by
陽平 山口
Similar to デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
PDF
Karateによる UI Test Automation 革命
by
Takanori Suzuki
PPTX
Device Farm を使ったスマホアプリの自動テスト
by
Kenichi Tatsuhama
PDF
Iot algyan jhirono 20190111
by
Hirono Jumpei
PDF
テスト自動化のこれまでとこれから
by
Keizo Tatsumi
PDF
テスト自動化クロニクル (JaSST 東海 2016)
by
Keizo Tatsumi
PDF
Automated Testing on AWS Device Farm
by
Keisuke Nishitani
PDF
大規模並列実験を支えるクラウドサービスと基盤技術
by
RyuichiKanoh
PDF
JAWS DAYS 2017 lunch session
by
陽平 山口
PDF
iOS_Consortium_20170120
by
陽平 山口
PPTX
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
by
gree_tech
PDF
KANSAIAIPUB 20180724 「テスト×AI」
by
Tomoyuki Ezoe
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
by
Tatsuya Ishikawa
PPTX
20190424 q ameetup-m -publish
by
Sadaaki Emura
PDF
Gamedevenvstudy1
by
Takashi Kokawa
KEY
Androidリリース作業の効率化(2)
by
Kenichi Kambara
PDF
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
by
tomohiro odan
PDF
Automationtestssf beta
by
ryuji koyama
PDF
JAWS FESTA 20191102
by
陽平 山口
PDF
JAWS FESTA TOKAIDO 2016
by
陽平 山口
PDF
ギアと開発とわたし_AAA2015
by
Kazuhiro Suzuki
Karateによる UI Test Automation 革命
by
Takanori Suzuki
Device Farm を使ったスマホアプリの自動テスト
by
Kenichi Tatsuhama
Iot algyan jhirono 20190111
by
Hirono Jumpei
テスト自動化のこれまでとこれから
by
Keizo Tatsumi
テスト自動化クロニクル (JaSST 東海 2016)
by
Keizo Tatsumi
Automated Testing on AWS Device Farm
by
Keisuke Nishitani
大規模並列実験を支えるクラウドサービスと基盤技術
by
RyuichiKanoh
JAWS DAYS 2017 lunch session
by
陽平 山口
iOS_Consortium_20170120
by
陽平 山口
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
by
gree_tech
KANSAIAIPUB 20180724 「テスト×AI」
by
Tomoyuki Ezoe
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
by
Tatsuya Ishikawa
20190424 q ameetup-m -publish
by
Sadaaki Emura
Gamedevenvstudy1
by
Takashi Kokawa
Androidリリース作業の効率化(2)
by
Kenichi Kambara
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
by
tomohiro odan
Automationtestssf beta
by
ryuji koyama
JAWS FESTA 20191102
by
陽平 山口
JAWS FESTA TOKAIDO 2016
by
陽平 山口
ギアと開発とわたし_AAA2015
by
Kazuhiro Suzuki
More from KLab Inc. / Tech
PDF
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
PDF
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
PDF
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
PDF
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
PDF
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
PDF
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
PDF
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
PDF
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
PDF
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
PDF
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
PPTX
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
PDF
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
PDF
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
PPTX
見よう見まねでやってみる2D流体シミュレーション
by
KLab Inc. / Tech
PPTX
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
PPTX
属人化して詰まってた作業を自動化で楽しようとした話
by
KLab Inc. / Tech
PPTX
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
by
KLab Inc. / Tech
PPTX
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
見よう見まねでやってみる2D流体シミュレーション
by
KLab Inc. / Tech
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
属人化して詰まってた作業を自動化で楽しようとした話
by
KLab Inc. / Tech
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
by
KLab Inc. / Tech
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
1.
自動QAテスト の実績と機械学習が 拓く次世代QAの可能性 デバイスファーム 「AirLab」
による 許 信勇 加納 基晴 KLab株式会社
2.
2 講演者の紹介
3.
3 許 信勇 テクニカルディレクター エンジニアリング本部 共通基盤グループ KLab株式会社 2015年にKLab株式会社に入社 以前自社のゲームエンジン関連の業務を主に担当していました。 現在は社内の自動テストのシステム構築と環境整備、およびプロジェクト への導入サポートを行っています。
4.
4 大学卒業後、2022年新卒としてKLabに入社。 入社後に機械学習Gに配属され、3Dモーションの検索システムを開発を 行っていました。現在は、自動テストツール「ゴリラテスト」の開発・運用を 行なっています。 加納 基晴 技術職 エンジニアリング本部 機械学習グループ KLab株式会社
5.
5 会社紹介
6.
6 KLab株式会社について 「エンターテインメントで、世界中のユーザーをひとつにつなげる」 をビジョンに掲げ 世界中の人々にワクワクしてもらえるサービスや技術を創造しています。 設立 2000年8月1日 資本金
60億5,207万円(2024年7月末現在) 株式公開市場 東京証券取引所・プライム市場(3656) 代表者 代表取締役社長CEO 森田 英克 代表取締役副会長 五十嵐洋介 所在地 本社(東京都港区、六本木ヒルズ森タワー) 大阪事業所、福岡事業所 主要関連会社 可来软件开发(上海)有限公司 (KLab China Inc.) 株式会社グローバルギア グループ従業員数 502名(2024年6月末現在) 主力事業:ゲーム事業 世界中で人気の高いアニメ、コミックな どのIPを原作としたモバイルオンライン ゲームを国内外に展開。 現在155の国と地域で配信 その他: スマートフォン関連のアプリケーショ ン、サービス及びサーバーインフラの 企画、開発、提供、新規事業開拓など
7.
7 本日の講演内容
8.
8 ● 昨年から進化した AirLab ●
QA自動テストの実績 ● 機械学習による自動テストツール「ゴリラテスト」 ● まとめ ● 質疑応答 本日の講演内容
9.
9 昨年から進化した AirLab
10.
10 ● 昨年のおさらい ● 進化したAirLab 昨年から進化した
AirLab
11.
11 直面している課題 ● 多種多様な端末、OSの組み合わせでテストする必要 ● 短いサイクルで既存の機能と新機能をテストする必要 ●
言語、画質などユーザー設定によるテストケースの増加 品質を担保するためなるべき網羅的にテストしたいが、 全て手動でやるとコスト面から考えると非現実 デバイスファーム導入の背景
12.
12 ● 自前の端末で社内にプライベートのデバイスファームを構築できる仕組み ● NetEase社が長年社内運用したデバイスファームを外販したサービス ●
端末格納用ラック、制御用ハードウェア、専用ソフトウェア等で構成 AirLabとは ソフトウェア ハードウェア AirLab = + ※エンタープライズ版 その他ツール
13.
13 AirLabの動作イメージ NetEase社内の様子 KLabが導入したラック
14.
14 AirLabのハードウェア構成 (イメージ) AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP ● 端末格納用ラック ● 端末制御用PC (DeviceHub) ● 端末電源管理用スマートプラグ ● 端末管理サーバー (DeviceKeeper) ● 端末通信用無線AP
15.
15 AirLabのハードウェア構成 (イメージ) ● 端末格納用ラック ●
端末制御用PC (DeviceHub) ● 端末電源管理用スマートプラグ ● 端末管理サーバー (DeviceKeeper) ● 端末通信用無線AP AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP
16.
16 テスト実行 /管理用PC(サーバー)追加 ● 端末格納用ラック ●
端末制御用PC (DeviceHub) ● 端末電源管理用スマートプラグ ● 端末管理サーバー (DeviceKeeper) ● 端末通信用無線AP ● テスト実行/管理用PC AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … テスト実行 /管理用PC 端末管理サーバー DeviceKeeper 無線AP
17.
17 管理用PCでテストを全自動化 ● 共有で使用できるテストサーバー ● テスト端末の数はこの
PC次第 AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP テスト実行 /管理用PC(サーバー)追加 テスト実行 /管理用PC スクリプト テストの前準備 テストの後片付け テスト
18.
18 ラック2台を繫げると AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP AirLabのラック (iOS用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … テスト実行 /管理用PC 無線AP
19.
19 ● 昨年のおさらい ● 進化したAirLab 昨年から進化した
AirLab
20.
20 利用者視点から見た進化の結果 2023年 2024年 利用する プロジェクト 新規プロジェクト 1つだけ 新規と既存プロジェクト 合計4つ 利用目的 回帰テスト 回帰テスト、性能計測、 機械学習による自動テスト 全自動テストで 同時使用できる端末 12台前後
30台以上
21.
21 大量のパラメータで 細かい制御 複数条件の組み合わせでテスト プロジェクトA プロジェクトB プロジェクトC プロジェクトD 回帰テスト 機械学習による自動テスト 性能計測 テストに使う端末 iOS:n台 Android:n台 ✖ 開始/終了時間バラバラ 端末ごとに テストの進行を管理 ✖
22.
22 AirtestMultiRunとは ● AirtestIDE Enterprise版にある複数端末並行テスト機能のCLIバージョン ●
configファイル(json)を使ってテストの条件やパラメータを細かく指定 ○ configの自動生成やランタイムで修正して利用することも可能 ○ 追加情報を記入することも可能 ● コマンド一行で実行複数の端末でテストを開始できる ○ ./AirtestMultiRun.exe run config.json まとめてAirtestMultiRunに任せる
23.
23 AirtestMultiRunのconfigの例 ⬅追加情報 ⬅端末関連
24.
24 利用者視点から見た進化の結果 2023年 2024年 利用する プロジェクト 新規プロジェクト 1つだけ 新規と既存プロジェクト 合計4つ 利用目的 回帰テスト 回帰テスト、性能計測、 機械学習による自動テスト 全自動テストで 同時使用できる端末 12台前後
30台以上
25.
25 AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP 全自動テストで同時に使用できる端末の上限は テスト実行
/管理用PC AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP このPCのスペック次第➡
26.
26 ● CPUは常に100% ● その他のメトリクスはまだ余裕 CPUに過剰な負荷がかかり、 しばらくするとエラーが発生 一台のPCで大量な端末を同時にテストすると
27.
27 「CPU負荷 > 95%」で警告を出すようにして いろんな組み合わせでテストに同時に使える端末台数の上限を確認 警告でSlackへのメッセージが止まらない日々 テスト実行
/管理用PCをモニタリング
28.
28 AirLabのラック … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP 同時に12台の端末でテストの内訳 テスト実行
/管理用PC ● 機械学習によるテスト ○ 端末8台 ○ 負荷:非常に高い ● QAスクリプトテスト ○ 端末4台 ○ 負荷:相対的に低い
29.
29 改善策 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP AirLabのラック (iOS用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … テスト実行 /管理用PC 無線AP
30.
30 改善策 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP AirLabのラック (iOS用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … テスト実行 /管理用PC 無線AP CPUが強い テスト実行 /管理用PC
31.
31 改善策 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP AirLabのラック (iOS用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用 PC DeviceHub 端末 … 無線AP CPUが強い テスト実行 /管理用PC CPUが強い テスト実行 /管理用PC
32.
32 利用者視点から見た進化の結果 2023年 2024年 利用する プロジェクト 新規プロジェクト 1つだけ 新規と既存プロジェクト 合計4つ 利用目的 回帰テスト 回帰テスト、性能計測、 機械学習による自動テスト テストで 同時使用できる端末 12台前後
30台以上
33.
33 アプリの品質の見た目だけで分かりづらい情報を数値化して、正しく評価 ● FPS、メモリ使用量、CPU負荷、バッテリー温度など 毎日同じテストで取れたメトリクスを監視、比較 ● 品質問題になりそうなポイントの早期発見、早期解決に繋がる 日々重なった負荷問題をリリース直前のチューニング大作戦に残してしまうと、 大変苦しい作業になる! なぜ性能計測が必要か?
34.
34 当初から自動テストしながらアプリの性能を計測する予定 諸事情を鑑みてAirLab専用のプロファイリングツールであるAirperfを使用 自動テストしながらの性能計測 エアパフ
35.
35 Airperfを使った性能計測 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP テスト実行 /管理用PC AirperfのClient(アプリか python)をテスト実行PCに配 置 Airperfの Server(python)を DeviceHubにイン ストール
36.
36 Airperfを使った性能計測 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP テスト実行 /管理用PC 対応するプラットフォーム iOS、Android (Windowsも) 計測したいメトリクスは需 要に応じて簡単に調整で きる
37.
37 Airperfを使った性能計測 AirLabのラック (Android用) … スマートプラグ 端末制御用 PC DeviceHub 端末 … スマートプラグ 端末制御用
PC DeviceHub 端末 … 端末管理サーバー DeviceKeeper 無線AP テスト実行 /管理用PC 計測結果json形式で ローカルに保存 Airperf Clientアプリで 確認できるし、再加工 も簡単 例えばGCPにアップロードし て、BigQueryに流す
38.
38 Airperfで取得したデータの一例
39.
39 日本国内における AirLabの導入はKLabが初で、 パイオニアとして先陣を切って、 デバイスファームと自動テストのノウハウや経験も しっかり身につけた
40.
40 QA自動テストの 実績
41.
41 ● 数字でわかる QA自動テストの実績
(2023年度) ● テストの自動化に対して意識したこと ● 効果的だった施策 QA自動テストの実績
42.
42 各種スクリプトテストの合計時間:8000時間以上 ● 検出したクリティカルな問題の種類 ○ クラッシュ、アプリのフリーズ、ゲーム内進行不能 全て手作業で行う場合かかる費用の試算:2000万円以上 実際にかかった費用:400万円未満 数字でわかる
QA自動テストの実績 (2023年度)
43.
43 ● 数字でわかるQA自動テストの実績(2023年度) ● テストの自動化に対して意識したこと ●
効果的だった施策 QA自動テストの実績
44.
44 費用対効果 テストの自動化にかかるコストは主に2つ ● スクリプトの初期作成:導入コスト ● 機能変更後のスクリプトの修正:運用コスト
(修正コスト✖修正頻度) 技術的に実現できるかどうかではなく、 手動テストと比べてどれぐらい費用対効果を高める テストの自動化に対して意識したこと
45.
45 ● 数字でわかるQA自動テストの実績(2023年度) ● テストの自動化に対して意識したこと ●
効果的だった施策 QA自動テストの実績
46.
46 ● テストの自動化で費用対効果を高める ○ 回帰テスト ○
時間がかかる再現テスト ● Airtestのコストを劇的に下げる施策 効果的だった施策
47.
47 回帰テスト 新機能の実装による既存機能の劣化が発生しているかどうかを確認するテスト 回帰テストを頻繁に行うと、知らないうちに現れた不具合をより早く検出可能 一方、退屈な作業を繰り返しても、何も出てこないのは普通 「回帰テスト」とは
48.
48 あるプロジェクトではチュートリアルを始め各種基本機能の動作確認を毎日行う ● 前日のコミットによる既存機能の劣化があるかどうかを確認 ○ 何か問題が発生した場合、前日の変更による問題の可能性が高い ●
毎日実施することで、発生頻度が低いバグも検知できる テスト対象となる機能変更はあまりないため、運用コストはほとんどかからない 退屈な手作業をせず、低コストで高頻度で長く運用することで費用対効果が高い KLab社内の回帰テストを自動化する事例
49.
49 不具合の修正は、その不具合を何度も再現する必要 ● 原因調査のため複数回に再現する必要 ● 修正後再現しないことを証明する必要 特に低確率で発生する不具合の場合、この過程は長くて苦痛 複数端末で並列に再現テストを自動でループするのは効率的 何より、自動で再現テストしている間に他の作業ができる 「時間がかかる再現テスト」と言えば
...
50.
50 グラフィックの質を向上するため、レンダリングオプションの変更 ● アプリ全体に影響を与える ● 変更後にクラッシュは微妙に増加気味 ●
クラッシュはランダムでかつ発生率低い KLab社内の事例
51.
51 レンダリングオプションの変更によるクラッシュの増加を証明 端末4台でオプション のオンとオフ以外全く同じバイナリでテスト KLab社内の事例 オプションオン オプションオフ テスト時間
(時間) 491 445 クラッシュ回数 (回) 41 13 クラッシュ回数 / 時間 0.0835 0.0292 手動の場合のコスト試算:2,340,000円 実際にかかったコスト:200,000円 (工数から換算)
52.
52 自動テストツールといえば、Airtest Airtestといえば、スクショベーススクリプト ● スクショを取りながらスクリプトを作成 ● 画像認識でスクショと画面を比較 メリット ●
着手しやすい ● Airtest単体で使用可能 Airtestのコストを劇的に下げる施策
53.
53 デメリット ● 多言語対応のテストに弱い ○ 言語ごとにUIが異なるため、スクリプトを複数用意する必要 ●
見た目の変化に弱い ○ 見た目が少し変わるとスクリプトを修正 ● 修正するときは手間 ○ 該当する箇所まで操作してスクショを取り直す必要 ● 端末解像度依存でスクリプトの汎用性が低い 業務レベルになると
54.
54 アプリの画面は端末によって変わる iPad iPhone
55.
55 スクリプトを作ってみると iPad iPhone
56.
56 ● 人間にとってはただの誤差にすぎない ● 画像認識を使う機械にとっては誤判定の原因になる 解像度が異なる他の端末のスクショを使って画像認識で自動テストすると、 異常終了が増えて、まともなテストができないことが多い スクショベースのスクリプトは汎用性が低い このような微妙な違い
57.
57 あるプロジェクトの回帰テストで ● 4つの端末で4ヶ国語で毎日テスト ○ スクリプトを4つ用意し、メンテナンス ○
解像度依存問題より端末は固定 ● テスト対象の仕様変更でメンテナンスが頻発 ○ 1箇所変更されたら、スクショ4枚を取り直す ○ 実施頻度かなり下がった せっかく自動化にしたのに、コストは手動テストとあまり変わらない 過去社内でスクショベースを運用した例
58.
58 Pocoとは? Airtestと同じくNetEaseが開発した自動テストフレームワークの一部 ● 複数のゲームエンジンに対応し、Airtestをサポート ● プロジェクトに組み込んだ部分は通称PocoSDK ●
ゲーム内オブジェクトのツリー構造を取得し、Airtest側で利用 Pocoに切り替えることを決定
59.
59
60.
60 スクショベース VS Pocoベース QAチームの情報によると、Pocoに切り替えた後、 スクショベースの10%以下
のコストで運用できた スクショベース Pocoベース 着手しやすさ SDKが不要 Airtest単体で使える PocoSDKを プロジェクトに導入する必要 作成コスト 言語ごとに複数作成する必要 解像度は端末依存で汎用性低い 1回作るだけで 多言語と全端末対応 修正コスト (頑健性) 操作対象が少し変わると 修正することが多い 操作対象の変更に強く、 多くの場合修正が不要
61.
61 「日々の業務が多くてスクリプトを作る時間がない」 「特定のシナリオではなく、気軽にフリーテストをしたい」 「とにかくスクリプトを作りたくない」 Pocoを使えば簡単にスクリプトを作れるが ...
62.
62 機械学習による 自動テストツール 「ゴリラテスト」
63.
63 ● ゴリラテストの概要 ● 機械学習によるUIパーツ検知技術の説明 ●
社内でのプロジェクト導入事例 機械学習による自動テストツール「ゴリラテスト」
64.
64 ● 機械学習/AIによる自動UIテストツール ○ 端末のスクショからUIを認識して効率的に操作するテストツール ○
「ゴリラテスト」ツール名で、モンキーテストを賢くしたUIテストという意味で ”ゴリ ラ” テストと名付けている ゴリラテストの概要
65.
65 ● 人工知能学会(2022)で研究論文が大会優秀賞を受賞 ○ ガンバト
ニャムフー, 濱田 直希, 山崎 大地, 下斗米 貴之, 高田 敦史, ゴリラテ スト. In 人工知能学会全国大会論文集 第 36 回 (2022) 受賞歴
66.
66 モンキーテスト ● ランダムにタップやスワイプなどを行い操作 ● 良い点 ○
実装やメンテナンスのコストが小さい ● 弱点 ○ UIを正確に操作する頻度が低く、効率や網羅性が悪い 既存の自動テスト手法
67.
67 スクリプトテスト ● シナリオテストをスクリプト化して操作 ● 良い点 ○
意図通りの操作が可能・効率が良い ● 弱点 ○ 大量にスクリプトを作成するには時間がかかる ○ 大幅なアプリの改修に合わせてメンテが発生する 既存の自動テスト手法
68.
68 ゴリラテスト ● 機械学習(AI)でUIの位置・種類を認識して操作 ● 事前知識は必要なし・テスト中のスクショのみで動作する ●
良い点 ○ 機械学習によってUIを高い確率で操作できる ○ アプリの改修が入っても、メンテなしで運用を継続できる ● 弱点 ○ 設計上ランダムテストなので、意図通りの操作はできない ゴリラテストの特徴
69.
69 他テスト手法との比較 モンキーテスト ゴリラテスト スクリプトテスト 効率性
★ ★ ★ ★ ★ ★ ★ ★ 網羅性 ★ ★ ★ ★ ★ ★ 実装・メンテナンスコスト ★ ★ ★ ★ ★ ★ ★ ★ ★ ゴリラテスト はテストの効率性・網羅性 を保ちながら 継続してランダム操作の自動テストが可能
70.
70 ゴリラテストの動作フロー スクリーンショッ ト取得 UI認識 状態認識 画面フロー 構築 端末 操作 機械学習でUI位置と種類を認識 ヘルス チェック 繰り返し
71.
71 ゴリラテストの動作フロー スクリーンショット 取得 UI認識 状態認識 画面フロー 構築 端末 操作 画像分類手法で状態認識 UI操作による画面フロー図を構築 ヘルス チェック 繰り返し
72.
72 ゴリラテストの動作フロー スクリーンショット 取得 UI認識 状態認識 画面フロー 構築 端末 操作 ヘルス チェック UI認識・画面フロー図を活用し、 網羅的にUIをテストするように端末を操作 繰り返し
73.
73 ・テスト対象アプリ外に出てしまっている場合、元のアプリに戻す ・バッテリー温度が過度に高い場合には危険予防としてテスト強制終了 などを対応を行う ゴリラテストの動作フロー スクリーンショット 取得 UI認識 状態認識 画面フロー 構築 端末 操作 ヘルス チェック 繰り返し
74.
74 アプリ外を操作してない か・バッテリー温度 などを確認 ゴリラテストの動作フロー スクリーンショッ ト取得 UI認識 状態認識 画面フロー 構築 端末 操作 機械学習でUI位置と 種類を認識 画像分類手法で状態認識 UI操作による画面フロー図を構 築 ヘルス チェック 画面フロー図を活用し てUIを網羅的にテストす るように端末を操作 繰り返し
75.
75 画面フロー図の構築 画面フロー図とは... 画面に対する操作の結果を集約した ネットワークグラフ どの画面で、どんな操作をして、 どの画面に移動したかを記録
76.
76 画面フロー図の構築 画面同士の繋がりや画面に対する操作 の網羅的を把握できる 画面フロー図を活用してUIを網羅的テ ストしながら、多くの画面を回れるよう に動作の計画を制御している
77.
77 Unityのデモアプリにおける動作例
78.
78 ● ゲームUIはタイトル独自のデザインが多く、認識が困難 ● 操作もタップだけでなく、スワイプも必要 ●
グレーアウトされたUIの除去も必要 機械学習による UIパーツ検知技術
79.
79 https://github.com/Megvii-BaseDetection/YOLOX/tree/main ● 物体検知とは ○ 画像から物体を認識して、その位置と種類を 特定する機械学習手法 ●
YOLOX (物体検知モデル) ○ 高速に実行が可能 ○ 商用利用可能なモデルが公開されている 機械学習の物体検知を応用 YOLOXの実行結果
80.
80 ● YOLOXのモデルはUIパーツに対する学習が行われてない ● UIパーツ用にモデルを独自に学習させる必要が出てきた ●
モデル開発で重要な点 ○ 大量のデータで学習を行うと汎用性や精度が上がる ○ 今回の場合、複数タイトルで正確にUI検知ができる ● 一方、大量のデータを収集するには課題がある ■ データを学習用に処理するコスト ■ 権利的なリスク 独自UIパーツ検知モデルの開発
81.
81 加納基晴・下斗米貴之 , 2-055: 擬似ゲーム画面による UI検出モデルの学習データ生成 ,
情報論的学習理論ワークショップ , 2023-10. ● ゲームUI画面を自動生成してデータセット を構築 ● ゲームUI画面生成アルゴリズム ○ 画像生成AIで作った背景画像に、オープンな アイコン画像を配置 ○ 半透明のマスクをかけて、グレーアウトも再現 ● 10万枚の擬似ゲーム画面データを生成 独自UIパーツ検知モデルの開発
82.
82 赤:タップ、緑: スワイプ、灰色: グレーアウト ●
赤枠がタップ・緑枠がスワイプのUIと認識された箇所 ● UIらしい位置に枠線が付けられている ● スワイプの箇所も正確に分類して認識ができている 独自UIパーツ検知モデルの実行結果
83.
83 赤:タップ、緑: スワイプ、灰色: グレーアウト ●
灰色の枠線がグレーアウトUIと認識された箇所 ● グレーアウトされたUIの分類もうまくできた 独自UIパーツ検知モデルの実行結果
84.
84 赤:タップ、緑: スワイプ、灰色: グレーアウト ●
実行速度は0.2秒未満(CPU実行) ● 複数のゲームタイトルで使える汎用的な能力を獲得 独自UIパーツ検知モデルの実行結果
85.
85 ● 社内運用プロジェクトで毎日10時間テストを行っている ○ 8月現在、3プロジェクトに対して ○
Android: 12台・iOS: 4台に導入 ● 運用フロー 社内プロジェクトへの導入事例 プロジェクト ビルドサーバー AirLabのラック 管理用PC テスト実行 … スマートプラグ DeviceHub DeviceKeeper 無線AP テストリクエスト テストリクエスト受付 ゴリラテストの ロジックを実行
86.
86 テスト結果用 エラーダッシュボード ゴリラテストとエラーレポートのロ グを紐づけたWebアプリ QAチームに共有し、発見された バグを開発チームに連絡
87.
87 テスト状況の一覧表示 :機能1 ⓒYT/S ⓒYT/S/T/E 端末画面とエラー状況を時間経過に沿って表示 約90秒おきにどのような画 面を操作したか確認可能
88.
88 テスト状況の一覧表示 :機能2 ⓒYT/S ⓒYT/S/T/E 各画像にはキャプションが付け られる ・テスト経過時間 ・アプリのパフォーマンス (CPU使用率・graphicsなど) ・エラー詳細ページのリンク が含まれる
89.
89 エラー詳細ページ ⓒYT/S ⓒYT/S/T/E エラーの細かい情報が確認可能 ・エラー発生時の画面状況 ・エラーメッセージ ・エラーレポートシステムへのリン ク などが確認できる
90.
90 Airperf による計測の可視化 CPUやメモリの使用率、グラフィック状況を折れ線グラフで表示 スクショと連動し、パフォーマンスが低 下する部分を確認可能
91.
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.
92 まとめ
93.
93 KLabでは ● AirLabをテスト自動化の基盤として、継続的に安定と強化を追求 ● QAの費用対効果を意識しながら、積極的にテストの自動化を使用 ●
ゴリラテストで機械学習による、スクリプトなしの自動テストを実現 まとめ
94.
94 ご清聴 ありがとうございました
95.
95 質疑応答
Download