Newer
Older
PixelPaintWar / docs / 01_Env / ENV_07_テスト操作手順.txt
========================================================================
テスト操作手順 (Test Operation Guide)
========================================================================


1. 概要 (Overview)
------------------------------------------------------------------------
本ドキュメントは,プロジェクト内のテスト関連ファイルの実行方法を整理し,チーム内で共通の運用手順を共有することを目的とする.


1-1. 対象範囲

■ 対象ファイル
・テスト実行用スクリプト: /workspace/test/load-bot.mjs
・テスト用依存定義: /workspace/test/package.json

■ 対象外
・アプリ本体のビルドと起動手順
・本番運用の監視設定


2. 前提条件 (Prerequisites)
------------------------------------------------------------------------

2-1. 環境
・Node.js / pnpm が利用可能であること
・インターネット接続が利用可能であること

2-2. 設定値
■ 接続先URL
・既定値: https://skillsemiwebgame.onrender.com
・変更方法: CLI引数または環境変数で指定する


3. 実行手順 (Execution Steps)
------------------------------------------------------------------------

3-1. 初回準備
1. テスト用ディレクトリへ移動
    - コマンド: $ cd /workspace/test
2. 依存関係のインストール
    - コマンド: $ pnpm install

3-2. 実行
1. テストの実行
    - コマンド: $ pnpm start
2. パラメータ指定の例
    - コマンド: $ pnpm start -- --bots=30 --rooms=3 --duration-ms=60000


4. パラメータ一覧 (Parameters)
------------------------------------------------------------------------

4-1. CLI引数
    ・--url: 接続先URL
    ・--bots: 同時接続数
    ・--rooms: ルーム数
    ・--duration-ms: 実行時間 (ms)
    ・--join-delay-ms: 参加間隔 (ms)
    ・--start-game: ゲーム開始の有効化 (1/0)
    ・--move-interval-ms: 移動送信間隔 (ms)
    ・--max-x: X座標上限
    ・--max-y: Y座標上限

4-2. 環境変数
    ・TARGET_URL: 接続先URL
    ・BOTS: 同時接続数
    ・ROOMS: ルーム数
    ・DURATION_MS: 実行時間 (ms)
    ・JOIN_DELAY_MS: 参加間隔 (ms)
    ・START_GAME: ゲーム開始の有効化 (1/0)
    ・MOVE_INTERVAL_MS: 移動送信間隔 (ms)
    ・MAX_X: X座標上限
    ・MAX_Y: Y座標上限


5. 出力と終了 (Output & Termination)
------------------------------------------------------------------------

5-1. 標準出力
    ・開始時に設定値が出力される
    ・終了時に簡易統計 (接続数など) が出力される

5-2. 終了方法
    ・指定時間経過後に自動終了する
    ・途中終了する場合はプロセスを終了する


6. 注意事項 (Notes)
------------------------------------------------------------------------

6-1. 本番サーバへの負荷
    ・負荷テストは低負荷から段階的に実施すること
    ・必要に応じて管理者へ事前連絡を行うこと

6-2. 依存関係
    ・test配下は独立した依存関係を持つため,別途pnpm installが必要になる

6-3. 計測の限界
    ・本スクリプトは簡易負荷確認用であり,詳細な計測は専用ツールの利用を推奨する