Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組み込み開発のテストとゲーム開発のテストの違い
Search
gree_tech
PRO
November 11, 2021
Technology
0
280
組み込み開発のテストとゲーム開発のテストの違い
GREE Tech Conference 2021 で発表された資料です。
https://techcon.gree.jp/2021/session/ShortSession-4
gree_tech
PRO
November 11, 2021
Tweet
Share
More Decks by gree_tech
See All by gree_tech
kustomizeをいい感じに使う方法
gree_tech
PRO
3
820
スケーラビリティとコスト管理 Google Cloud Spanner 費用最適化の取り組み
gree_tech
PRO
0
480
「アナザーエデン 時空を超える猫」の5年前のログを引っ越してデータドリブンで事業運用プロセスを改善した話
gree_tech
PRO
0
340
Unity,PHP+Jenkins+GAS 多言語対応を意識させない開発を目指したシステム構築
gree_tech
PRO
0
780
全社総会における「REALITY Spaces」の活用と、Addressableを用いたコンテンツ配信技術について
gree_tech
PRO
0
450
AWSのEKS環境でログ機能を構築/リリースしたお話
gree_tech
PRO
0
340
「ヘブンバーンズレッド」の大規模アップデートにおける国内及び翻訳QAの取り組み
gree_tech
PRO
0
410
アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み
gree_tech
PRO
0
640
REALITYアプリのメンテナンスなしでの機能リリースを実現する、Istio導入とB/Gデプロイ実現の取り組み
gree_tech
PRO
0
520
Other Decks in Technology
See All in Technology
Databricks における 『MLOps』
databricksjapan
2
170
Cracking the KubeCon CfP
inductor
2
220
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
200
開発パフォーマンスを最大化するための開発体制
ham0215
2
180
Janus
bkuhlmann
1
490
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
160
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
170
DevOpsDays History and my DevOps story
kawaguti
PRO
9
2.4k
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
150
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
NgRx Signal Store
rainerhahnekamp
0
140
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Clear Off the Table
cherdarchuk
84
310k
Typedesign – Prime Four
hannesfritz
36
2.1k
A Tale of Four Properties
chriscoyier
151
22k
Product Roadmaps are Hard
iamctodd
44
9.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
How to train your dragon (web standard)
notwaldorf
73
5.2k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
BBQ
matthewcrist
80
8.8k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Faster Mobile Websites
deanohume
299
30k
Transcript
組み込み開発のテストと ゲーム開発のテストの違い グリー株式会社 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