「ゲームプログラミング/デバッグ」の版間の差分

削除された内容 追加された内容
→‎個別チェックと通しプレイ: 工学の話は「設計の理論」に移動。
928 行
 
===== 異業種との関連 =====
ゲームに限ったことではないのですが、上記のように部品ごとにチェックと、全体の組み合わせたあとのチェックとの組み合わせは、製造業などの製品開発でもよく行われます。
 
少なくとも、自動車業界はそうです。
 
個々の材料部品などは、実際に引張り試験や荷重試験などを実際に物理実験を行い、部品の耐久値が規定や要求仕様を満たしているかを、事前に確認します。そして自動車の走行試験や衝突試験などは、実際に部品を組み立てて製品の状態である自動車にしてから走らせて見るしか、方法はありません。
 
チェックにおいて、シミュレーションなどは無駄です。なぜなら、もしそのシミューレション手法自体にバグや不具合が潜んでいたら、元も子もありません。
 
「チェックの最終確認においてシミュレーションが無駄」といのは、これは自動車業界だけでなく、航空宇宙などでも同様です。日本のJAXAは「はやぶさ」の部品モジュールの開発において、実際に部品を組み立てたうえでの(シミュレーションではなく)物理実験をしています(※ 講談社ブルーバックス『小惑星探査機「はやぶさ」の超技術』で確認できます。)。また、産業技術総合研究所での測定の国家標準器開発などでも同様の手法であり、実際に測定器を製品として組み立てた上での物理実験をしています(テレビ番組では、TBS科学番組『夢の扉』でメタンハイドレート採掘の産総研の研究者が、そうシミュレーションの問題点を指摘しました)。
 
ソフトウェアの開発では原理的に物理実験は無理ですが、それでも不具合対策の確認は、最終的には、実際にそのソフトをユーザー視点で使用してみる「実践」/「試用」しかありません。
 
ソフトウェア業界だと、個々の部品ごとにチェックすることを「単体テスト」といいます。一方、全体的に組みたててみてチェックすることを「ビッグバンテスト」と言います。
 
ソフトウェア業界では あまり体系化されてませんが、上述の自動車業界や航空宇宙などのチェック方法を参考にした結果、必然的にソフトウェア動作チェックでも「単体テスト」と「ビッグバンテスト」をなるべく交互に行うことが必要だという結論が導かれます。