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

開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて

開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて

CEDEC2022の講演資料です。

『開発もQAも自動テスト!「LOST JUDGMENT:裁かれざる記憶」のQAテスター参加で進化した「テスト自動化チーム(仮)」の取り組みについて』

株式会社セガ 第1事業部 阪上直樹
株式会社セガ プロジェクト業務部 門脇 健造
株式会社セガ 開発技術部 粉川貴至

SEGADevTech

August 24, 2022
Tweet

More Decks by SEGADevTech

Other Decks in Programming

Transcript

  1. 開発もQAも自動テスト!
    「LOST JUDGMENT:裁かれざる記憶」の
    QAテスター参加で進化した
    「テスト自動化チーム(仮)」の取り組みについて
    株式会社セガ
    阪上 直樹 門脇 健造 粉川 貴至

    View full-size slide

  2. 株式会社セガ 第1事業部(龍が如くスタジオ)
    QAエンジニア
    阪上 直樹
    自己紹介

    View full-size slide

  3. 自己紹介
    株式会社セガ
    プロジェクト業務部
    門脇 健造
    QA一筋でコンシューマーゲーム、
    スマートフォンゲームタイトルのテストに多数参加
    現在はプラットフォーム問わずタイトルテストの担当窓口
    として、テスト進捗管理に従事

    View full-size slide

  4. 株式会社セガ 開発技術部
    “自動化技術者”
    粉川 貴至
    自己紹介

    View full-size slide

  5. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    – 運用編
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  6. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    – 運用編
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  7. 開発
    • ジャンル
    – リーガルサスペンスアクション
    • 対応機種
    – PlayStation🄬5 / PlayStation🄬4 / Xbox
    Series X|S / Xbox One
    • 対応言語
    – 音声:2言語、字幕:9言語
    • 多拠点開発
    – 在宅勤務・海外拠点を含む
    本講演のタイトル紹介
    LOST JUDGMENT:裁かれざる記憶
    ※赤字:本講演で重要な要素

    View full-size slide

  8. 開発
    どこでもリプレイシステム
    全自動バグ取りシステムの活用事例
    「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
    https://www.slideshare.net/SEGADevTech/qa-238218522
    手動プレイを記録中 リプレイ再生中
    手動プレイ中にどこでも記録・リプレイが可能!

    View full-size slide

  9. 開発
    • 開発スケジュールの時系列ごと
    1. きっかけ編
    2. 準備編
    3. 運用編
    4. 結果編
    • 各時系列での各部門の視点
    1. QA部門
    2. 開発部門
    3. 自動化技術者
    講演の進行方法について

    View full-size slide

  10. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    • QA部門
    • 開発部門
    • 自動化技術者
    – 準備編
    – 運用編
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  11. QA
    テスト自動化・きっかけ編◆QA部門
    必要なテストは年々増えていく
    時間・費用・人・機材には限度がある
    タイトなスケジュール進行
    リリース後に見つかる不具合への想い
    QA部門
    の悩み

    View full-size slide

  12. QA
    テスト自動化・きっかけ編◆QA部門
    必要なテストは年々増えていく
    マルチプラットフォームや
    多言語への対応など、
    ゲームそのものの進化に追従する形で必
    要なテストも増えていく
    QA部門
    の悩み

    View full-size slide

  13. QA
    テスト自動化・きっかけ編◆QA部門
    時間・費用・人・機材には限度がある
    時間・費用・人・機材は
    言わずもがな有限
    全ての事象が望みの通りの環境で進めら
    れるものではない
    QA部門
    の悩み

    View full-size slide

  14. QA
    テスト自動化・きっかけ編◆QA部門
    タイトなスケジュール進行
    様々な理由により
    開発期間やテスト期間が後ろ倒しに
    なっても、リリース日を後ろ倒しには
    できず、当初予定していたテスト期間を
    確保できないことがある
    QA部門
    の悩み

    View full-size slide

  15. QA
    テスト自動化・きっかけ編◆QA部門
    リリース後に見つかる不具合への想い
    なんとかリリースに漕ぎ着けたものの、
    リリース後にユーザーから不具合の報告
    が来てしまった
    テストに十分な期間を設けることができ
    ていれば事前に見つけることができてい
    たかもしれない
    QA部門
    の悩み

    View full-size slide

  16. QA
    テスト自動化・きっかけ編◆QA部門
    テスト自動化が
    有効なのでは?

    View full-size slide

  17. 開発
    「龍が如く7 光と闇の行方」開発時点
    • テスト自動化チーム(仮)の構成
    – メンバー
    • 開発部門+自動化技術者
    – 担当箇所
    • 管理、運用:1名
    • テスト結果の見える化:1名
    • スクリプト作成・保守:4名
    • 機材管理:若手プログラマの空き時間
    – なぜ(仮)なのか?
    • 組織上認められたチームではない
    • 自動テストの普及後に解散するのが最終目標
    テスト自動化・きっかけ編◆開発部門

    View full-size slide

  18. 開発
    • 開発部門内のみでテスト自動化を行う課題
    – 本業としてゲームの実装を行いながらの作業
    – 自動テストを作成・保守するための人材・機
    材のリソース不足
    – 品質保証・テスト設計の知見不足
    テスト自動化・きっかけ編◆開発部門
    開発部門・QA部門の組織を越境した
    テスト自動化チーム(仮)を結成!

    View full-size slide

  19. 自動化
    • QA部門
    – 今回本格的にテスト自動化に取り組むことに
    • 開発部門
    – 開発部門内でのテスト自動化が整備され、QA部門を巻き込みた
    いタイミング
    • 自動化技術者とそれぞれとの関係
    – QA部門と自動化技術者
    • 長年テスト自動化についての協力関係はあったが、直接的な
    アウトプットは薄かった
    – 開発部門と自動化技術者
    • ここ数年間、プロジェクトのテスト自動化対応に直接協力
    テスト自動化・きっかけ編◆自動化技術者

    View full-size slide

  20. 自動化
    テスト自動化・きっかけ編◆自動化技術者








    年月






    これまでの自動化技術者とそれぞれの部門との関係
    QA部門
    ・自動化に対する知見の熟成と今回のきっかけ
    ⇒ ついに実プロジェクトでの取り組みに
    開発部門
    ・知見共有→直接的な協力





    QA部門と自動化技術者
    開発部門と自動化技術者
    プロジェクトへの直接的なアウトプット

    View full-size slide

  21. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    • QA部門
    • 開発部門
    • 自動化技術者
    – 運用編
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  22. 開発
    テスト自動化・準備編
    開発部門
    自動化
    技術者
    QA部門

    View full-size slide

  23. QA
    QA部門の事前準備
    テスト自動化・準備編◆QA部門
    環境 機材
    人材 学習

    View full-size slide

  24. QA
    ・開発部門と同環境でテスト自動化が可能?
    ・特別な環境が必要?
    開発側に準備を依頼
    テスト自動化・準備編◆QA部門
    環境

    View full-size slide

  25. QA
    ・テスト自動化メンバーの選定
    ⇒テスターの中からプログラムの知識に明るいメンバーを選出
    テスト自動化・準備編◆QA部門
    人材

    View full-size slide

  26. QA
    ・テスト自動化で専用に使用できる機材の確保
    ⇒手動テストと機材を併用する事によるトラブルを起こさないため
    テスト自動化・準備編◆QA部門
    機材

    View full-size slide

  27. QA
    ・参考書による学習
    ・「龍が如く7 光と闇の行方」
    のテスト自動化環境を試験運用
    ⇒「どこでもリプレイ」の動かし方、スクリプト例を事前に学習
    テスト自動化・準備編◆QA部門
    学習

    View full-size slide

  28. QA
    テスト自動化・準備編◆QA部門
    同じ操作を繰り返し試行することで発生するかもしれない
    不具合を自動検知することを目的として作成
    ATMにアクセスして 1万円を引き出す
    所持金が100万円に
    なるまで繰り返す
    準備中に作成したスクリプト
    ©SEGA
    ©SEGA
    ©SEGA

    View full-size slide

  29. QA
    準備OK!
    テスト自動化・準備編◆QA部門
    環境 機材
    人材 学習

    View full-size slide

  30. 開発
    • QA部門の学習のフィードバック
    • QA部門で動く自動テスト環境の準備
    • 職種の違いを意識したワークフローの再構築
    • 自動テストのテストケース設計
    テスト自動化・準備編◆開発部門

    View full-size slide

  31. 開発
    • フィードバックで気をつけたこと
    – 手動テストの方が早いものは止める
    – 実際のゲームは開発中なので、変更に追随し
    ないといけない点を共有
    – デバッグ機能の使用可能範囲
    • 自動テストがゲームの値を取得:OK
    • 自動テストがゲームの値を変更:NG
    QA部門の学習のフィードバック

    View full-size slide

  32. 開発
    • どこでもバグ報告
    – バグ報告時の自動入力ツール
    • エラー送信
    – クラッシュレポートの自動化
    • オートテスト
    – 自動テストシステムの総称
    • どこでもログ分析
    – 開発時のゲームやツールのログを収集・分析する基盤
    龍が如くスタジオの自動テスト環境
    自動テスト環境の詳細は『「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて』
    https://www.slideshare.net/SEGADevTech/7-234572005

    View full-size slide

  33. 開発
    QA部門
    自動テスト環境の構築
    ダンプ保管サーバ
    作成・編集
    自動取得
    エラー送信
    見える化
    開発部門
    作成・編集
    見える化
    エラー送信
    自動取得
    テストスクリプト
    テストケース設定
    テスト環境
    自動構築
    自動テスト実行
    テスト結果分析
    テストスクリプト
    テストケース設定
    テスト環境
    自動構築
    自動テスト実行
    テスト結果分析
    新規で準備した部分
    バージョン管理
    (ゲームと分離)
    最新パッケージ
    ログサーバ

    View full-size slide

  34. 開発
    • 別拠点
    • PCのスペック
    – ゲームが動かないスペック
    • ネットワーク環境
    – アクセス可否や権限
    • サーバへの通信速度
    – パッケージのダウンロード
    – ダンプのアップロード
    • 手動テストの邪魔にならない環境
    – 手動テスト時のセーブデータや実績などに影響があると困る
    開発部門とQA部門の環境の違い

    View full-size slide

  35. 開発
    QA部門
    自動テスト環境の構築(要検証ポイント)
    作成・編集
    見える化
    開発部門
    作成・編集
    見える化
    エラー送信
    自動取得
    テストスクリプト
    テストケース設定
    テスト結果分析
    テストスクリプト
    テストケース設定
    テスト環境
    自動構築
    自動テスト実行
    テスト結果分析
    新規で準備した部分
    バージョン管理
    (ゲームと分離)
    ログサーバ
    ダンプ保管サーバ
    自動取得
    エラー送信
    テスト環境
    自動構築
    自動テスト実行
    最新パッケージ

    View full-size slide

  36. 開発
    検証例・エラー送信(クラッシュレポート)
    自動
    アップロード
    ダンプ保管サーバ
    フルダンプ
    (GB単位)
    数十GBを頻繁にアップロードできないかも?
    エラー
    発生! 自動
    出力

    View full-size slide

  37. 開発
    検証例・エラー送信(クラッシュレポート)
    エラー
    発生!
    自動
    アップロード ダンプ保管サーバ
    検証の結果、QA拠点はフルダンプでOK
    在宅環境のエラー送信の仕組みとして転用
    ミニダンプ
    (MB単位)
    フルダンプ
    (GB単位)
    1週間でローカル環境から自動削除
    (必要に応じて手動アップロード)
    自動
    出力
    自動
    出力

    View full-size slide

  38. 開発
    • 開発部門の運用ワークフローの振り返り
    – エラー発生後、自動的に「エラー送信」チケットとして登録
    – ダンプやログ、動画等を解析
    • 修正が容易な場合
    – そのまま即修正
    • 時間がかかる場合
    – チケットをコピーして正式な「バグ」チケット化
    自動テスト運用ワークフローの検討
    ダンプやログの解析は開発者自身でないと難しい
    エラー送信チケットの詳細は、『「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム』
    https://www.slideshare.net/SEGADevTech/qa-238218522

    View full-size slide

  39. 開発
    • QA部門用の運用ワークフローを提案
    – エラー発生後、自動的に「エラー送信」チケットとして登録
    – 動画等を解析
    • 自動テストと同条件・同手順の手動での再現確認
    – 再現した場合
    » チケットをコピーして正式な「バグ」チケット化
    – 再現しないが自動テスト側で再現が継続する場合
    » 開発部門のテスト自動化メンバーに調査を依頼
    自動テスト運用ワークフローの提案
    手動でも再現を確認しているため
    修正確認も円滑に実施可能

    View full-size slide

  40. 開発
    自動テスト運用ワークフロー図
    QA部門・手動テストチーム
    QA部門・テスト自動化チーム
    開発部門・開発チーム
    日中:ゲーム実装
    夜間:自動テスト実行
    開発部門・テスト自動化チーム
    日中:
    自動テスト作成
    自動テスト結果分析
    24時間:自動テスト実行
    エラー送信
    エラー送信
    バグ報告
    最新
    パッケージ
    最新
    パッケージ
    最新
    パッケージ
    最新
    パッケージ
    どこでもバグ報告
    日中:手動テスト
    安定
    パッケージ
    日中:
    自動テスト作成
    自動テスト結果分析
    夜間:自動テスト実行
    最新
    パッケージ
    最新
    パッケージ
    情報共有

    View full-size slide

  41. 開発
    • テストケース
    – 正常系(シナリオクリアなど)
    – 異常系(ランダムや探索テストなど)
    • 検討材料
    – マルチプラットフォーム×多言語
    • 正常系テストの組み合わせが増える
    – 異常系のスクリプト作成
    • エラー調査を含め、難易度が高い
    自動テストのテストケース設計
    今回は正常系テストに注力!

    View full-size slide

  42. 自動化
    • QA部門
    – 環境、機材、人材、学習面それぞれ準備が必要
    • 開発部門
    – 自動テスト環境をQA部門で動かすための対応が必要
    – 運用の準備、QA部門とのすり合わせが必要
    • 自動化技術者として
    – QA部門と自動化技術者
    • テスト自動化の学習、開発側の自動テストシステムの仕組みの理解
    をフォロー
    – 開発部門と自動化技術者
    • QA部門に自動テストの仕組みを提供するための対応をサポート
    テスト自動化・準備編◆まとめ

    View full-size slide

  43. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    – 運用編
    • QA部門
    • 開発部門
    • 自動化技術者
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  44. 開発
    • テストケース
    – メインシナリオ:開発+QA
    – サイドケース:開発+QA
    – ユースドラマ:開発
    – ミニゲーム:QA
    – パフォーマンス計測:開発
    • 対応プラットフォーム:開発+QA
    • 対応言語:開発+QA
    自動テストのカバー範囲(計画)

    View full-size slide

  45. QA
    開発部門と共同で
    テスト自動化を行う
    スクリプトの作成を実施!
    テスト自動化・運用編◆QA部門

    View full-size slide

  46. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  47. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  48. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  49. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  50. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    3. テスト結果内の問題部分を調査
    3-b. 自動テスト側の不備
    3-a. ゲーム側の不具合
    3-c. ゲームの仕様変更による問題

    View full-size slide

  51. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  52. QA
    QA部門での自動テストサイクル
    テスト自動化・運用編◆QA部門
    1. 終業時に作成した自動テストを実行して退勤
    2. 翌日始業時にテスト結果の内容を確認
    3. テスト結果内の問題部分を調査
    5. 1~4の繰り返し
    4. 他の箇所に問題がないか確認

    View full-size slide

  53. QA
    テスト自動化・運用編◆QA部門
    敵に見つからないように身を隠しながら目的地を目指すシーン
    複雑なアクションでも自動でクリア!

    View full-size slide

  54. QA
    テスト自動化・運用編◆QA部門
    シナリオ名 機材名 ログ
    成功

    クリア回数
    実行
    回数
    自動テストのシナリオクリア結果ページ(毎日更新)
    成功率が低いので
    原因を調査
    ※「W64」は、デバッグ用Windows版の結果

    View full-size slide

  55. QA
    運用時のコミュニケーション
    ・リアルタイムで連絡を取りたい
    ・拠点は離れていても込みいった相談事もしたい
    ・週1回のWeb会議を実施したい
    「Microsoft Teams」を使用
    テスト自動化・運用編◆QA部門

    View full-size slide

  56. QA
    テスト自動化・運用編◆QA部門
    鉄骨につかまるアクションが上手く
    できないです
    ※該当の動画を添付
    問題なく進むことができました!
    そのようなアクションがある
    ことは聞いていましたが、動
    画で初めて内容を見ました
    対応検討します
    相談して頂いたアクションを
    自動化できるようにPython
    関数を追加しました
    不明なものはリアルタイムに都度相談できる環境
    QA
    QA
    開発
    開発

    View full-size slide

  57. QA
    テスト自動化・運用編◆QA部門
    開発部門
    開発部門とQA部門の橋渡し
    共同作業中の気軽な情報交換で
    プロジェクトの一体感が向上!
    QA部門
    テスト自動化チーム(仮)
    最近実装したとこ
    ろが心配
    特定シナリオのバグが多い
    けど何か変更した?
    ミニゲームの△△が
    ちょっと操作しにくい
    ○○の仕様が近々
    変わるかも?
    正式なやり取り
    今日のパッケージ
    はここが不安定
    QA
    開発

    View full-size slide

  58. 開発
    • 自動テストシステムの改善
    • マルチプラットフォーム×多言語対応
    • 多拠点開発のサポート
    テスト自動化・運用編◆開発部門

    View full-size slide

  59. 開発
    • 自動テストの作成・保守の負担が軽減し、シス
    テム側の改善に注力
    • 新規要素の自動テスト対応の迅速化
    – スティール中のコイン投げ
    – アスレチック中の壁登り、鉄骨渡り
    – 探偵ガジェットの使用
    自動テストシステムの改善

    View full-size slide

  60. 開発
    マルチプラットフォームと多言語化により、組み合わせが爆発
    • 組み合わせの例
    – プラットフォーム:4
    – 字幕言語:9
    – 音声言語:2
    – DLC「海藤正治の事件簿」:あり・なし
    • 上記だけで4×9×2×2=144パターン
    – それぞれのメインシナリオ、サイドケース、ミニゲーム…
    マルチプラットフォーム×多言語対応
    自動テストであっても、
    全組み合わせを網羅するのは不可能!

    View full-size slide

  61. 開発
    リソースを最大限活用する組み合わせ
    プラットフォーム字幕 音声 海藤DLC
    DevWindows 日本語 日本語 あり
    PS4 英語 英語 なし
    PS5 ハングル 日本語 なし
    XBOXONE 簡体字 英語 あり
    XBOXSERIES 繁体字 日本語 なし
    DevWindows フランス 英語 なし
    PS4 イタリア 日本語 あり
    PS5 ドイツ 英語 なし
    XBOXONE スペイン 日本語 なし
    XBOXSERIES 日本語 英語 あり
    DevWindows 英語 日本語 なし
    PS4 ハングル 英語 なし
    PS5 簡体字 日本語 あり
    XBOXONE 繁体字 英語 なし
    XBOXSERIES フランス 日本語 なし
    DevWindows イタリア 英語 あり
    PS4 ドイツ 日本語 なし
    PS5 スペイン 英語 なし
    XBOXONE 日本語 日本語 あり
    XBOXSERIES 英語 英語 なし
    DevWindows ハングル 日本語 なし
    PS4 簡体字 英語 あり
    PS5 繁体字 日本語 なし
    XBOXONE フランス 英語 なし
    制限の中でも
    最大限の組み合わせを網羅
    条件別に組み合わせが
    ずれていくように設定

    View full-size slide

  62. 開発
    • 日々のパッケージ更新で特定言語を起動できな
    い不具合が頻発
    – 海外拠点の翻訳QAに悪影響
    – 時差による手戻りコストが高い
    • パッケージ提出のたびに手動で確認…
    多拠点開発での問題点
    「龍が如く7 光と闇の行方 インターナショナル」開発時

    View full-size slide

  63. 開発
    多拠点開発を支える自動テスト
    【自動】全プラットフォームで実施
    1. ゲームを起動
    2. タイトルの設定で言語を切り替え
    3. すべての言語切り替えが成功したら1
    章からシナリオテストを開始
    【手動】上記の動画を目視でも確認
    – 進行不能もあるため
    すべて手動でテストする時と比較して
    確認時間と手戻りロスを大幅に削減
    言語切り替えのみの自動テスト

    View full-size slide

  64. 自動化
    QA部門、開発部門(と自動化技術者)全員で
    「テスト自動化チーム(仮)」として
    日々の自動テスト作成・運用に取り組んだ
    テスト自動化・運用編◆まとめ

    View full-size slide

  65. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    – 運用編
    – 結果編
    • QA部門
    • 開発部門
    • 自動化技術者
    • まとめ
    本講演の目次

    View full-size slide

  66. QA
    テスト自動化・結果編◆QA部門
    QA部門内の「テスト自動化チーム(仮)」の動き
    【良かった点】
    ※pkg = パッケージ
    pkg
    更新




    起動・
    手動テスト
    開始
    pkg
    ダウン
    ロード
    pkg
    インス
    トール
    自動テスト
    結果確認・
    手動テスト
    開始
    自動起動・
    自動テスト
    開始
    pkg
    自動
    インス
    トール
    pkg
    自動
    ダウン
    ロード
    pkg
    更新

    View full-size slide

  67. QA
    【気づいたこと】
    ・事前準備の時間が必要
    ・繰り返しの確認が必要なものは自動化を試みるべき
    ・自動化した時のメリット・デメリットを事前に考慮
    ・手動テストと自動テストは異なる
    テスト自動化・結果編◆QA部門

    View full-size slide

  68. QA
    【出来るようになったこと】
    ・開発部門と同じ環境で自動テストが出来るようになった
    ・Pythonを使って自動テストのための
    スクリプトが書けるようになった
    ・自動テストの結果内容を理解して
    必要な行動を取れるようになった
    ・自動テストの仕組みを理解した上で
    自動化したいテスト内容を考えられるようになった
    テスト自動化・結果編◆QA部門

    View full-size slide

  69. 開発
    • テスト自動化チーム(仮)の変化
    • 自動テストの実績
    • 不安定なテストの減少による効果
    テスト自動化・結果編◆開発部門

    View full-size slide

  70. 開発
    • LOST JUDGMENT時のチーム構成
    – メンバー
    • 開発部門+自動化技術者+QA部門
    – 担当箇所
    • 管理、運用:2名
    • テスト結果の見える化:2名
    • スクリプト作成・保守:4名(QA部門2名は専任)
    • 機材管理:若手プログラマの空き時間
    – 自動テスト専用機材(ピーク時)
    • PC:65台
    • 開発機:43台
    テスト自動化チーム(仮)の変化

    View full-size slide

  71. 開発
    自動テストの実績(円グラフ)
    自動テスト
    16,930件
    33.4%
    JUDGE EYES:死神の遺言
    自動テスト
    手動テスト
    自動テスト
    19,007件
    63.7%
    大幅に
    効率アップ
    LOST JUDGMENT:裁かれざる記憶

    View full-size slide

  72. 開発
    自動テストの実績(表)
    エラー検知 規模 価値
    自動
    テスト
    総数
    自動
    テスト率
    自動テスト
    稼働数
    のべ
    稼働時間
    龍が如く0 誓いの場所 621件 9,664件 6.4%​ 100​ -
    龍が如く6 命の詩。 8,102件 43,369件 18.7%​ 150​ 82,104 h​
    龍が如く極2 8,645件 20,675件 41.8%​ 180​ 78,160 h​
    北斗が如く 16,532件 41,190件 40.1%​ 210​ 114,808 h​
    JUDGE EYES:死神の遺言 16,930件 50,671件 33.4%​ 200​ 244,040 h​
    龍が如く7 光と闇の行方(※) 32,315件 45,880件 70.4%​ 219​ 593,560 h​
    LOST JUDGMENT:裁かれざる記憶 19,007件 29,833件 63.7%​ 212​ 566,976 h​
    ※龍が如く7はインターナショナル版を含む

    View full-size slide

  73. 開発
    自動テストの実績(表)
    エラー検知 規模 価値
    自動
    テスト
    総数
    自動
    テスト率
    自動テスト
    稼働数
    のべ
    稼働時間
    龍が如く0 誓いの場所 621件 9,664件 6.4%​ 100​ -
    龍が如く6 命の詩。 8,102件 43,369件 18.7%​ 150​ 82,104 h​
    龍が如く極2 8,645件 20,675件 41.8%​ 180​ 78,160 h​
    北斗が如く 16,532件 41,190件 40.1%​ 210​ 114,808 h​
    JUDGE EYES:死神の遺言 16,930件 50,671件 33.4%​ 200​ 244,040 h​
    龍が如く7 光と闇の行方(※) 32,315件 45,880件 70.4%​ 219​ 593,560 h​
    LOST JUDGMENT:裁かれざる記憶 19,007件 29,833件 63.7%​ 212​ 566,976 h​
    ※龍が如く7はインターナショナル版を含む
    アクションゲームでも
    同水準の効率を維持!
    多機種・多言語で増大する
    組み合わせをカバー

    View full-size slide

  74. 開発
    • テストケース
    – メインシナリオ:100%
    – サイドケース:90%
    – ユースドラマ:100%
    – ミニゲーム:100%
    – TownGo(実績系):一部(手動テストチームからの要望)
    – パフォーマンス計測:FPS/VRAM等
    • 対応プラットフォーム:100%
    • 対応言語:100%
    自動テストのクリア率(カバー範囲)

    View full-size slide

  75. 開発
    • 前作(JUDGE EYES)のデバッグ期
    – メインシナリオのクリア率が不安定
    – バグか自動テストの問題かの調査が多発
    • 本作(LOST JUDGMENT)のデバッグ期
    – メインシナリオの全クリアを日々100%維持
    自動テストの精度が向上
    不安定なテスト(Flaky Test)が減少した結果
    再現率の低い不具合に気づくことができた

    View full-size slide

  76. 自動化
    • QA部門、開発部門それぞれの成果として
    – 開発側の自動テストの仕組みをQA部門が使用
    し、協力して運用する事例ができた
    • 自動化技術者として
    – 間に入ることで、それぞれの部門に不足して
    いる部分をサポートできた
    テスト自動化・結果編◆まとめ

    View full-size slide

  77. 開発
    • はじめに
    • テスト自動化事例
    – きっかけ編
    – 準備編
    – 運用編
    – 結果編
    • まとめ
    本講演の目次

    View full-size slide

  78. QA
    開発
    • QAテスターが自動テストを作成可能
    – QAテスターの1人のカバー範囲が拡大
    – ゲームの規模拡大でも品質を維持・向上
    • マルチプラットフォーム・多言語に有効
    – 爆発する組み合わせを自動テストでカバー
    本事例でのテスト自動化の成果

    View full-size slide

  79. QA
    開発
    • QA視点の自動テストの実施
    • QAテスターからQAエンジニアへのキャリアパス
    • 自動テスト稼働のための機材不足
    – QA部門での稼働数を増やしていく
    • 自動テストの作成・保守コストの増加
    – スクリプトの自動生成を検討
    今後の課題

    View full-size slide

  80. 開発
    運用
    環境
    自動テスト
    テスト自動化のロードマップ
    ランダム入力
    パス入力
    ルールベースAI
    プレイヤーAI スクリプト
    画像認識
    機械学習
    テストケース
    の設定
    ログやキャプチャ
    の自動収集
    クラウド実行
    環境
    汎用化
    テストケース
    の自動生成
    ~龍3 龍4,5,0,極 龍6,極2,7
    クラッシュ
    レポート
    最新ビルドに
    更新して実行
    テスト結果の
    見える化
    自動テストの
    協力者を増やす
    成果を示して
    規模拡大
    テスト自動化
    チームの結成
    みんなで
    自動テスト
    現在進行形

    View full-size slide

  81. 開発
    • テスト自動化専任エンジニア:達成
    • 若手プログラマ:達成
    • QAテスター:達成
    みんなで自動テスト
    • ゲームデザイナー:レベルデザイン確認
    • アーティスト:UIや背景の自動撮影
    • サウンド:環境音等の再生条件確認
    将来

    View full-size slide

  82. 開発
    みんなで自動テストの実現に向けて
    「テスト自動化チーム(仮)」の挑戦は続く

    View full-size slide

  83. 桑原 和人(株式会社セガ 第1事業部)
    堀江 裕貴(株式会社セガ 第1事業部)
    米澤 綾恭(株式会社セガ 第1事業部)
    徐 文杰(株式会社セガ 第1事業部)
    石井 航(株式会社セガ 第1事業部)
    石山 莉帆(株式会社セガ 第1事業部)
    越智 拓海(株式会社セガ 第1事業部)
    白崎 真希子(株式会社セガ プロジェクト業務部)
    小田内 敦史(株式会社セガ プロジェクト業務部)
    共同研究・開発者

    View full-size slide

  84. • 「龍が如く」の高速デバッグ術 ~そびえ立つバグの山を踏破するための弾
    丸ワークフロー~
    – http://jasst.jp/symposium/jasst16tokyo/pdf/E2.pdf
    • 無料で始める! 「龍が如く」を面白くするための 高速デバッグログ分析と
    自動化
    – http://www.jasst.jp/symposium/jasst18tokyo/pdf/D4.pdf
    • 「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム
    (仮)による若手育成の取り組みについて
    – https://www.slideshare.net/SEGADevTech/7-234572005
    • 「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取
    りシステム
    – https://www.slideshare.net/SEGADevTech/qa-238218522
    関連資料

    View full-size slide