組み込み開発のテストと
ゲーム開発のテストの違い
グリー株式会社 QAグループ シニアマネージャー
堀米 賢
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

組み込み開発のテストとゲーム開発のテストの違い