応用情報22年秋 午前 問46
【中分類】
システム開発技術−5. ソフトウェアコード作成及びテスト−(7)ソフトウェアユニットのテスト
【問題を解く前に】
テストの行い方としては、ブラックボックステストとホワイトボックステストがあります(グレーボックスを入れる人もいるけど)
ホワイトボックステストは、単体テストの際、ソースコードの中身が見える状態において、
プログラムの命令がすべて通ったかとか、IF文などの条件文が全て通ったかといった、
命令網羅、条件網羅などを確認します。網羅率が指標となります。
ブラックボックステストとは、主に結合・総合テストなどで(単体でもあるけど)ソースの中身が
見れないときに、中身はブラックボックスとして、入力にこれを入れたら、出力はどうなるかで
確認するテスト。
まず、結果が同じになるものをあつめ(同値)、そこから代表的なものを取り出して行う同値分割
や、その際、値の境界値を特にチェックする限界値チェック(境界値チェック)もあります。
【解き方】
ということは、ホワイトボックスに関係するのは・・・
【答え】
(ウ)
【解き終わって】
ホワイトボックスは、網羅率しかみません。ということは、もし、
if( x==5 || y==2)
という条件式があったとき、ホワイトボックステストでは、このif文のtrue,falseしか判断しません。
それじゃあ、試験にならないからというので、x==5でyが2でないケースと、y==2でXが5でないケース、
両方成立するケース、両方成立しないケースなどにわけてしまうと、それは、ホワイトボックスではありません。同値分割しちゃってますから。
でも、ブラックボックスでもありません。ソース見ちゃってますから。
そこで、このように、ソースコードを見て、分岐部分を、同値をみて分解してしまう手法を「グレーボックス」と”いう人もいます”が、まだ、市民権を得ている用語ではありません。