SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
1

ゴリラテスト
モバイルゲームのUIを自動的に検出・操作する
モンキーテスト
○ニャムフー ガンバト、濱田 直希、山崎 大地、下斗米 貴之、高田 敦史(KLab株式会社)
2P6-GS-10-03
2

短いリリースサイクル
テストコードがすぐに古くなる
● 2週間に1度コンテンツ配信
● 1ヶ月に1度アプリのアップデート
● テストコードも頻繁にメンテナンスが必要
世界中の様々な端末でプレイされる
様々な条件でテストが必要
● 様々な機種・OS
● 国によって言語やコンテンツが異なる
● アプリのバージョンによってUIが異なる

背景:モバイルゲームには自動UIテストが必要
アップデート
コンテンツ
配信
世界50か国以上
に配信
1000万人以上
がプレイ
3

手動テスト モンキーテスト スクリプトテスト
テストのやり方
テスターがUIを操作し、期待通りに
動作しているか確認する[1,2]
画面をランダムに操作するソ
フトを実行する[1,2]
テストシナリオのスクリプトを
作成し、実行する
利点
細かいユーザ体験まで確認できる
[1,2]
簡単に使える
人間が想定しない不具合も発
見できる[2]
網羅性が高い
多数の端末でテストできる[2]
欠点
時間とコストがかかる
少数の端末でしかテストできない
[1,2]
網羅性が悪い
UI階層の深いところのテスト
が難しい[1]
メンテが大変
アプリの更新やOS毎にテスト
コードも変更が必要[1]
既存のUIテストの問題点
[1] Liu, Zhe, et al. "Guided bug crush: Assist manual gui testing of android apps via hint moves." CHI Conference on Human Factors in Computing Systems. 2022.
[2] Mohammed, Mostafa, Haipeng Cai, and Na Meng. "An empirical comparison between monkey testing and human testing (WIP paper)." Proceedings of the 20th ACM SIGPLAN/SIGBED
International Conference on Languages, Compilers, and Tools for Embedded Systems. 2019.
4

短いリリースサイクルで網羅性の高いテストを可能する自動UIテストツール
● 手動テストよりも低コストで多数の端末をテスト
○ PCとデバッグ端末でテストが自動的に行える
○ テストを簡単に管理できる
■ テスト領域の確認
■ メトリクス(CPU、メモリの使用率など)の取得
● モンキーテストよりも網羅性が高い
○ 自動的にシーンを認識する
○ 同じシーンでは一度実行した操作を繰り返さない
○ 人間が考えるシナリオ以外のところもテストする
● スクリプトテストよりもメンテナンス性が良い
○ テストシナリオの作成を必要としない
■ UIを自動的に検出し、操作する
■ アプリ改変時にテストコードの改修が少ない
ゴリラテストとは
ゴリラテスト
QAエンジニア
ゲーム開発チーム 1
ゲーム開発チーム 2
5

社内向けリズムゲームでの動作例
● ホーム画面からスタート
● ユニット選択、ゲーム設定などの
複数の画面に進行
● 「通信エラー」の不具合を発見
● デバッグ用の改修一切なし
動作デモ
*資料の方は動画を省略しています
6

初期設定
必要なパッケージのインストール。PCとモバイル端末の接続など
スナップショット
デバッグ端末のスナップショット画像を取得する
UI検出
スナップショット画像から実行可能なUIを検出する
例:UIの座標を返す
シーン認識
スナップショット画像からシーンを判定する
現在のシーンを過去のシーンと比較する
例:ホーム画面、選曲画面、ゲーム画面...
UI選択および操作
シーンとUIのセットから実行するUI操作を1つ選択する
例:ランダムに選択、実行回数が少数のUI操作から1つ選択
シーン遷移図の更新
シーン遷移図(グラフ)を管理する。ノードやエッジの追加、保存など
終了条件
ユーザが目的に応じて設定する。例:シーンの数
メインループ
7

UIを検出し、操作することでシーンが変わっていく。
この一連の動作をシーン遷移図(有向グラフ)で
表すことができる。
● シーン遷移図
○ ノードはシーンを表す
■ 例:ホーム画面、選曲、…
○ エッジはUI操作を表す
■ 例:タッチ、スワイプ、…
シーン遷移図
図. シーン遷移図
ホーム画面
ユニット編
成
ゲーム
選曲
8

シーン遷移図
シーン遷移図:
・ノードをマウスホバーする
と他の3つの画面で詳細情
報を提示する
特定のシーン(ノード)の
詳細の情報:
・snapshotの画像リスト
・実行したUI操作の一覧
 ・action_id
 ・next_node
 ・performed_count
 ・action_type
特定のシーン(ノード)のス
ナップショット:
・クリックした座標
・action_idとnext_node
特定のシーン(ノード)の類
似のスナップショット
テスト結果の可視化機能
*資料の方は動画を省略しています
9

シーン認識
リサイズし、
グレイスケールに変換
K: hash size

K

K+1

Dhash
(difference hash):
右側のピクセルとの
差分をとり、
ビットで表す 

1 0 0 . . . 1
0 1 1 . . . 0
0 0 1 . . . 1
. . .
. . .
K

K

スナップショット画像からどんなシーンなのか判定する
● 高速な画像類似度の算出が必要
● Locality Sensitive Hashing (LSH) [3]アルゴリズムを利用
○ 近似最近傍探索手法の一種である
○ 画像を比較可能なハッシュ値に変換
○ 大規模画像データから高速に類似検索に利用される
入力画像
Buckets
. . . . .
⭐
⭐
⭐
各バケット内で
ハッシュ値の衝突が
起こると類似画像と
して候補
[3] Indyk, Piotr, and Rajeev Motwani. "Approximate nearest neighbors: towards removing the curse of dimensionality." Proceedings of the thirtieth annual ACM symposium on Theory of computing.
1998.
10

UI検出
● UI検出においてディープラーニングベースの
物体検出手法は精度がよくない [4, 5]
○ ゲームのUIは複雑
■ クラス内の分散が大きい
■ クラス間の類似性が高い
○ 一般的な物体と特徴が異なる
■ 様々な要素の組み合わせ
■ まとめられたシーンと近接した要素
● 画像処理ベースの手法で同等の精度 [4, 5]

○ データのアノテーションを必要としない
○ モデルの学習や開発コスト、
デプロイが容易にできる
○ 推論時間が短い


図. UI検出例
[4] Chen, J., Xie, M., Xing, Z., Chen, C., Xu, X., Zhu, L., & Li, G. (2020, November). Object detection for graphical user interface: old fashioned or deep learning or a combination?. In proceedings of
the 28th ACM joint meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 1202-1214).
[5] Xie, M., Feng, S., Xing, Z., Chen, J., & Chen, C. (2020, November). UIED: a hybrid tool for GUI element detection. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering
Conference and Symposium on the Foundations of Software Engineering (pp. 1655-1659).
11

テスト中に下記項目を計測して性能面の問題を検出できる
(計測できる項目は機種により異なる)
● CPU
○ 全CPUの統計,CPU毎の統計
○ 特定のプロセスIDに関する統計
○ クロック,温度
● メモリ
○ 現在の使用状況,過去n時間の使用状況の統計
○ 特定のプロセスIDに関する使用状況の統計
● ネットワーク
○ ネットワークインターフェース一覧,
○ インターフェース毎の送受信量履歴など
● バッテリー
○ バッテリー残量,温度,電圧,充電中かどうかなど
ログ出力
UIテスト
結果確認
性能メトリクスの計測
CPU
メモリ
バッテリー
100
100
100
t
t
t
開発者
図. メトリクス確認
12

各モジュールの処理時間
● 1イテレーションあたり 1.08秒程度
● UI検出に0.5秒程度かかる
○ GPUなしの環境で実用レベル
テスト環境
● PC
○ OS: MacOS
○ CPU: Intel Core i7, 2.3 GHz, 8 core
○ メモリ:RAM 16GB
● モバイル端末
○ Galaxy S21 5G SCG09
処理時間
スナップショット 0.1565
UI検出 0.5063
シーン認識 0.0260
UI選択および操作 0.3920
シーン遷移図の更新 0.0030
合計 1.0838
表. 平均処理時間(秒)
13

[5] Bradski, Gary, and Adrian Kaehler. "OpenCV." Dr. Dobb’s journal of software tools 3 (2000): 2.
シーン認識におけるLSHの有効性
テンプレートマッチング [5]との比較実験
● 処理時間が短い
○ 画像処理ではなく、距離計算に基づく
● 安定した動作
○ サンプルによる分散が小さい
● 全検索を行わない
○ 同じハッシュ値を持つシーンに絞られる
● 少量のメモリーで対応できる
○ 画像を扱わない


LSHの有効性
LSH テンプレートマッチング
平均 0.0236 2.4959
標準偏差 0.0015 5.7269
表. 処理時間の平均と標準偏差(秒)
図. 処理時間(対数秒)
14

UI検出の指標はシーン遷移率
● 全イテレーションにおけるシーンが遷移した割合
● シーン遷移率は0.5程度
○ 2秒に1回程度のUI操作(実用レベル)
● UI検出の性能に依存する
○ 誤検出が少ないと
シーン遷移率は高くなる
網羅性の指標はユニークなシーン数
● 特定のシーンに留まらない
○ 操作されていないUIを優先する
○ シーンシーケンスのサイクル判定
性能指標
図. ユニークなシーン数
図. シーン遷移率
15

● UIテストには手動テスト、モンキーテスト、スクリプトテストがある
○ 手動テストは複雑な不具合が発見できるが、時間とコストがかかり、短いリリースサイクルに対応できない
○ モンキーテストは簡単に使えるが、網羅性が悪い
○ スクリプトテストは網羅性が良いが、メンテナンスが大変
● 3つのテスト方式の欠点を改善した、開発初期から導入できる 自動UIテストツール
○ 手動テストよりも時間とコストを抑える
■ PCとモバイル端末でテストが行える
○ モンキーテストよりも網羅性が高い
■ LSHによる高速な画像類似検索に基づいた自動シーン認識
■ 合理的なUI操作(実行されていないUIを優先するなど)
○ スクリプトテストよりもメンテナンス性が良い
■ UIを自動的に検出し、操作するためテストシナリオの作成が不要
■ アプリ改変時にテストコードの改修が少ない
まとめ
開発者

Weitere ähnliche Inhalte

Was ist angesagt?

日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
kumake
 

Was ist angesagt? (20)

分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
MLOps に基づく AI/ML 実運用最前線 ~画像、動画データにおける MLOps 事例のご紹介~(映像情報メディア学会2021年冬季大会企画セッショ...
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
日本語テストメソッドについて
日本語テストメソッドについて日本語テストメソッドについて
日本語テストメソッドについて
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 

Ähnlich wie ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト

みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
Takahiro KUREBAYASHI
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
cat kaotaro
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Koji Hasegawa
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 

Ähnlich wie ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト (20)

Android0422
Android0422Android0422
Android0422
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
 
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてデバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
 
Android & Nui & Physical Computing
Android & Nui & Physical ComputingAndroid & Nui & Physical Computing
Android & Nui & Physical Computing
 
Google io2011報告
Google io2011報告Google io2011報告
Google io2011報告
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
ngCore engine for mobage platform
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
Ppt touya g
Ppt touya gPpt touya g
Ppt touya g
 
Ppt touya g
Ppt touya gPpt touya g
Ppt touya g
 
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
ヒューマノイドのアプリ開発とモーション生成AIの導入 ROS JP UG #51
 
センサー&クラウドを体験しよう
センサー&クラウドを体験しようセンサー&クラウドを体験しよう
センサー&クラウドを体験しよう
 
Imaocande LT
Imaocande LTImaocande LT
Imaocande LT
 
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
Xcode 7におけるUIテストとカバレジ計測 #yidev 第20回勉強会
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 

Mehr von KLab Inc. / Tech

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
KLab Inc. / Tech
 

Mehr von KLab Inc. / Tech (20)

大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
 
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話 運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
 
生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方生成AIが切り拓く新しいゲームの創り方・遊び方
生成AIが切り拓く新しいゲームの創り方・遊び方
 
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
 
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
 
他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話他業界からゲーム業界へ転向したときの話
他業界からゲーム業界へ転向したときの話
 
KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境KLabのゲーム開発を支える開発環境
KLabのゲーム開発を支える開発環境
 
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
 
「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発「リアルISUCON」としてのモバイルオンラインゲーム開発
「リアルISUCON」としてのモバイルオンラインゲーム開発
 
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術モバイルアプリの高速で安定したビルドを支えるJenkins運用術
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
 
KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷KLabのチャットシステム インフラ変遷
KLabのチャットシステム インフラ変遷
 
Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話Ganglia のUIにGrafanaを追加する話
Ganglia のUIにGrafanaを追加する話
 
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
 
属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話属人化して詰まってた作業を自動化で楽しようとした話
属人化して詰まってた作業を自動化で楽しようとした話
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
 
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介モバイルオンラインゲームにおけるUIエンジニアの業務紹介
モバイルオンラインゲームにおけるUIエンジニアの業務紹介
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話ワールド別のDBへの取得・更新に後から対応した話
ワールド別のDBへの取得・更新に後から対応した話
 
運営型モバイルゲームの運用について
運営型モバイルゲームの運用について運営型モバイルゲームの運用について
運営型モバイルゲームの運用について
 

ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト