ブラックボックステストに関する記述として適切なものはどれか?

①全ての分岐についてのテスト
➁内部構造に基づいてのテスト
③全ての命令についてのテスト
④入力と出力に着目してのテスト

ソフトウェアテストで何か不具合が発生した際の原因は多岐にわたります。特にテストケースの漏れが原因になっていることが多くのソフトウェアテストで見受けられ、それらを効率よく発見するためにはテスト技法について理解を深めることが重要になります。

 


正解は、④入力と出力に着目してのテストになります!

ブラックボックステストとは、仕様書などからテストすべき項目を洗い出して、システムの中身を考慮せずに実施するテストになります。
例えば、あるシステムに「店舗ID」を入れて、内部の処理は考えずに、欲しい値(店舗名やWebサイト)が出力できているかのみを確認します。

①〜③は、全てシステムの内部構造を理解した上で、意図した通りに動作しているかを確認するためのテスト手法で「ホワイトボックステスト」と呼ばれています。
これは、プログラムの知識が必要とされることから、開発者自身の手で行われることが多いテストになります!

ちょっと応用:ブラックボックステストによく使われる4つの技法

ブラックボックステストの手法を網羅型と削減・標的型に分けて説明いたします。網羅型は、全ての入力と出力を組み合わせて可視化する方法で、削減・標的型は、データを組み合わせたり削減することで効率的にテストを行う方法になります。

網羅型:状態遷移図・状態遷移表

システムの全体像を状態や起こるイベントに分けてその因果関係を図表でまとめたものになります。ユーザーの実際の状況が可視化されるため、ソフトウェアの設計段階で作成することもあります。

網羅型:デジションテーブル

対象が取り得る条件(入力)と、その結果の動作(出力)を洗い出した上で整理して、マトリクス常に一覧化した表になります。複雑な条件と動作の組み合わせが整理され、そのロジックの理解を容易にして、抜け漏れを防ぐことができます。

削減・標的型:同値分割・境界値分割

同値分割とは、入力データを範囲ごとにグループ化して、グループの中で代表的な値を1つテストケースとして選ぶ方法になります。各グループを代表する値を1つテストケースに選ぶことにより、少ないテストケースで効率よくテストを実施できます。
境界値分割とは、同値分割で作成したグループ間の境界にあたる値をテストデータとして採用する方法になります。両方の方法を合わせて利用するとより効果的といえます。

直交表やAll Pairs法などの組み合わせ技法

この二つの技法では、テスト結果を左右する「因子」と、その因子ごとに起こり得る値である「水準」を組み合わせた表を用います。例えば、「季節」という因子に対して、「春」「夏」「秋」「冬」の4つの水準があるイメージになります。
直交表は、複数の因子から任意に2つを選び、全ての水準を組み合わせてテストします。一方、All Pairs法は、任意の2つに対して、全ての水準を1回以上組み合わせるようにテストを行います。