GREE Tech Conference 2021 で発表された資料です。 https://techcon.gree.jp/2021/session/ShortSession-4
組み込み開発のテストとゲーム開発のテストの違いグリー株式会社 QAグループ シニアマネージャー堀⽶ 賢
View Slide
2⾃⼰紹介⽒名と所属主な仕事内容略歴堀⽶ 賢(ほりごめ さとし)Customer & Product Satisfaction部QAグループ シニアマネージャー障害削減、QAコスト最適化の推進リスクマネジメント、プロダクト品質向上提案QAグループ技術向上の推進 など組み込み系ソフトウェアのテスト技術者を経てグリーに⼊社。ベンダ連携やテスト内容の改善、メンバーの技術向上に向けた勉強会開催など幅広く活動中。CEDECに過去4回登壇
3今回お話する前提製品例開発プロセス開発期間テスト規模組み込み開発 ゲーム開発ウォーターフォール型(派⽣開発が多い)アジャイル型(新規と運⽤がある)半年〜数年新規︓1〜2年(増加傾向)運⽤︓数⽇〜数週間数⼗⼈新規︓10〜20⼈運⽤︓数⼈※期間、規模は⼀例です。※あくまで個⼈の経験/⾒聞の範囲となるため、⼀般論と異なる内容も含まれます。
4今回お話すること1.構成管理の違い2.テスト設計⽅法の違い3.テスト体制の違い4.さいごに
5今回お話すること1.構成管理の違い2.テスト設計⽅法の違い3.テスト体制の違い4.さいごに
6ソフトウェアの更新管理組み込み開発 ゲーム開発フェーズ開発α β1 βn …既存機能実装追加機能実装①…追加機能実装nβ1不具合修正βn不具合修正特徴α β …基本機能実装アセット変更本番データ⼊稿仮データ⼊稿…インクリメンタルな開発で、各フェーズごとに計画された機能を実装する。バージョンは規則的に設定され、更新タイミングがそのまま開発のマイルストンになる。イテレーティブな開発で、随時アセットを更新/変更する。バージョン内での開発要件が流動的で、要件リストなどを⽤いることがある。テスト⽤ビルドのバージョンは都度確認。……
7仕様の更新管理組み込み開発 ゲーム開発運⽤特徴既存モデルの仕様書をベースに、新規機能分を追加し、バージョンをインクリメントする。要件追加等で開発中に変更があった場合、変更分とバージョンを更新する。開発の全体像となる機能は、箇条書きや要件ベースでドキュメント化されることがある。仕様の変動が多いため、都度の更新はせずにリスト管理などで運⽤する。v1.0.0既存機能v1.1.0追加機能込変更管理シート仕様書開発要件リスト
8ゲームのテストに活⽤した点・ゲーム開発は、仕様/ソフトウェアの変更や追加、削除が多くプロジェクトの変動性が⾼い。・マクロな視点で、⾒積もりやテスト内容をコントロールすることが重要(その上でテスト技術が⼤事)。変更が多いため、ミクロな視点になりがちマクロな視点で全体をコントロールすることが重要・場当たり的なアサイン・テストの重複・計画的なアサイン・重複の抑制
9今回お話すること1.構成管理の違い2.テスト設計⽅法の違い3.テスト体制の違い4.さいごに
10テスト設計⽅法の特徴組み込み開発 ゲーム開発開発の特徴・仕様の変動が少なく、段階的に機能開発する・機能不具合が返品や事故につながる可能性があるため、安⼼/安全を重視する・仕様の変動が多く、実装済の機能に対しても後から変更されることがある・ユーザーから⾒た価値が変動しやすく、市場において、より魅⼒的であるかを重視するテスト設計の特徴・⾼いカバレッジを達成するためにテストアーキテクチャ設計をする・機能テストは詳細なローレベルテストケースを⽤いる・経験ベースのテストや探索的テストは機能テストを補完するかたちで実施する・組み合わせや条件を網羅するためにテスト設計技法を適⽤する・仕様変更に対応するため、⼀部機能については抽象度の⾼いハイレベルテストケースを⽤いる・経験ベースのテストや探索的テストは機能テストと並⾏して⼀定の⼯数をかけて実施する・状態の変化や設定の境界を網羅するためにテスト設計技法を適⽤する
11ゲームのテストに活⽤した点・仕様の変動が多いため、テストの抽象度が⾼く属⼈化しやすい。また網羅性が確認しづらい。・テストケース詳細化の粒度とテスト観点の教育、網羅性の可視化などが重要。機能 ⼿順 期待結果チュートリアル チュートリアルを進⾏する チュートリアルが問題なく進⾏すること※テストケース例機能 事前条件 ⼿順 期待結果チュートリアル開始 インストール後の初回起動ゲームを開始する チュートリアルが始まることクエスト↑から継続して進⾏クエストへの案内を選択するクエストの説明が始まること・・・観点説明資料マニュアル等+・属⼈化しやすい・テストできているか不明瞭・⼀定⽔準でテストできる・テスト内容が明確
12今回お話すること1.構成管理の違い2.テスト設計⽅法の違い3.テスト体制の違い4.さいごに
13稼働場所とアサイン⽅法組み込み開発 ゲーム開発オンサイトオフサイト開発担当 テスト担当テストリーダーテストメンバーテストメンバー接続互換性テスト、多端末テストなどで稼働する可能性あり。開発担当 テスト担当テストリーダースタジオリーダーテストメンバーテストメンバー※テストメンバーは固定アサイン※テストメンバーは都度アサイン
14ゲームのテストに活⽤した点・スケジュールの変動が多いことなどから、固定したアサインが難しい。・精度の⾼いテストを実現するために必要な情報連携を意識したテストスタジオとの関係構築が重要。⾃社スタジオテスト担当テストリーダースタジオリーダーテストメンバーテストメンバー密な状況連携・アサインミスの抑制・テスト精度の向上
15今回お話すること1.構成管理の違い2.テスト設計⽅法の違い3.テスト体制の違い4.さいごに
16さいごにソフトウェアテストの対象ドメイン例・ソフトウェアテストのアプローチは様々で、対象ドメインの違いで変わってくるが共通することも多々ある・それぞれの特徴を認識して、参考にすることで現場課題の解決につながる可能性がある
17