ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
「デバッグ」の求人をよく見かけるものの、具体的にどんな仕事なのか分からない方も多いのではないでしょうか。この記事ではデバッグとはどんなものか、よく混同されるテストとの違いを含めて分かりやすく解説します。
よく混同される、テストとの違いはなんでしょうか?
上述したとおり、デバッグとは本来、「バグを検出→解析→修正」といった一連の行動のことを指します。
対してテストとは、不具合(バグ)から発生する故障を発見することを指します。ここで言う故障とは、「システムに要求された機能を実行できないこと」という意味合いです。テストはデバッグと異なり、バグの修正は含まれません。テストを計画し、実行するのは、一般的に専門のテストマネージャーやテスターです。両者の違いを表にまとめてみると、以下のようになります。
両者の違いを表にまとめてみると、以下のようになります。
デバッグ | テスト | |
仕様通りに動作するかの確認 | × | 〇 |
不具合(バグ)の検出 | 〇 | 〇 |
原因の特定 | 〇 | × |
不具合(バグ)の修正 | 〇 | × |
不具合(バグ)修正後のチェック | 〇 | 〇 |
実行者 | プログラマー デバッガ― | テスター |
しかしゲーム業界に限っては、開発中のゲームを「テスト」することを「デバッグ」と呼ぶ慣習があります。つまり、ゲーム業界におけるデバッグでは、バグを検出するところまでで、修正は含まれません。バグを修正するのは、あくまで開発者です。IT業界などがこれらの言葉を使うときとその意味が異なっていますので、注意してください。
ではなぜゲーム業界ではテストのことを「デバッグ」と呼ぶようになったのでしょうか。これは推測ですが、第三者検証会社が、開発者が行っているデバッグの一部(バグ出し)を担当することから、デバッグという言葉を使い営業したため浸透したと思われます。また、「デバッグ」の中では「バグを出すこと」が重要であり、このことから「バグ出し」が「デバッグ」と呼ばれるようになったのではないかと推測できます。
ただし、ゲーム業界におけるデバッグ(ゲームデバッグ)と、テスト(ソフトウェアテスト)には、作業内容や目的の違いがあります。古くから行われてきたのはデバッグのほうですが、近年ではソフトウェアテストの手法を取り入れる会社も多くなっています。では、ゲーム業界におけるデバッグとテストの違いをご説明します。
まずゲーム業界におけるデバッグとは、ゲームに長けた担当者がプレイヤーの視点に立って実際にプレイし、その中でゲームを評価したりバグを発見したりする一連の行為を指します。「ゲームの評価」とは具体的に言うと、操作方法や仕様が分かりやすいか否か、プレイヤーが迷うことはないかといった判断をすることです。
対してゲーム業界におけるテストでは、まずはそれぞれの機能に対して、どういう観点でテストをするのか、どういう条件・パターンでテストをするのか、という設計をし、テスト項目を作成します。そして、その項目を実行し、実行結果をまとめるまでがテストです。
デバッグは、デバッグをする人のスキルや経験にゆだねられるところがあり、属人的・場当たり的な側面があるのに対し、テストは非属人的、論理的であるという特徴があります。 ただし、実際にプレイヤーの視点に立つことで見えてくることもあるため、デバッグにはテストにはないメリットもあります。
ゲーム業界におけるデバッグ・テストは、いずれもバグ(欠陥)を発見するという共通の目的があるものの、そのゴール(目的)にも大きな違いがあります。
まずデバッグの目的は、できるだけ多くのバグを発見することです。プレイヤーが実際にゲームを進めていくのと同じ経路のなかで、バグなくスムーズにプレイできるようになることを目指します。ただし、品質や、全てのバグを発見する保証はできません。
対して、テストの目的は大きく分けて4つあります。
1:バグを見つけること
2:テスト対象(ゲームやシステム)の品質状態を確認すること
3:テストから得られた様々な情報を収集・集計・分析をして、顧客に提供すること
4:バグの作りこみを防ぐこと(生み出さないようにすること)
このように、単にバグを発見するにとどまらず、様々な目的を持って行われます。
ゲーム業界でのテストでは、テストの結果が正しく出るところまでを保証します。逆に言えば、テスト項目として挙がっていない内容については保証に含みません。
ゲーム業界におけるデバッグとテストの違いを、RPG系のゲームを例にとって考えてみましょう。
このとき「デバッグ」では、プレイヤーと同様に1からストーリーを進め、操作の分かりやすさを評価しながら、バグをできるだけ多く検出していく作業を指します。デバッグでは「ここを重点的に確認してほしい」といった指示を上長から受ける可能性はあるものの、基本的には作業者が主体的に作業を進めることが必要です。
プレイヤー視点で作業を実施するデバッグにおいて、担当者は全てのバグを検出することまでは求められません。「どれだけバグを検出できるか」「ゲーム開発に役立つ評価をどのくらいできるか」は、担当者個々の能力に左右されます。
一方「テスト」では、プレイヤー視点でストーリーを進めるのではなく、確認すべきシーンごとに作業を実施します。たとえば「設計した通りダンジョンを進めるか」「敵と戦えるか」などの観点を、あらかじめ策定したテスト項目に従って確認していくわけです。デバッグのように主体的に作業を進めるというよりは、忠実かつ正確にテスト項目を実行することが求められます。 テストを実行する担当者は、ゲームの操作のしやすさやわかりやすさを評価するデバッグ担当者のように、主観は求められません。その反面、科学者のように客観的に作業を進めていく必要があります。
本来「デバッグ」とは、バグの原因を解析し修正する行為を指します。対して「テスト」とは、プログラムのバグによって生じた故障を発見することです。
ゲーム業界においては、開発中のゲームを「テスト」することを「デバッグ」と呼ぶ慣習があるので注意しましょう。代わりにゲーム業界におけるデバッグで行うのは、故障の発見までであり、バグの修正までは含まれません。バグの修正は、ゲームの開発者が行います。
また、ゲーム業界における「デバッグ」は、デバッグをする人のスキルや経験にゆだねられるところがあり、属人的・場当たり的な側面があります。対してゲーム業界における「テスト」とは、あらかじめ策定したテスト項目に従い、開発中のゲームが仕様通りに動作するかチェックしていく作業を指します。テストした範囲においてバグを検出し、品質を保証することが、テストの目的です。
AIQVE ONEではデバッグとテストの違いを明確にした上で、それぞれの手法の良い部分をとりいれて、テストを実行しております。
ソフトウェアテスト
【6.テストツール編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【5.テストマネジメント編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【4.テスト分析と設計編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【3.静的テスト編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【2.ソフトウェア開発ライフサイクル編】JSTQB Foundation Levelシラバス最新版の具体的な変更点まとめ
ソフトウェアテスト
【1.テストの基礎編】JSTQB Foundation Levelシラバスの最新バージョンが公開!具体的な変更点まとめ