SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
開発もQAも自動テスト!
「LOST JUDGMENT:裁かれざる記憶」の
QAテスター参加で進化した
「テスト自動化チーム(仮)」の取り組みについて
株式会社セガ
阪上 直樹 門脇 健造 粉川 貴至
株式会社セガ 第1事業部(龍が如くスタジオ)
QAエンジニア
阪上 直樹
自己紹介
自己紹介
株式会社セガ
プロジェクト業務部
門脇 健造
QA一筋でコンシューマーゲーム、
スマートフォンゲームタイトルのテストに多数参加
現在はプラットフォーム問わずタイトルテストの担当窓口
として、テスト進捗管理に従事
株式会社セガ 開発技術部
“自動化技術者”
粉川 貴至
自己紹介
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
– 運用編
– 結果編
• まとめ
本講演の目次
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
– 運用編
– 結果編
• まとめ
本講演の目次
開発
• ジャンル
– リーガルサスペンスアクション
• 対応機種
– PlayStation🄬5 / PlayStation🄬4 / Xbox
Series X|S / Xbox One
• 対応言語
– 音声:2言語、字幕:9言語
• 多拠点開発
– 在宅勤務・海外拠点を含む
本講演のタイトル紹介
LOST JUDGMENT:裁かれざる記憶
※赤字:本講演で重要な要素
開発
どこでもリプレイシステム
全自動バグ取りシステムの活用事例
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
https://www.slideshare.net/SEGADevTech/qa-238218522
手動プレイを記録中 リプレイ再生中
手動プレイ中にどこでも記録・リプレイが可能!
開発
• 開発スケジュールの時系列ごと
1. きっかけ編
2. 準備編
3. 運用編
4. 結果編
• 各時系列での各部門の視点
1. QA部門
2. 開発部門
3. 自動化技術者
講演の進行方法について
開発
• はじめに
• テスト自動化事例
– きっかけ編
• QA部門
• 開発部門
• 自動化技術者
– 準備編
– 運用編
– 結果編
• まとめ
本講演の目次
QA
テスト自動化・きっかけ編◆QA部門
必要なテストは年々増えていく
時間・費用・人・機材には限度がある
タイトなスケジュール進行
リリース後に見つかる不具合への想い
QA部門
の悩み
QA
テスト自動化・きっかけ編◆QA部門
必要なテストは年々増えていく
マルチプラットフォームや
多言語への対応など、
ゲームそのものの進化に追従する形で必
要なテストも増えていく
QA部門
の悩み
QA
テスト自動化・きっかけ編◆QA部門
時間・費用・人・機材には限度がある
時間・費用・人・機材は
言わずもがな有限
全ての事象が望みの通りの環境で進めら
れるものではない
QA部門
の悩み
QA
テスト自動化・きっかけ編◆QA部門
タイトなスケジュール進行
様々な理由により
開発期間やテスト期間が後ろ倒しに
なっても、リリース日を後ろ倒しには
できず、当初予定していたテスト期間を
確保できないことがある
QA部門
の悩み
QA
テスト自動化・きっかけ編◆QA部門
リリース後に見つかる不具合への想い
なんとかリリースに漕ぎ着けたものの、
リリース後にユーザーから不具合の報告
が来てしまった
テストに十分な期間を設けることができ
ていれば事前に見つけることができてい
たかもしれない
QA部門
の悩み
QA
テスト自動化・きっかけ編◆QA部門
テスト自動化が
有効なのでは?
開発
「龍が如く7 光と闇の行方」開発時点
• テスト自動化チーム(仮)の構成
– メンバー
• 開発部門+自動化技術者
– 担当箇所
• 管理、運用:1名
• テスト結果の見える化:1名
• スクリプト作成・保守:4名
• 機材管理:若手プログラマの空き時間
– なぜ(仮)なのか?
• 組織上認められたチームではない
• 自動テストの普及後に解散するのが最終目標
テスト自動化・きっかけ編◆開発部門
開発
• 開発部門内のみでテスト自動化を行う課題
– 本業としてゲームの実装を行いながらの作業
– 自動テストを作成・保守するための人材・機
材のリソース不足
– 品質保証・テスト設計の知見不足
テスト自動化・きっかけ編◆開発部門
開発部門・QA部門の組織を越境した
テスト自動化チーム(仮)を結成!
自動化
• QA部門
– 今回本格的にテスト自動化に取り組むことに
• 開発部門
– 開発部門内でのテスト自動化が整備され、QA部門を巻き込みた
いタイミング
• 自動化技術者とそれぞれとの関係
– QA部門と自動化技術者
• 長年テスト自動化についての協力関係はあったが、直接的な
アウトプットは薄かった
– 開発部門と自動化技術者
• ここ数年間、プロジェクトのテスト自動化対応に直接協力
テスト自動化・きっかけ編◆自動化技術者
自動化
テスト自動化・きっかけ編◆自動化技術者
2
0
1
0
2
0
2
0
年月
自
動
化
の
協
力
これまでの自動化技術者とそれぞれの部門との関係
QA部門
・自動化に対する知見の熟成と今回のきっかけ
⇒ ついに実プロジェクトでの取り組みに
開発部門
・知見共有→直接的な協力
時
が
き
た
!
QA部門と自動化技術者
開発部門と自動化技術者
プロジェクトへの直接的なアウトプット
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
• QA部門
• 開発部門
• 自動化技術者
– 運用編
– 結果編
• まとめ
本講演の目次
開発
テスト自動化・準備編
開発部門
自動化
技術者
QA部門
QA
QA部門の事前準備
テスト自動化・準備編◆QA部門
環境 機材
人材 学習
QA
・開発部門と同環境でテスト自動化が可能?
・特別な環境が必要?
開発側に準備を依頼
テスト自動化・準備編◆QA部門
環境
QA
・テスト自動化メンバーの選定
⇒テスターの中からプログラムの知識に明るいメンバーを選出
テスト自動化・準備編◆QA部門
人材
QA
・テスト自動化で専用に使用できる機材の確保
⇒手動テストと機材を併用する事によるトラブルを起こさないため
テスト自動化・準備編◆QA部門
機材
QA
・参考書による学習
・「龍が如く7 光と闇の行方」
のテスト自動化環境を試験運用
⇒「どこでもリプレイ」の動かし方、スクリプト例を事前に学習
テスト自動化・準備編◆QA部門
学習
QA
テスト自動化・準備編◆QA部門
同じ操作を繰り返し試行することで発生するかもしれない
不具合を自動検知することを目的として作成
ATMにアクセスして 1万円を引き出す
所持金が100万円に
なるまで繰り返す
準備中に作成したスクリプト
©SEGA
©SEGA
©SEGA
QA
準備OK!
テスト自動化・準備編◆QA部門
環境 機材
人材 学習
開発
• QA部門の学習のフィードバック
• QA部門で動く自動テスト環境の準備
• 職種の違いを意識したワークフローの再構築
• 自動テストのテストケース設計
テスト自動化・準備編◆開発部門
開発
• フィードバックで気をつけたこと
– 手動テストの方が早いものは止める
– 実際のゲームは開発中なので、変更に追随し
ないといけない点を共有
– デバッグ機能の使用可能範囲
• 自動テストがゲームの値を取得:OK
• 自動テストがゲームの値を変更:NG
QA部門の学習のフィードバック
開発
• どこでもバグ報告
– バグ報告時の自動入力ツール
• エラー送信
– クラッシュレポートの自動化
• オートテスト
– 自動テストシステムの総称
• どこでもログ分析
– 開発時のゲームやツールのログを収集・分析する基盤
龍が如くスタジオの自動テスト環境
自動テスト環境の詳細は『「龍が如く7 光と闇の行方」の自動テスト活用事例とテスト自動化チーム(仮)による若手育成の取り組みについて』
https://www.slideshare.net/SEGADevTech/7-234572005
開発
QA部門
自動テスト環境の構築
ダンプ保管サーバ
作成・編集
自動取得
エラー送信
見える化
開発部門
作成・編集
見える化
エラー送信
自動取得
テストスクリプト
テストケース設定
テスト環境
自動構築
自動テスト実行
テスト結果分析
テストスクリプト
テストケース設定
テスト環境
自動構築
自動テスト実行
テスト結果分析
新規で準備した部分
バージョン管理
(ゲームと分離)
最新パッケージ
ログサーバ
開発
• 別拠点
• PCのスペック
– ゲームが動かないスペック
• ネットワーク環境
– アクセス可否や権限
• サーバへの通信速度
– パッケージのダウンロード
– ダンプのアップロード
• 手動テストの邪魔にならない環境
– 手動テスト時のセーブデータや実績などに影響があると困る
開発部門とQA部門の環境の違い
開発
QA部門
自動テスト環境の構築(要検証ポイント)
作成・編集
見える化
開発部門
作成・編集
見える化
エラー送信
自動取得
テストスクリプト
テストケース設定
テスト結果分析
テストスクリプト
テストケース設定
テスト環境
自動構築
自動テスト実行
テスト結果分析
新規で準備した部分
バージョン管理
(ゲームと分離)
ログサーバ
ダンプ保管サーバ
自動取得
エラー送信
テスト環境
自動構築
自動テスト実行
最新パッケージ
開発
検証例・エラー送信(クラッシュレポート)
自動
アップロード ダンプ保管サーバ
フルダンプ
(GB単位)
数十GBを頻繁にアップロードできないかも?
エラー
発生!
自動
出力
開発
検証例・エラー送信(クラッシュレポート)
エラー
発生!
自動
アップロード ダンプ保管サーバ
検証の結果、QA拠点はフルダンプでOK
在宅環境のエラー送信の仕組みとして転用
ミニダンプ
(MB単位)
フルダンプ
(GB単位)
1週間でローカル環境から自動削除
(必要に応じて手動アップロード)
自動
出力
自動
出力
開発
• 開発部門の運用ワークフローの振り返り
– エラー発生後、自動的に「エラー送信」チケットとして登録
– ダンプやログ、動画等を解析
• 修正が容易な場合
– そのまま即修正
• 時間がかかる場合
– チケットをコピーして正式な「バグ」チケット化
自動テスト運用ワークフローの検討
ダンプやログの解析は開発者自身でないと難しい
エラー送信チケットの詳細は、『「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム』
https://www.slideshare.net/SEGADevTech/qa-238218522
開発
• QA部門用の運用ワークフローを提案
– エラー発生後、自動的に「エラー送信」チケットとして登録
– 動画等を解析
• 自動テストと同条件・同手順の手動での再現確認
– 再現した場合
» チケットをコピーして正式な「バグ」チケット化
– 再現しないが自動テスト側で再現が継続する場合
» 開発部門のテスト自動化メンバーに調査を依頼
自動テスト運用ワークフローの提案
手動でも再現を確認しているため
修正確認も円滑に実施可能
開発
自動テスト運用ワークフロー図
QA部門・手動テストチーム
QA部門・テスト自動化チーム
開発部門・開発チーム
日中:ゲーム実装
夜間:自動テスト実行
開発部門・テスト自動化チーム
日中:
自動テスト作成
自動テスト結果分析
24時間:自動テスト実行
エラー送信
エラー送信
バグ報告
最新
パッケージ
最新
パッケージ
最新
パッケージ
最新
パッケージ
どこでもバグ報告
日中:手動テスト
安定
パッケージ
日中:
自動テスト作成
自動テスト結果分析
夜間:自動テスト実行
最新
パッケージ
最新
パッケージ
情報共有
開発
• テストケース
– 正常系(シナリオクリアなど)
– 異常系(ランダムや探索テストなど)
• 検討材料
– マルチプラットフォーム×多言語
• 正常系テストの組み合わせが増える
– 異常系のスクリプト作成
• エラー調査を含め、難易度が高い
自動テストのテストケース設計
今回は正常系テストに注力!
自動化
• QA部門
– 環境、機材、人材、学習面それぞれ準備が必要
• 開発部門
– 自動テスト環境をQA部門で動かすための対応が必要
– 運用の準備、QA部門とのすり合わせが必要
• 自動化技術者として
– QA部門と自動化技術者
• テスト自動化の学習、開発側の自動テストシステムの仕組みの理解
をフォロー
– 開発部門と自動化技術者
• QA部門に自動テストの仕組みを提供するための対応をサポート
テスト自動化・準備編◆まとめ
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
– 運用編
• QA部門
• 開発部門
• 自動化技術者
– 結果編
• まとめ
本講演の目次
開発
• テストケース
– メインシナリオ:開発+QA
– サイドケース:開発+QA
– ユースドラマ:開発
– ミニゲーム:QA
– パフォーマンス計測:開発
• 対応プラットフォーム:開発+QA
• 対応言語:開発+QA
自動テストのカバー範囲(計画)
QA
開発部門と共同で
テスト自動化を行う
スクリプトの作成を実施!
テスト自動化・運用編◆QA部門
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
3. テスト結果内の問題部分を調査
3-b. 自動テスト側の不備
3-a. ゲーム側の不具合
3-c. ゲームの仕様変更による問題
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
QA部門での自動テストサイクル
テスト自動化・運用編◆QA部門
1. 終業時に作成した自動テストを実行して退勤
2. 翌日始業時にテスト結果の内容を確認
3. テスト結果内の問題部分を調査
5. 1~4の繰り返し
4. 他の箇所に問題がないか確認
QA
テスト自動化・運用編◆QA部門
敵に見つからないように身を隠しながら目的地を目指すシーン
複雑なアクションでも自動でクリア!
QA
テスト自動化・運用編◆QA部門
シナリオ名 機材名 ログ
成功
率
クリア回数
実行
回数
自動テストのシナリオクリア結果ページ(毎日更新)
成功率が低いので
原因を調査
※「W64」は、デバッグ用Windows版の結果
QA
運用時のコミュニケーション
・リアルタイムで連絡を取りたい
・拠点は離れていても込みいった相談事もしたい
・週1回のWeb会議を実施したい
「Microsoft Teams」を使用
テスト自動化・運用編◆QA部門
QA
テスト自動化・運用編◆QA部門
鉄骨につかまるアクションが上手く
できないです
※該当の動画を添付
問題なく進むことができました!
そのようなアクションがある
ことは聞いていましたが、動
画で初めて内容を見ました
対応検討します
相談して頂いたアクションを
自動化できるようにPython
関数を追加しました
不明なものはリアルタイムに都度相談できる環境
QA
QA
開発
開発
QA
テスト自動化・運用編◆QA部門
開発部門
開発部門とQA部門の橋渡し
共同作業中の気軽な情報交換で
プロジェクトの一体感が向上!
QA部門
テスト自動化チーム(仮)
最近実装したとこ
ろが心配
特定シナリオのバグが多い
けど何か変更した?
ミニゲームの△△が
ちょっと操作しにくい
○○の仕様が近々
変わるかも?
正式なやり取り
今日のパッケージ
はここが不安定
QA
開発
開発
• 自動テストシステムの改善
• マルチプラットフォーム×多言語対応
• 多拠点開発のサポート
テスト自動化・運用編◆開発部門
開発
• 自動テストの作成・保守の負担が軽減し、シス
テム側の改善に注力
• 新規要素の自動テスト対応の迅速化
– スティール中のコイン投げ
– アスレチック中の壁登り、鉄骨渡り
– 探偵ガジェットの使用
自動テストシステムの改善
開発
マルチプラットフォームと多言語化により、組み合わせが爆発
• 組み合わせの例
– プラットフォーム:4
– 字幕言語:9
– 音声言語:2
– DLC「海藤正治の事件簿」:あり・なし
• 上記だけで4×9×2×2=144パターン
– それぞれのメインシナリオ、サイドケース、ミニゲーム…
マルチプラットフォーム×多言語対応
自動テストであっても、
全組み合わせを網羅するのは不可能!
開発
リソースを最大限活用する組み合わせ
プラットフォーム字幕 音声 海藤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 フランス 英語 なし
制限の中でも
最大限の組み合わせを網羅
条件別に組み合わせが
ずれていくように設定
開発
• 日々のパッケージ更新で特定言語を起動できな
い不具合が頻発
– 海外拠点の翻訳QAに悪影響
– 時差による手戻りコストが高い
• パッケージ提出のたびに手動で確認…
多拠点開発での問題点
「龍が如く7 光と闇の行方 インターナショナル」開発時
開発
多拠点開発を支える自動テスト
【自動】全プラットフォームで実施
1. ゲームを起動
2. タイトルの設定で言語を切り替え
3. すべての言語切り替えが成功したら1
章からシナリオテストを開始
【手動】上記の動画を目視でも確認
– 進行不能もあるため
すべて手動でテストする時と比較して
確認時間と手戻りロスを大幅に削減
言語切り替えのみの自動テスト
自動化
QA部門、開発部門(と自動化技術者)全員で
「テスト自動化チーム(仮)」として
日々の自動テスト作成・運用に取り組んだ
テスト自動化・運用編◆まとめ
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
– 運用編
– 結果編
• QA部門
• 開発部門
• 自動化技術者
• まとめ
本講演の目次
QA
テスト自動化・結果編◆QA部門
QA部門内の「テスト自動化チーム(仮)」の動き
【良かった点】
※pkg = パッケージ pkg
更新
業
務
開
始
起動・
手動テスト
開始
pkg
ダウン
ロード
pkg
インス
トール
自動テスト
結果確認・
手動テスト
開始
自動起動・
自動テスト
開始
pkg
自動
インス
トール
pkg
自動
ダウン
ロード
pkg
更新
QA
【気づいたこと】
・事前準備の時間が必要
・繰り返しの確認が必要なものは自動化を試みるべき
・自動化した時のメリット・デメリットを事前に考慮
・手動テストと自動テストは異なる
テスト自動化・結果編◆QA部門
QA
【出来るようになったこと】
・開発部門と同じ環境で自動テストが出来るようになった
・Pythonを使って自動テストのための
スクリプトが書けるようになった
・自動テストの結果内容を理解して
必要な行動を取れるようになった
・自動テストの仕組みを理解した上で
自動化したいテスト内容を考えられるようになった
テスト自動化・結果編◆QA部門
開発
• テスト自動化チーム(仮)の変化
• 自動テストの実績
• 不安定なテストの減少による効果
テスト自動化・結果編◆開発部門
開発
• LOST JUDGMENT時のチーム構成
– メンバー
• 開発部門+自動化技術者+QA部門
– 担当箇所
• 管理、運用:2名
• テスト結果の見える化:2名
• スクリプト作成・保守:4名(QA部門2名は専任)
• 機材管理:若手プログラマの空き時間
– 自動テスト専用機材(ピーク時)
• PC:65台
• 開発機:43台
テスト自動化チーム(仮)の変化
開発
自動テストの実績(円グラフ)
自動テスト
16,930件
33.4%
JUDGE EYES:死神の遺言
自動テスト
手動テスト
自動テスト
19,007件
63.7%
大幅に
効率アップ
LOST JUDGMENT:裁かれざる記憶
開発
自動テストの実績(表)
エラー検知 規模 価値
自動
テスト
総数
自動
テスト率
自動テスト
稼働数
のべ
稼働時間
龍が如く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はインターナショナル版を含む
開発
自動テストの実績(表)
エラー検知 規模 価値
自動
テスト
総数
自動
テスト率
自動テスト
稼働数
のべ
稼働時間
龍が如く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はインターナショナル版を含む
アクションゲームでも
同水準の効率を維持!
多機種・多言語で増大する
組み合わせをカバー
開発
• テストケース
– メインシナリオ:100%
– サイドケース:90%
– ユースドラマ:100%
– ミニゲーム:100%
– TownGo(実績系):一部(手動テストチームからの要望)
– パフォーマンス計測:FPS/VRAM等
• 対応プラットフォーム:100%
• 対応言語:100%
自動テストのクリア率(カバー範囲)
開発
• 前作(JUDGE EYES)のデバッグ期
– メインシナリオのクリア率が不安定
– バグか自動テストの問題かの調査が多発
• 本作(LOST JUDGMENT)のデバッグ期
– メインシナリオの全クリアを日々100%維持
自動テストの精度が向上
不安定なテスト(Flaky Test)が減少した結果
再現率の低い不具合に気づくことができた
自動化
• QA部門、開発部門それぞれの成果として
– 開発側の自動テストの仕組みをQA部門が使用
し、協力して運用する事例ができた
• 自動化技術者として
– 間に入ることで、それぞれの部門に不足して
いる部分をサポートできた
テスト自動化・結果編◆まとめ
開発
• はじめに
• テスト自動化事例
– きっかけ編
– 準備編
– 運用編
– 結果編
• まとめ
本講演の目次
QA
開発
• QAテスターが自動テストを作成可能
– QAテスターの1人のカバー範囲が拡大
– ゲームの規模拡大でも品質を維持・向上
• マルチプラットフォーム・多言語に有効
– 爆発する組み合わせを自動テストでカバー
本事例でのテスト自動化の成果
QA
開発
• QA視点の自動テストの実施
• QAテスターからQAエンジニアへのキャリアパス
• 自動テスト稼働のための機材不足
– QA部門での稼働数を増やしていく
• 自動テストの作成・保守コストの増加
– スクリプトの自動生成を検討
今後の課題
開発
運用
環境
自動テスト
テスト自動化のロードマップ
ランダム入力
パス入力
ルールベースAI
プレイヤーAI スクリプト
画像認識
機械学習
テストケース
の設定
ログやキャプチャ
の自動収集
クラウド実行
環境
汎用化
テストケース
の自動生成
~龍3 龍4,5,0,極 龍6,極2,7
クラッシュ
レポート
最新ビルドに
更新して実行
テスト結果の
見える化
自動テストの
協力者を増やす
成果を示して
規模拡大
テスト自動化
チームの結成
みんなで
自動テスト
現在進行形
開発
• テスト自動化専任エンジニア:達成
• 若手プログラマ:達成
• QAテスター:達成
みんなで自動テスト
• ゲームデザイナー:レベルデザイン確認
• アーティスト:UIや背景の自動撮影
• サウンド:環境音等の再生条件確認
将来
開発
みんなで自動テストの実現に向けて
「テスト自動化チーム(仮)」の挑戦は続く
桑原 和人(株式会社セガ 第1事業部)
堀江 裕貴(株式会社セガ 第1事業部)
米澤 綾恭(株式会社セガ 第1事業部)
徐 文杰(株式会社セガ 第1事業部)
石井 航(株式会社セガ 第1事業部)
石山 莉帆(株式会社セガ 第1事業部)
越智 拓海(株式会社セガ 第1事業部)
白崎 真希子(株式会社セガ プロジェクト業務部)
小田内 敦史(株式会社セガ プロジェクト業務部)
共同研究・開発者
• 「龍が如く」の高速デバッグ術 ~そびえ立つバグの山を踏破するための弾
丸ワークフロー~
– 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
関連資料

Contenu connexe

Tendances

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWSzaki4649
 
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKAIncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKAGame Tools & Middleware Forum
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜Tetsuya Kouno
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ SEGADevTech
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニックGenya Murakami
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Mineo Matsuya
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだNarichika Kajihara
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All ThingsUnityTechnologiesJapan002
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 

Tendances (20)

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKAIncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
Constexpr 中3女子テクニック
Constexpr 中3女子テクニックConstexpr 中3女子テクニック
Constexpr 中3女子テクニック
 
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
Online MultiPlay Game Design
Online MultiPlay Game DesignOnline MultiPlay Game Design
Online MultiPlay Game Design
 
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろうUE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 

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

失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なことsono susumu
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2Sadaaki Emura
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略Naoki Umehara
 
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publishSadaaki Emura
 
WACATE2012WinterBPPsession
WACATE2012WinterBPPsessionWACATE2012WinterBPPsession
WACATE2012WinterBPPsessionSatsuki Urayama
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考えるyasuohosotani
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20JumpeiIto2
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpharyuji koyama
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015Kotaro Ogino
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテストLINE Corporation
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」yasuohosotani
 
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation Sadaaki Emura
 
MagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシMagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシKohei Tai
 
20191029 automation struggle
20191029 automation struggle 20191029 automation struggle
20191029 automation struggle Sadaaki Emura
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようNaoya Kojima
 
画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組みShuhei Furuya
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4favril1
 

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

失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
 
Q te cc2
Q te cc2Q te cc2
Q te cc2
 
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publish
 
WACATE2012WinterBPPsession
WACATE2012WinterBPPsessionWACATE2012WinterBPPsession
WACATE2012WinterBPPsession
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
JaSST Niigata'20
JaSST Niigata'20JaSST Niigata'20
JaSST Niigata'20
 
ITS fidel
ITS fidelITS fidel
ITS fidel
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテスト
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
 
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
 
MagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシMagicPodで自動化率を爆上げしたハナシ
MagicPodで自動化率を爆上げしたハナシ
 
20191029 automation struggle
20191029 automation struggle 20191029 automation struggle
20191029 automation struggle
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
 
画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み画像認識ベースのUI自動化フレームワークを用いた取り組み
画像認識ベースのUI自動化フレームワークを用いた取り組み
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
 

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