Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ゲームQAはノーコードの自動化で救えるのか? / Why QA learns programm...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Tomotaka Yamasaki
March 02, 2023
Programming
670
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ゲームQAはノーコードの自動化で救えるのか? / Why QA learns programming?
QAエンジニア勉強会 #3 の内容です。
https://qa-engineer-meetup.connpass.com/event/272831/
Tomotaka Yamasaki
March 02, 2023
More Decks by Tomotaka Yamasaki
See All by Tomotaka Yamasaki
QAのマインドセットってなんなの? - QAが知るべき97のこと -
tomotaka_yamasaki
2
1.9k
QA組織が最後の砦から脱却するために
tomotaka_yamasaki
2
2.3k
チームでOpenGL ES勉強会をやってみた
tomotaka_yamasaki
0
2.9k
Other Decks in Programming
See All in Programming
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
660
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
160
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
Modding RubyKaigi for Myself
yui_knk
0
920
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
160
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
260
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
780
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
2
1.4k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
530
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
The agentic SEO stack - context over prompts
schlessera
0
810
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Balancing Empowerment & Direction
lara
6
1.2k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Amusing Abliteration
ianozsvald
1
200
Transcript
©Akatsuki Games Inc. ゲームQAはノーコードの 自動化で救えるのか? 株式会社アカツキゲームス 山﨑 友貴@tomo_tk11 QAエンジニア勉強会 #3
2023-03-02
©Akatsuki Games Inc. 自己紹介 株式会社アカツキゲームス QA自動化チーム Project Leader 山﨑 友貴
tomotaka-yamasaki Job: QA Engineer JSTQB FL/AL-TA資格保有 Twitter: @tomo_tk11 二児のパパ(3y, 1y) 子供の全力目覚ましで起きる日々。 2015 株式会社アカツキ エンジニア 新卒入社 オリジナルタイトルのゲーム運営チーム クライアントエンジニア 他社IPタイトルのゲーム運営チーム クライアントエンジニア 2017 他社IPタイトルのゲーム運営チーム クライアントエンジニアチームリーダー 2019 株式会社アカツキ福岡 出向 テストの自動化や効率化のチーム立ち上げ 各プロジェクトのテスト自動化、効率化に取り組みながら、 QA組織づくりに従事 現在 2022 株式会社アカツキゲームス QA自動化チーム Project Leaderに QAエンジニアとしてQA自動化に集中し、 タイトル横断PJTとして取り組んでいる 2
©Akatsuki Games Inc. まくら(枕) 0 3
©Akatsuki Games Inc. 4 会話型AIサービス(AIチャット)が 世間を賑わせてますね。 • ChatGPT(OpenAI) • Bing(Mircosoft)
• Bard(Google)
©Akatsuki Games Inc. 5 良いかどうかは置いといて、 AIが活用される場面も増えてきました。 • 自動運転(レベル3: 条件付き運転自動化) •
カスタマーサポート(AIチャットボット) • イラスト(NovelAI など) • 音楽(MusicLMなど)
©Akatsuki Games Inc. 6 もちろん、QA x AI の事例も たくさんありますね。 •
テスト実行時の操作自動化 • テスト実装時のテストケース作成支援 • 自動テストスクリプトの自動メンテナンス (オートヒーリング) AIを活用した自動テストツールの現状と未来|SHIFT Group 技術ブログ|note
©Akatsuki Games Inc. 7 https://qiita.com/tomotaka-yamasaki/items/5d0631ce9ed47ed4e782
©Akatsuki Games Inc. 8 ユニットテスト自動生成は無理そう。 素数判定プログラム
©Akatsuki Games Inc. 9 わかってそうでわかっていないデシジョンテーブル。 https://point.rakuten.co.jp/guidance/rankkeep/
©Akatsuki Games Inc. 現時点でChatGPTは ソフトウェアテスターにはなれなさそう • 回答は間違っている場合が多いので鵜呑みにはできない • 知識のあるソフトウェアテスターの力には、ギリギリなってくれそう •
ただ、対話だけでここまで確からしい回答が返ってくることは素晴らしい 10 AIを上手に使わないと良い仕事が できなくなる時代 はそう遠くないかも?
©Akatsuki Games Inc. ダイアログベースド テスティング の時代? • テスト対象を熟知した AI と対話をしながらテストをする時代
11 AI との対話式テスト手法
©Akatsuki Games Inc. アカツキゲームスの紹介 1 12
©Akatsuki Games Inc. 13 https://note.com/yukitotsuka/n/n84d6fc3356ad https://note.com/shuheiyamaguchi/n/na8de62d29fc8
©Akatsuki Games Inc. 1 アカツキゲームスの紹介 MISSION、中期ゴール 14 https://games.aktsk.jp/about/
©Akatsuki Games Inc. QA自動化チームの紹介 2 15
©Akatsuki Games Inc. 2 QA自動化チームの紹介 エンジニア職能に属するQA自動化チーム 16 Team A4 先進的で積極的にアカツキゲームスを守るチームという意。
QA x エンジニアの軸でテスト自動化やQA効率化を 行うことでQAを支援する、エンジニア職能のPJT横断型独立組織。 Advanced and Aggressive Aegis of Akatsuki Games
©Akatsuki Games Inc. 2 QA自動化チームの紹介 A4チームが実現したい未来 17 • 時間は有限である •
機械的に行える作業はA4が自動化する • 当たり前品質に向き合う時間を減らし、 ワクワクできる魅力的な品質とは何かを追求する時間を増やすためのお手伝いをする 人でしかできないことに、 時間を使えるように
©Akatsuki Games Inc. 本日の話の概要 3 18
©Akatsuki Games Inc. 3 本日の話の概要 お話すること、しないこと 19 • 以下の内容を、モバイルゲームアプリのQA視点から話します
◦ ゲームの自動テストシステムの技術概要 ◦ ノーコード時代に、なぜプログラミングを学ぶのか ◦ 自動テストが書けるようになるために、何をすればよいのか • 自動テストシステムの技術詳細 ◦ 以下のブログを書いているので見てみてください ▪ Airtest で CLI, IDE や AWS Device Farm, Local など様々なテスト実行手段、環境があっ たとしても楽に自動テストを実行する方法 ▪ AWS Device Farm で Airtest を動かす方法
©Akatsuki Games Inc. 3 本日の話の概要 ターゲットリスナー 20 自動テスト 書いてみたいなぁ。 QAエンジニア興味あるけど、
なにから始めたら良いかわからんなぁ。 QA、テスター 自動テストを書くことができる 人、増やしたいんだよなぁ。 QAエンジニア
©Akatsuki Games Inc. 3 本日の話の概要 注意事項 21 他の自動テストのやり方を否定するものではありません。 自動テストはそれぞれのドメインで、最適なやり方があります。
今回はディベロッパーのモバイルゲームQAの視点 から、 「こういうやり方が良さそうだけど、どうだろうか?」という話をします。
©Akatsuki Games Inc. ゲームQAの難しさ 4 22
©Akatsuki Games Inc. 23 ゲームQAの難易度を高めている 4つの要因
©Akatsuki Games Inc. 4 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因 24 AWS DEV DAY
2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト 更新頻度 x 更新量 = QAのコスト 運用的開発 新規的開発 週単位のデータ更新(イベント、ガチャなど) 月単位のシステム変更(新機能アップデートなど)
©Akatsuki Games Inc. 4 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因 25 AWS DEV DAY
2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト 増え続ける機能 = 増え続けるコスト • リグレッションテストの項目が雪だるま式に増える • とあるゲームプロジェクトの場合、約40機能、約9000項目、約60人日
©Akatsuki Games Inc. 4 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因 26 AWS DEV DAY
2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト 「ゲーム」構成要素の 組み合わせ = ∞ • バトルだけでも、パラメータ x アクション x 状態 x … = ∞ • 簡単に組み合わせ爆発が起こる
©Akatsuki Games Inc. 4 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因 27 AWS DEV DAY
2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト 「おもしろい」の 定義 = ? • 「おもしろい」をテストすることの難易度がそもそも高い • 定量的なテストの限界がある
©Akatsuki Games Inc. 4 1. 更新頻度 x 更新量 = QAのコスト
運用的開発と新規的開発の更新頻度と量が多い。 2. 増え続ける機能 = 増え続けるコスト リグレッションテストの項目が雪だるま式に増える。 3. 「ゲーム」構成要素の組み合わせ = ∞ 簡単に組み合わせ爆発が起こる。 4. 「おもしろい」の定義 = ? 「おもしろい」をテストすることの難易度がそもそも高い。 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因まとめ 28 AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト
©Akatsuki Games Inc. 4 1. 更新頻度 x 更新量 = QAのコスト
運用的開発と新規的開発の更新頻度と量が多い。 2. 増え続ける機能 = 増え続けるコスト リグレッションテストの項目が雪だるま式に増える。 3. 「ゲーム」構成要素の組み合わせ = ∞ 簡単に組み合わせ爆発が起こる。 4. 「おもしろい」の定義 = ? 「おもしろい」をテストすることの難易度がそもそも高い。 ゲームQAの難しさ ゲームQAの難易度を高めている4つの要因まとめ 29 AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト 自動化に 向いている要因
©Akatsuki Games Inc. 30 なぜ自動テストを 適用することが難しいのか
©Akatsuki Games Inc. 4 ゲームQAの難しさ 自動テスト適用が難しい3つの理由 31 「おもしろい」の 定義 =
? 「ゲーム」構成要素の 組み合わせ = ∞ 増え続ける機能 = 増え続けるコスト 更新頻度 x 更新量 = QAのコスト ゲームQAの難易度を高めている4つの要因 木こりのジレンマが発生する 進まない自動化…
©Akatsuki Games Inc. 4 ゲームQAの難しさ 自動テスト適用が難しい3つの理由 32 簡単に扱える自動化ツールが 発展しきっていない •
汎用化の難易度が高い ◦ 基本的にオーダーメイドなので汎用化しづらい • ネイティブアプリケーションへの対応工数が増える ◦ AndroidやiOS、専用ゲームハードOSへの対応で終端コードは個別実装せざるを得ない • ノーコード、AI活用機能の開発難易度が高い ◦ ゲーム特有の複雑な仕様や操作性が、ノーコードやAI活用機能の開発難易度を高めてしまっている
©Akatsuki Games Inc. 4 ゲームQAの難しさ 自動テスト適用が難しい3つの理由 33 テストスキル ドメイン知識 (アプリケーション領
域のスキル) 技術的スキル (関連技術) プロ意識 テスト担当者が持つべき4つのスキル ゲームアプリケーションの 技術的スキルの習得難易度が高い • クライアント、サーバなどのゲームを 構成するアーキテクチャの理解が必要 ◦ 技術の幅が広いし、深い • ゲームアプリケーションによって アーキテクチャが異なる 難 Rex Black. 基本から学ぶテストプロセス管理. 日経BP社. pp.266-271 Rex Black. ソフトウェアテスト12の必勝プロセス. 日経BP社. p.193
©Akatsuki Games Inc. 4 ゲームQAの難しさ 自動テスト適用が難しい3つの理由まとめ 34 1. ゲームQAの難しさが木こりのジレンマを発生させている よって、テスト自動化に着手できない。
2. 簡単に扱える自動化ツールが発展しきっていない 汎用化の難易度が高い。 ネイティブアプリケーションへの対応工数が増える。 ノーコード、AI活用機能の開発難易度が高い。 3. ゲームアプリケーションの技術的スキルの習得難易度が高い 技術の幅が広いし、深い、かつアプリケーションごとに異なる。
©Akatsuki Games Inc. ゲームテストを 自動化する技術 5 35
©Akatsuki Games Inc. 5 ゲームテストを自動化する技術 簡単に技術紹介 36 Airtest Poco
©Akatsuki Games Inc. 5 • ゲームにフォーカスした自動テスト用のフレームワーク及びそのツール類 ◦ NetEaseから提供されている(オープンソース) •
IDEが提供されており、テストコードを気軽に記述できる ◦ テストコードはPythonだが、IDEの機能で非エンジニアでも直感的に記述可能 • CLIでテスト実行も可能なので、CI環境で自動テストを実行させやすい • 画像認識ベースのアプリケーションの自動テストを行う機能を持つ ゲームテストを自動化する技術 Airtest - ゲームの自動化に特化したテストフレームワーク 37 https://airtest.netease.com/
©Akatsuki Games Inc. 5 ゲームテストを自動化する技術 Airtest - ゲームの自動化に特化したテストフレームワーク 38 ©
Copyright 2018, Game-Netease Revision 55eaa08f. https://airtest.readthedocs.io/en/latest/index.html
©Akatsuki Games Inc. 5 • アプリ内のメタ情報をAirtestで利用可能にするための自動テスト用 フレームワーク ◦ Airtest同様NetEaseから提供されている(オープンソース)
• GameObjectのヒエラルキーの情報などを解析、オブジェクト名で検索 することでそのUI情報を取得し、スクリプト内で操作することができる • RPC(Remote Procedure Call)を介してアプリ内の任意の処理をコール することも可能 • Unity 3D、Cocos2d-*、Android、iOSのアプリに対応 ゲームテストを自動化する技術 Poco - アプリ内のメタ情報をAirtestで利用可能にする 39 https://github.com/AirtestProject/Poco
©Akatsuki Games Inc. 5 ゲームテストを自動化する技術 Poco - アプリ内のメタ情報をAirtestで利用可能にする 40 ©
1997 - 2023 NetEase, Inc. All Rights Reserved. https://github.com/AirtestProject/Poco
©Akatsuki Games Inc. 5 • AirtestではテストスクリプトをPythonで記述する • Autify, MagicPodのようなノーコードのテスト自動化サービスが台頭する時代 •
流れには逆行している ゲームテストを自動化する技術 ノーコード時代に Python とは 41 それでも、コードを書くことによって 得られる恩恵があると思っている
©Akatsuki Games Inc. プログラミング言語 学習の恩恵 6 42
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 テスト自動化に求められるスキルとは 43
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 開発エンジニア、QA、QAエンジニアの連携 44
©Akatsuki Games Inc. 45 開発エンジニアとの 連携が取りやすくなる
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 ゲームQAエンジニアのスキルセット 46 ゲーム開発技術 * クライアント
* Unity、UE4などのゲームエンジン * サーバ * AWS, GCPなどのインフラも含む テスト自動化技術 * Airtestなどのテストフレームワーク * 自動テストをCI/CDに組み込む技術 * Jenkins, AWS, GCPなど テストそのもののスキル * JSTQB など 技術的スキル (関連技術) テストスキル
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 ゲームQAエンジニアのスキルセット 47 技術的スキル (関連技術) テストスキル
テスト自動化技術 * Airtestなどのテストフレームワーク * 自動テストをCI/CDに組み込む技術 * Jenkins, AWS, GCPなど テストそのもののスキル * JSTQB など ゲーム開発技術 * クライアント * Unity、UE4などのゲームエンジン * サーバ * AWS, GCPなどのインフラも含む
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 開発エンジニア、QA、QAエンジニアの連携 48 開発エンジニアの言ってること、やっ てることが理解できる。
©Akatsuki Games Inc. 49 開発エンジニアの領域に 踏み込むことができる
©Akatsuki Games Inc. 6 • Airtestだけを使うと、アプリに影響を与えずにテストを自動化することができる • ただ、自動化後のメンテナンスコストがかかりすぎる プログラミング言語学習の恩恵 Airtestだけでテストを自動化するとどうなるか
50 「おもしろい」の 定義 = ? 「ゲーム」構成要素の 組み合わせ = ∞ 増え続ける機能 = 増え続けるコスト 更新頻度 x 更新量 = QAのコスト ゲームQAの難易度を高めている4つの要因
©Akatsuki Games Inc. 6 • Pocoと合わせてAirtestを使うことで自動化の幅が広がる ◦ UIオブジェクトの操作 ◦ ヒエラルキー情報の取得
◦ PRCで内部関数呼び出し • ゲーム開発の更新頻度の高さによるメンテナンスコストを下げることができる プログラミング言語学習の恩恵 Airtest + Pocoでテストを自動化する 51 では、Pocoを導入するのは誰なのか?
©Akatsuki Games Inc. 6 • Poco導入のためには以下の知識が必要 ◦ ゲームエンジン ◦ クライアントコード
• 上記の知識を持っていれば、導入自体はそこまで難しくはない ◦ Pocoの公式ドキュメントを見ることで1日もあれば導入可能 • ドキュメントを見ることもエンジニアの重要なスキル ◦ ドキュメントを見る技術も、プログラミング技術 ◦ (エラーを読み解くとかも、一緒) プログラミング言語学習の恩恵 Poco導入は開発エンジニアの領域 52
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 開発エンジニア、QA、QAエンジニアの連携 53 開発エンジニアの領域に踏み込み、QA エンジニアの自由度が上がる。
©Akatsuki Games Inc. 54 QAスキルを底上げ することができる
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 エンジニア視点を持つことのメリット、デメリット 55 • テスト精度が向上する ◦
欠陥の偏在を見つけることができる ◦ エラー推測の精度が向上する ◦ ソースコード変更の影響範囲が分かる • エンジニアとより深い議論ができる ◦ ユニットテストに対して適切に突っ込める ◦ テストカバレッジを測定できる ◦ 不具合の修正方針を提案できる メリット • 内部構造を知りすぎてしまう ◦ エンジニアの確証バイアスをQAでカバーできない ◦ テストの抜け漏れが発生する デメリット QA Tech Night vol.2. QA組織が最後の砦から脱却するために
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 開発エンジニア、QA、QAエンジニアの連携 56 エンジニア的視点を持つことで、 QAスキルが底上げされる。
©Akatsuki Games Inc. 57 最新技術をテストに 活かすことができる
©Akatsuki Games Inc. 6 • 技術的に難しい内容でも臆することなく、キャッチアップしにいける ◦ 冒頭の対話型AIも最新技術の一つ • キャッチアップする技術というよりは、いかに自分で壁を作らないかが重要
• アイデアを増やし、それらを組み合わせて良いものを作り上げるのは 人間の強みである プログラミング言語学習の恩恵 最新技術をキャッチアップする技術 58
©Akatsuki Games Inc. 6 プログラミング言語学習の恩恵 開発エンジニア、QA、QAエンジニアの連携 59 最新技術をキャッチアップし、 新時代のQAを描くことができる。
©Akatsuki Games Inc. 6 1. 開発エンジニアとの連携が取りやすくなる 開発エンジニアの言ってること、やってることが理解できる。 2. 開発エンジニアの領域に踏み込むことができる 開発エンジニアの領域に踏み込み、QAエンジニアの自由度が上がる。
3. QAスキルを底上げすることができる エンジニア的視点を持つことで、QAスキルが底上げされる。 4. 最新技術をテストに活かすことができる 最新技術をキャッチアップし、新時代のQAを描くことができる。 プログラミング言語学習の恩恵 学ぶことによって得られる4つの恩恵まとめ 60
©Akatsuki Games Inc. プログラミング言語 を学ぶ最初の一歩論 7 61
©Akatsuki Games Inc. 62 プログラミングに興味を持つ QAの方たちは社内でも多いです。
©Akatsuki Games Inc. 63 でも、みんなこう言います。 「何から始めたらええんか わからんのよ。」
©Akatsuki Games Inc. 7 プログラミング言語を学ぶ最初の一歩論 何でも良いからやれよ、ではない 64 なんでも良いから技術本買って手 を動かしたら? プログラミングは情報という学問
だ!基礎から学習!さぁ、まずは 基本情報技術者試験だ!! 作りたいものを描くこと、 そして作りたいという意思を持つこと 経験の積み上げサイクル 動くものから 得られる情報は多い
©Akatsuki Games Inc. 7 1. 不安定な土台の上でも良いので、ハイスピードで積み上げる 2. 積み上げて、見えた世界(解像度が上がった状態)で土台を固める プログラミング言語を学ぶ最初の一歩論 ハイスピードで積み上げてから土台を固める
65 経験の積み上げサイクル どれだけ高速回転 させることができるか?
©Akatsuki Games Inc. 7 プログラミング言語を学ぶ最初の一歩論 ハイスピードで積み上げるコツ 66 メンテナンスから始めよう • すでに動いているものをベースに改修を加えると良い
• 「動くものから得られる情報は多い」ので、改修前にシステムの全体像をつかみやすい • 0 → 1ではなく、まずは、1.0 → 1.1 を実現することを目指す
©Akatsuki Games Inc. プログラミング言語 学習のここが難しい 8 67
©Akatsuki Games Inc. 68 「作りたいものは決まった、さぁやるぞ!」 で、はじめにつまずくポイントはどこか?
©Akatsuki Games Inc. 69 環境構築
©Akatsuki Games Inc. 8 1. 黒い画面(コンソール)での操作を伴うことが多い 2. お手本と環境がずれる要因が多い ◦ OSの種類(Windows,
Mac, Linux) ◦ 言語バージョン(メインバージョンのずれ) ◦ マシンアーキテクチャ(Intel CPU、Arm CPU) 3. 環境構築のための技術、がある ◦ プログラミング言語を学習したいのに、そのためにまず環境構築の技術を習得するのは酷 プログラミング言語学習のここが難しい なぜ環境構築でつまずくのか 70 膨大なネットの情報だけ見ても、 それが正解かどうか判断できない事が多い
©Akatsuki Games Inc. 71 環境構築を理解するのは今じゃなくていい。
©Akatsuki Games Inc. 72 では、どうするか?
©Akatsuki Games Inc. 73 回避。
©Akatsuki Games Inc. 8 1. 環境構築が不要な言語で作る ◦ 業務改善にも使えるので、GASはおすすめ 2. 自分の環境と同じ環境で学習できる書籍を買う
◦ 愚直に、全部真似る 3. ウェブで提供されている構築済みの環境を利用する ◦ いわゆる、オンライン統合開発環境(replitなど)を利用する 4. 仮想環境を構築する ◦ Dockerなどを用いると実現できるが、難易度高し プログラミング言語学習のここが難しい 環境構築を、避ける 74 https://replit.com/
©Akatsuki Games Inc. まとめ 9 75
©Akatsuki Games Inc. 9 まとめ ゲームQAはノーコードの自動化で救えるか? 76 • ゲーム業界では、簡単に扱える自動化ツールが発展しきっていない ◦
スクリプトをコーディングするテストフレームワークが有名 • ゲームQAの難易度の高さをノーコードで吸収しきれない可能性がある • コードを書くことによって得られる恩恵がある ノーコードで自動化は しなくても良い、と思っている。
©Akatsuki Games Inc. 9 まとめ ノーコード時代にプログラミングを学習する理由 77 1. 開発エンジニアとの連携が取りやすくなる 開発エンジニアの言ってること、やってることが理解できる。
2. 開発エンジニアの領域に踏み込むことができる 開発エンジニアの領域に踏み込み、QAエンジニアの自由度が上がる。 3. QAスキルを底上げすることができる エンジニア的視点を持つことで、QAスキルが底上げされる。 4. 最新技術をテストに活かすことができる 最新技術をキャッチアップし、新時代のQAを描くことができる。
©Akatsuki Games Inc. 9 まとめ プログラミング学習の最初の一歩に必要なこと 78 1. 作りたいものを描くこと、作りたいという意思を持つこと モチベーションを維持し続ける。
2. 経験の積み上げサイクルを高速に回すこと すでに動いているシステムのメンテナンスから始めるのがコツ。 3. 環境構築で無駄につまらないこと できるだけ、避ける。
©Akatsuki Games Inc. 9 興味があればやってみよう。 それが大事だ。 まとめ 一番伝えたいこと 79
©Akatsuki Games Inc. 80 一緒にQA自動化を推進してくれる仲間を募集しています。 私(@tomo_tk11)まで気軽に Twitter DM ください。