ソフトウェアテストの方法の一つである「ブラックボックステスト」について、テストの内容や特徴、方法の種類について解説していきます。
ソフトウェアテストの一つとして挙げられる「ブラックボックステスト」とは、システムの内部構造を考慮せず、インプット・アウトプットのみに着目してテスト対象の振る舞いを確認する方法のことを言います。「振る舞い技法」「振る舞いベースの技法」という呼び方をされることもあり、システムの内部構造に着目するテストである「ホワイトボックステスト」とは大きく異なります。
ブラックボックステストではシステム自体の仕様を満たしているかどうか、画面表示などのユーザーインターフェースの不具合・レイアウト崩れなどがないかを確認するのがねらいです。性能の確認や、使用上の不便さなどを確認するために行われます。
ブラックボックステストを行うにあたり、以下のようなテスト方法が存在します。
テスト対象のシステムにおいて、同等に処理されると想定したデータを「同値パーティション」「同値クラス」と呼ばれるグループに振り分けてテストを行います。
例えばユーザーを「20歳以上」「20歳未満」で振り分けるテストを行う場合、0歳~19歳の人は等しく「20歳未満」として振り分けられるため、「同値クラス」とします。
テストとしての有効性を保ちながら、テストケースを大きく削減して効率を高めるのが目的です。
同値分割法を拡張したテスト方法として知られており、同値クラスにおける最小値・最大値を「境界値」と定義した上で、その境界値や前後の値を用いてテストを行う方法です。
境界値の付近では特に不具合が発生しやすいとされているため、境界値分析を用いて境界値付近を重点的に検証することが重要になります。
デシジョンテーブル(決定表)は、対象が取り得る条件とそれに伴う結果として生じる動作を整理し記述した表を指します。このデシジョンテーブルを用いてテストを行う方法が「デシジョンテーブルテスト」です。
デシジョンテーブルテストでは、それぞれ条件が真であることを「Y」、条件が偽であることを「N」と記します。さまざまな条件と動作をもれなく洗い出すことができるため、テスト漏れや不具合の検出漏れを防ぐ目的で行われます。
テスト対象のシステムとやり取りするユーザーやシステムと、テスト対象との相互作用を表現したものを「ユースケース」と呼びます。シナリオテストでは、ユースケースよりも自由度の高いシナリオに基づいてテストを実行します。
例えば2つ以上のユースケースを横断するようなシナリオを作ってテストを行うこともあります。
ユースケーステストは、ユースケース図・記述によって条件が明確化されており、ユースケースをテストベースとしてテストを設計・実行します。
テストケースがやみくもに発散してしまうことを防ぐ他、トレーサビリティ・網羅性をチェックしやすいという特徴があります。
ソフトウェアテストの悩みは、そのほとんどが「品質・コスト・納期(QCD)」に関わる課題です。しかも早急に対応が必要なことが多いので、QCDの課題解決に長年携わってきた、実績の豊富な第三者検証会社に依頼するのがベター。このサイトでは、「テスト対象別」におすすめの3社を詳しく紹介しています。ぜひ以下のボタンからチェックしてみてください。
ブラックボックステストを行うことには、以下のようなメリット・デメリットが挙げられます。
ブラックボックステストの特徴は、内部構造や情報の処理方法などを一切考慮しないという点です。そのためテスト自体に時間がかかることはなく、結果重視の効率的なテストを実施できるのがメリットです。
また、効率的なテストでありながらも、ユーザーインターフェースの不具合や正しい出力ができているかの確認をハッキリと取ることができるのも特徴。短時間で使用上の不便さやデザインなどを確認できるため、ユーザー視点からの評価をしやすいという点もメリットとして挙げられます。
内部構造や情報の処理方法を一切考慮しないため、内部の潜在的なバグや不具合を検知しきれない点はブラックボックステストのデメリットです。そもそもの仕様が間違っていたり、抜け漏れ・矛盾が含まれたりする場合には適切なテストを行えません。
もし仕様に間違いがある場合は不具合として扱われるべきですが、ブラックボックステストでは結果が「仕様通り」となれば不具合が見逃されてしまいます。
また、エンジニア自身がテスト対象への深い理解・注意力を持つことが、ブラックボックステストでは必要不可欠となります。
ホワイトボックステストは、ブラックボックステストと対象にテスト対象内の構造と処理に重点を置いたテストです。詳細設計やコードなどの正しさを確認する必要があるためテストエンジニアが行うブラックボックステストと違い、テスト対象のコードや内部構造をしっかり把握している開発者が実施するという特徴があります。
また、ホワイトボックステストプログラムの規模が大きくなるほど理解に時間がかかるため、コストが増大しやすいという特徴もあります。
経済を支え続ける産業製品や、IoTとして進化する家電・自動車。
ARやVRなど新たな技術でさらに加速していくエンタメ分野。
仮想通貨の登場や貯金→投資シフトで市場規模が拡大するFintechの3つから、
それぞれおすすめの検証会社をご紹介しています。
1995年の創業以来、1,200件以上のテスト実績を持ち、豊富な経験で製品の品質向上を支援。テストだけでなく、IoT機器の分野でも改善提案も対応。
医療機器/電子工学機器/スマートホームデバイス/自動車・車載ソフトウェア/OA機器/産業用ロボット
機能検証だけでなく、UIUX・キャラクター性能バランス・クエスト難易度・ランダム要素の公平性などユーザー視点でフィードバック。
ゲーム開発/マンガアプリ/ライブ配信サービス/VR/イラスト・アニメーション/WEBサイト
生保会社出身や損保系システム検証経験者など、同業界内の知識を持つエンジニアが多く在籍するほか、脆弱性診断やペネトレーションテストも依頼可能。
キャッシュレス決裁サービス/金融商品取引/会計ツール/不動産投資/金融システム開発・保守