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

ゲームのテスト設計のチャレンジ

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 ゲームのテスト設計のチャレンジ

Avatar for Shinsuke Matsuki(snsk)

Shinsuke Matsuki(snsk)

January 20, 2025
Tweet

More Decks by Shinsuke Matsuki(snsk)

Other Decks in Technology

Transcript

  1. スピーカー 松木 晋祐(Shinsuke Matsuki/@snsk) 株式会社ベリサーブ 執行役員 研究企画開発部長 AIQVE ONE株式会社 取締役CTO

    独立系ソフトウェアベンダにて、テストオペレータから品質部門統括まで、ソフトウェアテストと品質保証にま つわるさまざまなロールを経験後、ベリサーブ・AIQVE ONEへ参画。 NPOソフトウェアテスト技術者振興協会 会員 | テスト自動化研究会 ファウンダー Androidテスト部 ファウンダー | 東京電機大学 非常勤講師 | ISO/IEC/IEEE 29119-9 Editor W3C CSSWG コントリビューター | JSTQB Technical Committee など 共著/共訳/寄稿など
  2. テストアーキテクチャってなに • テスト開発において、テスト要求分析(TRA)とテスト詳細設計(TD)の間に入 る工程の成果物。システム開発における基本設計(外部設計)に該当 • テスト観点を扱いやすい粒度まで分解、体系化して、テスト全体の要素と構造 を明らかにする ◦ テストタイプなど、すごく大きな粒度で扱うこともあれば、テスト観点レベルで構造化すること もある。HAYST法におけるFV表(たぶん)、VSTePにおけるNGT(Notation

    for Generic Testing)、などが該当 • テストレベルは一部または全てを含む。これは組織による • 本用語、工程における国際的な合意は無い ◦ 無いし、テストアーキテクチャはこう描くという決まりも無い 本定義、及び僕の定義は以下の基本的に秋山さん資料に従っています https://www.jasst.jp/symposium/jasst12tokyo/pdf/A2-3.pdf
  3. テストアーキテクチャってなに • 「ls」コマンドのテスト開発におけるテストアーキテクチャ図(拙作) https://github.com/snsk/ls_testing/wiki/test_development • このアーキテクチャ図では、上に 行くほど重要。左に行くほど優 先、を示し、箱の大きさはテストの 厚み(ボリューム)を示している •

    箱は入れ子にできる • この様式の弱点は、入れ子の子要 素が他の何より重要、か優先の場 合に、描画が煩雑になる点 ◦ その場合は、(そんなに重要なら)別の 名前の箱として表現できるかもしれ ない • 前提や、やらないこと、は下に書 いてある
  4. ゲームのテスト自動化の困難性 Cristiano Politowski, Fabio Petrillo, Yann-Gäel Guéhéneuc. A Survey of

    Video Game Testing. 2021 カップリング UIとゲームメカニクスの間のカップリング スコープ ゲーム状態の探索空間が大きいので、すべてをカバーするのは不可能 ランダム性 ゲームにおける非決定性は、正しい動作を主張することを難しくしている 変更 ゲームデザインは頻繁に変更されるため、自動化を維持するのが難しい コスト テスターより自動化エンジニアのコストが高い。保守のコストもある 時間 開発者が自分のゲームをテストする時間がない ファン要素 自動テストで「楽しさ」を捉えることは不可能。また、多くのイベントが同時に発生 するゲームでは自動化が困難 コード 自動テストコード自体のバグ、プラットフォーム間の差異。
  5. テスト自動化で抑えるべきポイント • 自動テストは「フェーズ」ではなく「サービス」である ◦ いつでも、動いていなければならない • 構築3割、運用7割 • 原則としてリグレッションテストである。見つかるのはデグレードか変更され た箇所

    • どんなテストを、どれぐらい自動化するのか?テストタイプを意識する • 自動化に向いているテスト ◦ 同じ操作を、パラメータを変えて行うテスト ◦ ソーク(浸出)テスト、ロードテスト、負荷計測のテスト ◦ ツールによっては通しプレイ(プログレッション)のテスト ◦ バージョンROMごとの起動確認、初期シーケンスのテスト ◦ チュートリアルの自動化(半自動化)