【ソフトウェアテスト】テストとデバッグの違いって?初心者向けに解説!

テストとデバッグの違いについての記事のアイキャッチ 未経験からのIT挑戦!

テストエンジニアの求人を見ると職種に「デバッガー」や「デバッグ」と書かれているのを目にすることがあるかもしれません。単純に言うとテストをする人はテスター、デバッグをする人はデバッガーなのですが、これらの違いは一体なんなのかを今日は解説してみようと思います!

💡 テスターやテストエンジニアについてはこれらの記事を読んでみてください!

テストとデバッグの違い

テストとは、名前のとおりテスト、つまり「検証」や「試験」ということです。つまり、ソフトウェアが「考えていた通りに動くかな?」ということの確認作業をテストと言います。

考えていた通りに動いていないことが確認できた場合、その原因を調査、修正する必要があります。そして、その作業それ自体をデバッグと言います。

新米エンジニアがデバッ「ク」と発言するとデバッ「グ」ね、と突っ込まれるのが恒例です。

これ、「日本語のなまり」みたいなものなので正直どちらでもいいのですが、「debugなんだからデバッグ」でしょ!という意見の方が強いという印象です。英語の発音だと「ディバァグ」という感じなのでデバッグも違うといえば違うのですが、debugという単語を見れば「グ」の方が自然ですしほぼ日本語みたいなものとして「デバッグ」と覚えておくのが吉です。


以上が、基本的なテストとデバッグの違いなのですが、ゲーム業界では事情が異なる場合があり、ゲームソフトのテストのことをデバッグとかゲームデバッグと呼ぶことがあります。

なので、ゲームソフトのテストをする人のことをデバッガーと呼んだりするんですね。

これがなんでそうなったのかはイマイチよく分かりませんが、単にゲーム業界特有の慣習だと思っておけば大丈夫です。

具体例で見てみよう!

ざっくりテストとデバッグについて書きましたが、実際の作業ではどのような流れになるかを見てみましょう!

ボブの希望は叶うのか!?
  1. ボブは「そのサイトにアクセスしたら自分の名前が勝手に表示されてほしいよ!」という希望を出しました
  2. アニーは「んじゃ、画面の右上の方に『ハロー!ボブ!』とかユーザーの名前が表示できるようにするのはどうかな?」という仕様を提案しました
  3. ボブが「その仕様でいいよ」と言ったのでアニーは『ハロー!○○!』とユーザー名が表示できるように開発しました
  4. アニーが「できたよ」と言ったので、ミユキは仕様通り動くかを確認することにしました
    👉 これは「テスト」!
  5. ミユキは『ゲンイチロウ』というユーザー名でしたが、サイトにアクセスすると『ハロー!ボブ!』と表示されることを発見したのでアニーに報告します
    👉 これは「テスト」!
  6. アニーは「そりゃ困ったね」と言いながら原因を調査することにしました
    👉 これは「デバッグ」!
  7. アニーはプログラムにミスがあったので修正し、自分でも正しく動作するかを確認してからミユキに渡しました
    👉 これは「デバッグ」!
  8. ミユキは『ハロー!ゲンイチロウ!』と表示されることを確認したので、ボブに報告して帰宅しました
    👉 これは「テスト」!

よかったねボブ!ということでなんとなく分ったでしょうか…?茶番が邪魔でよく分からなかったらすみません…。

ある機能が「具体的にはどんなルールのものなのか?」というような決めごとを「仕様」と呼びます。今回の例だと「ハロー!ボブ!」なのか「こんちはボブさん」なのかという仕様を決める必要がありました。

ゲームのテストは他のテストと違うの?

さて、ここからはゲームデバッグの話を少ししてみたいと思います!

ソフトウェアテストの分野

まずソフトウェアテストと一口で言っても、分野によって必要な知識や実際の業務は結構違ったりします。まずは分野の例を見てみてください。

ソフトウェアテストの分野の例
  • Webアプリ、Webサイトのテスト
    👉 今ご覧のこのサイトや、お買い物をするサイトなどのブラウザで動くシステムのテスト
  • スマートフォンアプリ
    👉 地図アプリやLINEのようなメッセージアプリなどのテスト
  • PCのネイティブアプリ
    👉 オフライン版のExcelやメモ帳などのPCで動作するソフトのテスト
  • 組み込み系
    👉 ざっくりパソコン以外の家電などに組み込まれたプログラムのテスト

他にもいろいろと分類できるとは思いますが、ざっくりこんな違いがあります。ではゲームはこの分類のどこに属するかというと全部に属する可能性があります。

ゲームソフトの多様性
  • Web上で動く「ブラウザゲー」
  • スマホで動く「FGO」などのアプリ
  • PCで動く「PUBG」などのソフト
  • PCとは分離した専用の環境で動く家庭用ゲーム機などの組み込み系

ということで、ゲームというのはソフトウェアの種類のひとつなので、「Webアプリのテストとゲームのテスト」や「スマホアプリのテストとゲームのテスト」などのように比べるものではないはずなのですが、実際のところゲームのテストは一般的なWebアプリのテストやスマホアプリのテストとは異なる部分がたくさんあります。

ゲームデバッグの「特殊」な部分

ゲームの場合、ユーザーの操作の自由度が高いうえに、一人のユーザーが扱うデータの量(たとえばアイテムの種類)が膨大になりがちです。※アセットと呼ばれる画像などの素材も膨大です。

また、そのプログラムの特性上、メモリリークなどの特殊な問題が起こりやすかったり、表現方法(激しい明滅や差別的な表現がないか)や著作権等の理解も必要になったりします。

その他、画面の見え方や音の聴こえ方など、テストする内容があまりにも広く多いため、その他のソフトウェアテストとは区別して語るのが現実的です。

テストが膨大になるという背景もあってか、ゲームデバッグはソフトウェアテスト業界の中でも特にテスト自動化の取り組みが熱心に行われているように思います。

ゲームデバッグの求人の注意点

そんな難しいゲームデバッグの求人ですが、「ゲームが好きな人あつまれ!」みたいな軽いノリでなぜか沢山あります。

これは「とにかく人手が必要!」であったり「ひとつひとつの細かい作業は単純作業」であったりすることが理由のひとつで、アルバイトでの求人が比較的多いです。

当ブログの方針としては、IT業界に入ってからも収入アップやスキルアップを狙ってほしいため、もしゲームデバッグの仕事を探す場合でも、できるだけ「正社員としての募集」「正社員登用の文言がある求人」を探してみてほしいです。

当たり前のようですが、難易度の高いゲームなどでも何周もクリアしたりしないといけなかったりするので、ゲームが大好きだったり、ある程度の腕前がないとつらいかもしれません…!

まとめ:自分に合ったテストの仕事を見つけよう!

ということで、今回はテストとデバッグの違いについて解説してきましたがいかがでしたでしょうか?

当ブログでは未経験でのIT業界転職であれば、ゲームデバッガーよりも(ゲームに限らない)テストエンジニアを目指すことをおすすめはしているのですが、ゲームが大好きだったり熱意がある場合にはすごくやりがいのある仕事だと思います。

また、どの分野のテストでも重要な工程であることに変わりはないので、この記事を参考にご自身に合った職種を考えてみていただけると嬉しいです!

コメント

タイトルとURLをコピーしました