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

Shadowverse流開発手法 ~QAコスト削減と堅牢性強化を実現するプランナーによるテスト駆動開発~

Cygames
September 05, 2019

Shadowverse流開発手法 ~QAコスト削減と堅牢性強化を実現するプランナーによるテスト駆動開発~

2019/09/05 CEDEC 2019

Cygames

September 05, 2019
Tweet

More Decks by Cygames

Other Decks in Technology

Transcript

  1. 17/xx AIにおけるテスト駆動開発フロー 要件作成 テストケース作成 コーディング 単体テスト 回帰テスト AI調整 デバッグ 効果検証

    プランナー主導の仕様段階 エンジニアによる実装段階 プランナーによるバランシング段階
  2. 18/xx AIにおけるテスト駆動開発フロー 要件作成 テストケース作成 コーディング 単体テスト 回帰テスト AI調整 デバッグ 効果検証

    プランナー主導の仕様段階 エンジニアによる実装段階 プランナーによるバランシング段階 今回はプランナー主導の要件作成/テストケース作 成について話します
  3. 30/xx 要件細分化により不確定性の影響が収束される 子要件A 子要件B 機能A 機能B 高 度 な 戦

    術 … … 複雑な要件 組 み 合 わ せ AIの不確定性に影響されるのは 組み合わせ調整だけ 実装&テスト テストA テストB 任せて^_^ プランナー
  4. ▪機能 • テストケース登録 – 手動スタート盤面再現 – 手動行動再現 – スタート盤面と正解結果の保存 •

    テストケース再生 – スタート盤面再現 – AI思考呼び出し – 正解結果と比較し、差分がある ならNG、一致するならOK 49/xx バトル機能を流用したツール「AITestKun」
  5. 68/xx 単体テスト テストシナリオ作成 エンジニアが主導 テスト テスト テスト テスト テスト Skill=メイン挙動の指定

    Timing=発動タイミング Condition=発動条件 Target=発動対象 Option=ダメージ量などの細かい制御
  6. 78/xx 回帰テストツールで保証したいこと プレイログ プレイログ バトル バトル バトル 回帰テスト バトル結果(プレイログ) =

    回帰テスト結果 新規実装、ソースコード改修、リファクタリングの結果 以前と挙動(結果)が同じであることを保証する
  7. • ユーザー情報(ID等) • バージョン情報 • 接続先情報 • 端末情報(GPU、メモリ等) • カード情報(バトル時)

    • スタックトレース • スクリーンショット 104/xx 実際に社内SNSに投稿された内容
  8. • バトル全体でのバグ報告が約40%減少 108/xx スキル開発で得られた成果 1.6.0 1.7.0 1.8.0 2.0.0 2.1.0 2.2.0

    2.3.0 2.4.0 2か月後 1か月後 大型アップデート 1.6.0以降から 回帰テストツール 動作開始