こんにちは、ナカムラです。
みなさん、ゲームソフトの品質と聞いて、頭に思い浮かぶのは何ですか?
・グラフィックの綺麗さ
・サウンドの良質さ
・ゲームの面白さ
等でしょうか?
プログラムの品質に注目して考えると、次のようなものも品質の一つとして捕らえることが出来ます。
・処理速度
・バグの少なさ
「えバグなんて、無くて当然でしょ?多いとか少ないとかの問題じゃなくて。」
最終的な製品を手にするユーザーの皆さんから見れば、その通りかもしれません。
しかし、製品になった時点でのバグだけでなく、開発途中のバグの少なさも重要なのです
開発中であれ、バグが少なければ少ないほど、デバッグに費やす時間が短くて済み、その労力を他のクオリティアップに回せるのですから。
では、開発途中のプログラムに関してバグが少ないかどうか、どうやって計れば良いでしょうか?
発見されているバグの数が少ないからといって、プログラムの品質が高いとは限りません。
テストの質が悪くて、存在するはずのバグが見つけられてない場合も、バグの数は少なくなりますからね
つまり、バグが少ないかどうかの品質を計るには、まずテストの品質が高いかどうかを確認する必要があるのです。
今回は、そういったテストについて書かれた本をご紹介します。
著者は、マイクロソフトで品質管理をされていた日本人の方です。
本のタイトル通り、初心者にもわかりやすい内容になっています
この本では、不具合やテストに関する品質を見える化する為の指標(メトリックス)をいくつか紹介しています。
・不具合のメトリックス
重要度を考慮した上での、バグ発見数の推移
コンポーネント毎のバグ発見数
・テストのメトリックス
ソースコードの何%をテストしたのか?
テスト担当者以外のバグ発見数
テスト種類数、テストの自動化率
・ソースコードのメトリックス
追加、削除、変更されたコードの行数
ソースコード1000行あたりのバグの数はいくつか?
複雑度はどれくらいか?
などなど・・・
就職作品を作る時など、比較的小規模の開発なら、ここまでのメトリックスを気にする必要はないとは思いますが、
「他と比べて、実行回数が少ない(テストが少ない)処理は無いだろうか?」
という程度は注意してみた方がよいかと思います。
折角の作品がストップしてしまうと、印象が悪くなりますからね
この本には他にも、バグの潜みやすい箇所、バグを見つける時の基本テクニックなどが紹介されています。
作品提出前にこの本を読んで、バグチェックしてみてはいかがでしょうか