0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブラウザ版スネークゲームの要件定義と回帰テスト観点

0
Posted at

snackgame-1.png

本稿は公開画面から作る要件・テスト観点の例であり、ソースコードや内部実装の解析ではない。対象の Snake Game では、ソロ、ローカル2人、AI 対戦の導線が確認できる。

要件をプレイヤー視点に分解する

ゲーム開始前にアカウント作成を求めないこと、ソロでは矢印キーで動かせること、ローカル対戦では WASD と矢印キーを区別することを独立した要件にする。AI の Easy / Normal / Hard は、難易度選択が反映されるかを確認し、内部ロジックを推測しない。

状態遷移の観点

状態 操作 期待結果
開始前 開始または再読み込み 操作可能な盤面になる
プレイ中 方向キー 対象プレイヤーだけが曲がる
衝突 壁または体へ進む ラウンド終了を表示する
終了後 再読み込み 新しい状態で開始できる

自動化するなら

セレクタや要素数は未検証なので、以下はテストの形だけを示す。

// illustrative Playwright outline
await page.keyboard.press('ArrowRight');
// assert a visible board-state change using a verified product selector

境界条件

フルスクリーン、ローカル対戦、AI 対戦は個別に確認する。入力の競合、衝突直後のキー入力、再読み込み後の残存状態は、短いゲームでも不具合が表れやすい。

まとめ

画面で観察できる約束を小さく書き、状態ごとに確かめる。これだけでゲーム UI の QA は再現可能な作業になる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?