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

ゲームQAはノーコードの自動化で救えるのか? / Why QA learns programming?

ゲームQAはノーコードの自動化で救えるのか? / Why QA learns programming?

QAエンジニア勉強会 #3 の内容です。
https://qa-engineer-meetup.connpass.com/event/272831/

Tomotaka Yamasaki

March 02, 2023
Tweet

More Decks by Tomotaka Yamasaki

Other Decks in Programming

Transcript

  1. ©Akatsuki Games Inc.
    ゲームQAはノーコードの
    自動化で救えるのか?
    株式会社アカツキゲームス
    山﨑 友貴@tomo_tk11
    QAエンジニア勉強会 #3 2023-03-02

    View Slide

  2. ©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

    View Slide

  3. ©Akatsuki Games Inc.
    まくら(枕)
    0
    3

    View Slide

  4. ©Akatsuki Games Inc. 4
    会話型AIサービス(AIチャット)が
    世間を賑わせてますね。
    ● ChatGPT(OpenAI)
    ● Bing(Mircosoft)
    ● Bard(Google)

    View Slide

  5. ©Akatsuki Games Inc. 5
    良いかどうかは置いといて、
    AIが活用される場面も増えてきました。
    ● 自動運転(レベル3: 条件付き運転自動化)
    ● カスタマーサポート(AIチャットボット)
    ● イラスト(NovelAI など)
    ● 音楽(MusicLMなど)

    View Slide

  6. ©Akatsuki Games Inc. 6
    もちろん、QA x AI の事例も
    たくさんありますね。
    ● テスト実行時の操作自動化
    ● テスト実装時のテストケース作成支援
    ● 自動テストスクリプトの自動メンテナンス
    (オートヒーリング)
    AIを活用した自動テストツールの現状と未来|SHIFT Group 技術ブログ|note


    View Slide

  7. ©Akatsuki Games Inc. 7
    https://qiita.com/tomotaka-yamasaki/items/5d0631ce9ed47ed4e782


    View Slide

  8. ©Akatsuki Games Inc. 8
    ユニットテスト自動生成は無理そう。
    素数判定プログラム

    View Slide

  9. ©Akatsuki Games Inc. 9
    わかってそうでわかっていないデシジョンテーブル。
    https://point.rakuten.co.jp/guidance/rankkeep/


    View Slide

  10. ©Akatsuki Games Inc.
    現時点でChatGPTは
    ソフトウェアテスターにはなれなさそう
    ● 回答は間違っている場合が多いので鵜呑みにはできない
    ● 知識のあるソフトウェアテスターの力には、ギリギリなってくれそう
    ● ただ、対話だけでここまで確からしい回答が返ってくることは素晴らしい
    10
    AIを上手に使わないと良い仕事が
    できなくなる時代 はそう遠くないかも?

    View Slide

  11. ©Akatsuki Games Inc.
    ダイアログベースド
    テスティング の時代?
    ● テスト対象を熟知した AI と対話をしながらテストをする時代
    11
    AI との対話式テスト手法

    View Slide

  12. ©Akatsuki Games Inc.
    アカツキゲームスの紹介
    1
    12

    View Slide

  13. ©Akatsuki Games Inc. 13
    https://note.com/yukitotsuka/n/n84d6fc3356ad
    https://note.com/shuheiyamaguchi/n/na8de62d29fc8

    View Slide

  14. ©Akatsuki Games Inc.
    1
    アカツキゲームスの紹介
    MISSION、中期ゴール
    14
    https://games.aktsk.jp/about/


    View Slide

  15. ©Akatsuki Games Inc.
    QA自動化チームの紹介
    2
    15

    View Slide

  16. ©Akatsuki Games Inc.
    2
    QA自動化チームの紹介
    エンジニア職能に属するQA自動化チーム
    16
    Team
    A4
    先進的で積極的にアカツキゲームスを守るチームという意。
    QA x エンジニアの軸でテスト自動化やQA効率化を
    行うことでQAを支援する、エンジニア職能のPJT横断型独立組織。
    Advanced and Aggressive Aegis of Akatsuki Games

    View Slide

  17. ©Akatsuki Games Inc.
    2
    QA自動化チームの紹介
    A4チームが実現したい未来
    17
    ● 時間は有限である
    ● 機械的に行える作業はA4が自動化する
    ● 当たり前品質に向き合う時間を減らし、
    ワクワクできる魅力的な品質とは何かを追求する時間を増やすためのお手伝いをする
    人でしかできないことに、
    時間を使えるように

    View Slide

  18. ©Akatsuki Games Inc.
    本日の話の概要
    3
    18

    View Slide

  19. ©Akatsuki Games Inc.
    3
    本日の話の概要
    お話すること、しないこと
    19
    ● 以下の内容を、モバイルゲームアプリのQA視点から話します

    ○ ゲームの自動テストシステムの技術概要

    ○ ノーコード時代に、なぜプログラミングを学ぶのか

    ○ 自動テストが書けるようになるために、何をすればよいのか

    ● 自動テストシステムの技術詳細

    ○ 以下のブログを書いているので見てみてください

    ■ Airtest で CLI, IDE や AWS Device Farm, Local など様々なテスト実行手段、環境があっ
    たとしても楽に自動テストを実行する方法

    ■ AWS Device Farm で Airtest を動かす方法

    View Slide

  20. ©Akatsuki Games Inc.
    3
    本日の話の概要
    ターゲットリスナー
    20
    自動テスト
    書いてみたいなぁ。
    QAエンジニア興味あるけど、
    なにから始めたら良いかわからんなぁ。
    QA、テスター
    自動テストを書くことができる
    人、増やしたいんだよなぁ。
    QAエンジニア

    View Slide

  21. ©Akatsuki Games Inc.
    3
    本日の話の概要
    注意事項
    21
    他の自動テストのやり方を否定するものではありません。

    自動テストはそれぞれのドメインで、最適なやり方があります。 

    今回はディベロッパーのモバイルゲームQAの視点 から、

    「こういうやり方が良さそうだけど、どうだろうか?」という話をします。 


    View Slide

  22. ©Akatsuki Games Inc.
    ゲームQAの難しさ
    4
    22

    View Slide

  23. ©Akatsuki Games Inc. 23
    ゲームQAの難易度を高めている

    4つの要因


    View Slide

  24. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因
    24
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト

    更新頻度 x 更新量 =
    QAのコスト
    運用的開発
 新規的開発

    週単位のデータ更新(イベント、ガチャなど) 月単位のシステム変更(新機能アップデートなど)

    View Slide

  25. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因
    25
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト

    増え続ける機能 =
    増え続けるコスト
    ● リグレッションテストの項目が雪だるま式に増える
    ● とあるゲームプロジェクトの場合、約40機能、約9000項目、約60人日

    View Slide

  26. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因
    26
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト

    「ゲーム」構成要素の
    組み合わせ = ∞
    ● バトルだけでも、パラメータ x アクション x 状態 x … = ∞
    ● 簡単に組み合わせ爆発が起こる

    View Slide

  27. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因
    27
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト

    「おもしろい」の
    定義 = ?
    ● 「おもしろい」をテストすることの難易度がそもそも高い
    ● 定量的なテストの限界がある

    View Slide

  28. ©Akatsuki Games Inc.
    4
    1. 更新頻度 x 更新量 = QAのコスト
    運用的開発と新規的開発の更新頻度と量が多い。
    2. 増え続ける機能 = 増え続けるコスト
    リグレッションテストの項目が雪だるま式に増える。
    3. 「ゲーム」構成要素の組み合わせ = ∞
    簡単に組み合わせ爆発が起こる。
    4. 「おもしろい」の定義 = ?
    「おもしろい」をテストすることの難易度がそもそも高い。
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因まとめ
    28
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト


    View Slide

  29. ©Akatsuki Games Inc.
    4
    1. 更新頻度 x 更新量 = QAのコスト
    運用的開発と新規的開発の更新頻度と量が多い。
    2. 増え続ける機能 = 増え続けるコスト
    リグレッションテストの項目が雪だるま式に増える。
    3. 「ゲーム」構成要素の組み合わせ = ∞
    簡単に組み合わせ爆発が起こる。
    4. 「おもしろい」の定義 = ?
    「おもしろい」をテストすることの難易度がそもそも高い。
    ゲームQAの難しさ
    ゲームQAの難易度を高めている4つの要因まとめ
    29
    AWS DEV DAY 2022. AWS Device Farm と Airtest でモバイルゲーム自動テスト

    自動化に

    向いている要因


    View Slide

  30. ©Akatsuki Games Inc. 30
    なぜ自動テストを

    適用することが難しいのか


    View Slide

  31. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    自動テスト適用が難しい3つの理由
    31
    「おもしろい」の
    定義 = ?
    「ゲーム」構成要素の
    組み合わせ = ∞
    増え続ける機能 =
    増え続けるコスト
    更新頻度 x 更新量 =
    QAのコスト
    ゲームQAの難易度を高めている4つの要因
    木こりのジレンマが発生する
    進まない自動化…

    View Slide

  32. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    自動テスト適用が難しい3つの理由
    32
    簡単に扱える自動化ツールが
    発展しきっていない
    ● 汎用化の難易度が高い
    ○ 基本的にオーダーメイドなので汎用化しづらい
    ● ネイティブアプリケーションへの対応工数が増える
    ○ AndroidやiOS、専用ゲームハードOSへの対応で終端コードは個別実装せざるを得ない
    ● ノーコード、AI活用機能の開発難易度が高い
    ○ ゲーム特有の複雑な仕様や操作性が、ノーコードやAI活用機能の開発難易度を高めてしまっている

    View Slide

  33. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    自動テスト適用が難しい3つの理由
    33
    テストスキル
    ドメイン知識
    (アプリケーション領
    域のスキル)
    技術的スキル
    (関連技術)
    プロ意識
    テスト担当者が持つべき4つのスキル ゲームアプリケーションの
    技術的スキルの習得難易度が高い
    ● クライアント、サーバなどのゲームを
    構成するアーキテクチャの理解が必要
    ○ 技術の幅が広いし、深い
    ● ゲームアプリケーションによって
    アーキテクチャが異なる

    Rex Black. 基本から学ぶテストプロセス管理. 日経BP社. pp.266-271

    Rex Black. ソフトウェアテスト12の必勝プロセス. 日経BP社. p.193


    View Slide

  34. ©Akatsuki Games Inc.
    4
    ゲームQAの難しさ
    自動テスト適用が難しい3つの理由まとめ
    34
    1. ゲームQAの難しさが木こりのジレンマを発生させている
    よって、テスト自動化に着手できない。
    2. 簡単に扱える自動化ツールが発展しきっていない
    汎用化の難易度が高い。
    ネイティブアプリケーションへの対応工数が増える。
    ノーコード、AI活用機能の開発難易度が高い。
    3. ゲームアプリケーションの技術的スキルの習得難易度が高い
    技術の幅が広いし、深い、かつアプリケーションごとに異なる。

    View Slide

  35. ©Akatsuki Games Inc.
    ゲームテストを
    自動化する技術
    5
    35

    View Slide

  36. ©Akatsuki Games Inc.
    5
    ゲームテストを自動化する技術
    簡単に技術紹介
    36
    Airtest Poco

    View Slide

  37. ©Akatsuki Games Inc.
    5
    ● ゲームにフォーカスした自動テスト用のフレームワーク及びそのツール類

    ○ NetEaseから提供されている(オープンソース)

    ● IDEが提供されており、テストコードを気軽に記述できる

    ○ テストコードはPythonだが、IDEの機能で非エンジニアでも直感的に記述可能

    ● CLIでテスト実行も可能なので、CI環境で自動テストを実行させやすい

    ● 画像認識ベースのアプリケーションの自動テストを行う機能を持つ
    ゲームテストを自動化する技術
    Airtest - ゲームの自動化に特化したテストフレームワーク
    37
    https://airtest.netease.com/


    View Slide

  38. ©Akatsuki Games Inc.
    5
    ゲームテストを自動化する技術
    Airtest - ゲームの自動化に特化したテストフレームワーク
    38
    © Copyright 2018, Game-Netease Revision 55eaa08f.
    https://airtest.readthedocs.io/en/latest/index.html

    View Slide

  39. ©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


    View Slide

  40. ©Akatsuki Games Inc.
    5
    ゲームテストを自動化する技術
    Poco - アプリ内のメタ情報をAirtestで利用可能にする
    40
    © 1997 - 2023 NetEase, Inc. All Rights Reserved.
    https://github.com/AirtestProject/Poco

    View Slide

  41. ©Akatsuki Games Inc.
    5
    ● AirtestではテストスクリプトをPythonで記述する
    ● Autify, MagicPodのようなノーコードのテスト自動化サービスが台頭する時代
    ● 流れには逆行している
    ゲームテストを自動化する技術
    ノーコード時代に Python とは
    41
    それでも、コードを書くことによって
    得られる恩恵があると思っている

    View Slide

  42. ©Akatsuki Games Inc.
    プログラミング言語
    学習の恩恵
    6
    42

    View Slide

  43. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    テスト自動化に求められるスキルとは
    43

    View Slide

  44. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    開発エンジニア、QA、QAエンジニアの連携
    44

    View Slide

  45. ©Akatsuki Games Inc. 45
    開発エンジニアとの
    連携が取りやすくなる

    View Slide

  46. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    ゲームQAエンジニアのスキルセット
    46
    ゲーム開発技術
    * クライアント
    * Unity、UE4などのゲームエンジン
    * サーバ
    * AWS, GCPなどのインフラも含む
    テスト自動化技術
    * Airtestなどのテストフレームワーク
    * 自動テストをCI/CDに組み込む技術
    * Jenkins, AWS, GCPなど
    テストそのもののスキル
    * JSTQB など
    技術的スキル
    (関連技術)
    テストスキル

    View Slide

  47. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    ゲームQAエンジニアのスキルセット
    47
    技術的スキル
    (関連技術)
    テストスキル
    テスト自動化技術
    * Airtestなどのテストフレームワーク
    * 自動テストをCI/CDに組み込む技術
    * Jenkins, AWS, GCPなど
    テストそのもののスキル
    * JSTQB など
    ゲーム開発技術
    * クライアント
    * Unity、UE4などのゲームエンジン
    * サーバ
    * AWS, GCPなどのインフラも含む

    View Slide

  48. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    開発エンジニア、QA、QAエンジニアの連携
    48
    開発エンジニアの言ってること、やっ
    てることが理解できる。 


    View Slide

  49. ©Akatsuki Games Inc. 49
    開発エンジニアの領域に
    踏み込むことができる

    View Slide

  50. ©Akatsuki Games Inc.
    6
    ● Airtestだけを使うと、アプリに影響を与えずにテストを自動化することができる
    ● ただ、自動化後のメンテナンスコストがかかりすぎる
    プログラミング言語学習の恩恵
    Airtestだけでテストを自動化するとどうなるか
    50
    「おもしろい」の
    定義 = ?
    「ゲーム」構成要素の
    組み合わせ = ∞
    増え続ける機能 =
    増え続けるコスト
    更新頻度 x 更新量 =
    QAのコスト
    ゲームQAの難易度を高めている4つの要因

    View Slide

  51. ©Akatsuki Games Inc.
    6
    ● Pocoと合わせてAirtestを使うことで自動化の幅が広がる
    ○ UIオブジェクトの操作
    ○ ヒエラルキー情報の取得
    ○ PRCで内部関数呼び出し
    ● ゲーム開発の更新頻度の高さによるメンテナンスコストを下げることができる
    プログラミング言語学習の恩恵
    Airtest + Pocoでテストを自動化する
    51
    では、Pocoを導入するのは誰なのか?

    View Slide

  52. ©Akatsuki Games Inc.
    6
    ● Poco導入のためには以下の知識が必要
    ○ ゲームエンジン
    ○ クライアントコード
    ● 上記の知識を持っていれば、導入自体はそこまで難しくはない
    ○ Pocoの公式ドキュメントを見ることで1日もあれば導入可能
    ● ドキュメントを見ることもエンジニアの重要なスキル
    ○ ドキュメントを見る技術も、プログラミング技術
    ○ (エラーを読み解くとかも、一緒)
    プログラミング言語学習の恩恵
    Poco導入は開発エンジニアの領域
    52

    View Slide

  53. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    開発エンジニア、QA、QAエンジニアの連携
    53
    開発エンジニアの領域に踏み込み、QA
    エンジニアの自由度が上がる。 


    View Slide

  54. ©Akatsuki Games Inc. 54
    QAスキルを底上げ
    することができる

    View Slide

  55. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    エンジニア視点を持つことのメリット、デメリット
    55
    ● テスト精度が向上する

    ○ 欠陥の偏在を見つけることができる

    ○ エラー推測の精度が向上する

    ○ ソースコード変更の影響範囲が分かる

    ● エンジニアとより深い議論ができる

    ○ ユニットテストに対して適切に突っ込める

    ○ テストカバレッジを測定できる

    ○ 不具合の修正方針を提案できる

    メリット

    ● 内部構造を知りすぎてしまう

    ○ エンジニアの確証バイアスをQAでカバーできない

    ○ テストの抜け漏れが発生する

    デメリット

    QA Tech Night vol.2. QA組織が最後の砦から脱却するために


    View Slide

  56. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    開発エンジニア、QA、QAエンジニアの連携
    56
    エンジニア的視点を持つことで、 

    QAスキルが底上げされる。 


    View Slide

  57. ©Akatsuki Games Inc. 57
    最新技術をテストに
    活かすことができる

    View Slide

  58. ©Akatsuki Games Inc.
    6
    ● 技術的に難しい内容でも臆することなく、キャッチアップしにいける
    ○ 冒頭の対話型AIも最新技術の一つ
    ● キャッチアップする技術というよりは、いかに自分で壁を作らないかが重要
    ● アイデアを増やし、それらを組み合わせて良いものを作り上げるのは
    人間の強みである
    プログラミング言語学習の恩恵
    最新技術をキャッチアップする技術
    58

    View Slide

  59. ©Akatsuki Games Inc.
    6
    プログラミング言語学習の恩恵
    開発エンジニア、QA、QAエンジニアの連携
    59
    最新技術をキャッチアップし、 

    新時代のQAを描くことができる。 


    View Slide

  60. ©Akatsuki Games Inc.
    6
    1. 開発エンジニアとの連携が取りやすくなる
    開発エンジニアの言ってること、やってることが理解できる。
    2. 開発エンジニアの領域に踏み込むことができる
    開発エンジニアの領域に踏み込み、QAエンジニアの自由度が上がる。
    3. QAスキルを底上げすることができる
    エンジニア的視点を持つことで、QAスキルが底上げされる。
    4. 最新技術をテストに活かすことができる
    最新技術をキャッチアップし、新時代のQAを描くことができる。
    プログラミング言語学習の恩恵
    学ぶことによって得られる4つの恩恵まとめ
    60

    View Slide

  61. ©Akatsuki Games Inc.
    プログラミング言語
    を学ぶ最初の一歩論
    7
    61

    View Slide

  62. ©Akatsuki Games Inc. 62
    プログラミングに興味を持つ
    QAの方たちは社内でも多いです。

    View Slide

  63. ©Akatsuki Games Inc. 63
    でも、みんなこう言います。
    「何から始めたらええんか
    わからんのよ。」

    View Slide

  64. ©Akatsuki Games Inc.
    7
    プログラミング言語を学ぶ最初の一歩論
    何でも良いからやれよ、ではない
    64
    なんでも良いから技術本買って手
    を動かしたら?
    プログラミングは情報という学問
    だ!基礎から学習!さぁ、まずは
    基本情報技術者試験だ!!
    作りたいものを描くこと、
    そして作りたいという意思を持つこと
    経験の積み上げサイクル
    動くものから
    得られる情報は多い

    View Slide

  65. ©Akatsuki Games Inc.
    7
    1. 不安定な土台の上でも良いので、ハイスピードで積み上げる
    2. 積み上げて、見えた世界(解像度が上がった状態)で土台を固める
    プログラミング言語を学ぶ最初の一歩論
    ハイスピードで積み上げてから土台を固める
    65
    経験の積み上げサイクル
    どれだけ高速回転
    させることができるか?

    View Slide

  66. ©Akatsuki Games Inc.
    7
    プログラミング言語を学ぶ最初の一歩論
    ハイスピードで積み上げるコツ
    66
    メンテナンスから始めよう
    ● すでに動いているものをベースに改修を加えると良い
    ● 「動くものから得られる情報は多い」ので、改修前にシステムの全体像をつかみやすい
    ● 0 → 1ではなく、まずは、1.0 → 1.1 を実現することを目指す

    View Slide

  67. ©Akatsuki Games Inc.
    プログラミング言語
    学習のここが難しい
    8
    67

    View Slide

  68. ©Akatsuki Games Inc. 68
    「作りたいものは決まった、さぁやるぞ!」
    で、はじめにつまずくポイントはどこか?

    View Slide

  69. ©Akatsuki Games Inc. 69
    環境構築

    View Slide

  70. ©Akatsuki Games Inc.
    8
    1. 黒い画面(コンソール)での操作を伴うことが多い
    2. お手本と環境がずれる要因が多い
    ○ OSの種類(Windows, Mac, Linux)
    ○ 言語バージョン(メインバージョンのずれ)
    ○ マシンアーキテクチャ(Intel CPU、Arm CPU)
    3. 環境構築のための技術、がある
    ○ プログラミング言語を学習したいのに、そのためにまず環境構築の技術を習得するのは酷
    プログラミング言語学習のここが難しい
    なぜ環境構築でつまずくのか
    70
    膨大なネットの情報だけ見ても、
    それが正解かどうか判断できない事が多い

    View Slide

  71. ©Akatsuki Games Inc. 71
    環境構築を理解するのは今じゃなくていい。

    View Slide

  72. ©Akatsuki Games Inc. 72
    では、どうするか?

    View Slide

  73. ©Akatsuki Games Inc. 73
    回避。

    View Slide

  74. ©Akatsuki Games Inc.
    8
    1. 環境構築が不要な言語で作る
    ○ 業務改善にも使えるので、GASはおすすめ
    2. 自分の環境と同じ環境で学習できる書籍を買う
    ○ 愚直に、全部真似る
    3. ウェブで提供されている構築済みの環境を利用する
    ○ いわゆる、オンライン統合開発環境(replitなど)を利用する
    4. 仮想環境を構築する
    ○ Dockerなどを用いると実現できるが、難易度高し
    プログラミング言語学習のここが難しい
    環境構築を、避ける
    74
    https://replit.com/


    View Slide

  75. ©Akatsuki Games Inc.
    まとめ
    9
    75

    View Slide

  76. ©Akatsuki Games Inc.
    9
    まとめ
    ゲームQAはノーコードの自動化で救えるか?
    76
    ● ゲーム業界では、簡単に扱える自動化ツールが発展しきっていない
    ○ スクリプトをコーディングするテストフレームワークが有名
    ● ゲームQAの難易度の高さをノーコードで吸収しきれない可能性がある
    ● コードを書くことによって得られる恩恵がある
    ノーコードで自動化は
    しなくても良い、と思っている。

    View Slide

  77. ©Akatsuki Games Inc.
    9
    まとめ
    ノーコード時代にプログラミングを学習する理由
    77
    1. 開発エンジニアとの連携が取りやすくなる
    開発エンジニアの言ってること、やってることが理解できる。
    2. 開発エンジニアの領域に踏み込むことができる
    開発エンジニアの領域に踏み込み、QAエンジニアの自由度が上がる。
    3. QAスキルを底上げすることができる
    エンジニア的視点を持つことで、QAスキルが底上げされる。
    4. 最新技術をテストに活かすことができる
    最新技術をキャッチアップし、新時代のQAを描くことができる。

    View Slide

  78. ©Akatsuki Games Inc.
    9
    まとめ
    プログラミング学習の最初の一歩に必要なこと
    78
    1. 作りたいものを描くこと、作りたいという意思を持つこと
    モチベーションを維持し続ける。
    2. 経験の積み上げサイクルを高速に回すこと
    すでに動いているシステムのメンテナンスから始めるのがコツ。
    3. 環境構築で無駄につまらないこと
    できるだけ、避ける。

    View Slide

  79. ©Akatsuki Games Inc.
    9
    興味があればやってみよう。
    それが大事だ。
    まとめ
    一番伝えたいこと
    79

    View Slide

  80. ©Akatsuki Games Inc. 80
    一緒にQA自動化を推進してくれる仲間を募集しています。
    私(@tomo_tk11)まで気軽に Twitter DM ください。

    View Slide