(写真はイメージです/PIXTA)

人々は機械や技術の核心部分をよく理解せずに信じて使用してきました。これは、ブラックボックスといえるでしょう。AI時代、こうしたブラックボックスがどんどん広がるなか、どのように対応していきばいいのでしょうか。ニッセイ基礎研究所 篠原拓也氏の解説です。

「ブラックボックステスト」には限界がある

コンピューターシステムでは、ブラックボックスが正しく動作するかどうかを確かめるために、「ブラックボックステスト」と呼ばれる方法がとられる。これは、ブラックボックスの中身を理解せずに、ブラックボックスへのインプットと、そこからのアウトプットをもとに、テストをするというものだ。

 

たとえば、適当な年月日をインプットしたときに、実際にそういう日があるかどうかを判定するシステムを考えてみよう。このシステムは、「2022年6月28日」や「2022年10月31日」といった実際にある日のインプットには“Yes”。「2021年9月31日」や「2023年4月31日」といったありえない日のインプットには“No”をアウトプットする。

 

ブラックボックステストでは、ありうる年月日と、ありえない年月日を次々にインプットしてみて、アウトプットが正しいかどうかを確認する。

 

ブラックボックステストは、プログラムの利用者目線からのテストといえる。テストの内容が限られるため、システムにそれほど詳しくない人でも、短時間でテストが実行できるという利点がある。

 

ただし、ブラックボックステストをどれだけ重ねても、システムが絶対に正しいとは言い切れない。インプットしなかったデータで、なんらかの誤動作を起こす可能性がぬぐい切れないからだ。ブラックボックステストは、計算ロジックを検証しないため、どこまで行っても不十分なのである。

「ホワイトボックステスト」は負担が大きい

これとは対照的に、「ホワイトボックステスト」というものもある。インプットとアウトプットだけではなく、システムの中身を確認するものだ。プログラムそのものを確認したり、プログラムの条件分岐を通過するインプットデータを網羅的に流してアウトプットを検証したりする。

 

先ほどの年月日判定システムのテストの例でいうと、「うるう年の対応ができているかどうか」といった確認が該当する。まず、うるう年を判定するプログラムが適切に作られているかどうかを確認する。そして、実際にうるう年の判定が正しくできるかどうか、「XX年2月29日」のデータを集中的にインプットして確かめてみる。たとえば、「2020年2月29日」、「2021年2月29日」、「2022年2月29日」を入れてみる。うるう年である「2020年2月29日」には“Yes”。うるう年ではない「2021年2月29日」や「2022年2月29日」には“No”がアウトプットされることを確認する。

 

更に、100年に一度や、400年に一度のうるう年の例外を含めた、グレゴリウス暦に対応しているかどうかも確認する。たとえば、2100年は100年に一度の例外でうるう年ではない。そこで、「2100年2月29日」をインプットして、アウトプットが“No”となることを確認する。また、2000年は400年に一度の例外でうるう年であった。そこで、「2000年2月29日」をインプットして“Yes”と、正しいアウトプットが出力されるか確かめる。こうした確認も「ホワイトボックステスト」に含まれる。

 

*現在、一般に用いられている太陽暦。西暦の年数が、100で割り切れるが400では割り切れない年は、平年。それ以外で西暦年数が4で割り切れる年はうるう年、というルール。

 

ホワイトボックステストは、プログラムの開発者目線からのテストといえる。システムの内容を熟知して網羅的に行われるテストであるため、基礎となる知識の習得や、テストの手間、一定の時間が必要となる。特に、複雑なシステムをテストする場合には、こうした負担が大きくなる。

 

次ページ「グレーボックステスト」はテストの中身が重要

あなたにオススメのセミナー

    ※本記事記載のデータは各種の情報源からニッセイ基礎研究所が入手・加工したものであり、その正確性と安全性を保証するものではありません。また、本記事は情報提供が目的であり、記載の意見や予測は、いかなる契約の締結や解約を勧誘するものではありません。
    ※本記事は、ニッセイ基礎研究所が2022年11月21日に公開したレポートを転載したものです。
    ※記事執筆の際の参考資料
    「ホワイトボックステストとは?ブラックボックステストとの違いやテスト技法について解説」
    花房輝鑑氏監修(次世代ゲームテスト研究所, AIQVE ONE株式会社(アイキューブワン), 2021年2月12日)
    https://blog.aiqveone.co.jp/whitebox-testing/
    「ホワイトボックステストとブラックボックステスト、どっちが必要?」
    (発注ラウンジ, 発注ナビ株式会社, 2017年7月6日)
    https://hnavi.co.jp/knowledge/blog/white-box-test/

    人気記事ランキング

    • デイリー
    • 週間
    • 月間

    メルマガ会員登録者の
    ご案内

    メルマガ会員限定記事をお読みいただける他、新着記事の一覧をメールで配信。カメハメハ倶楽部主催の各種セミナー案内等、知的武装をし、行動するための情報を厳選してお届けします。

    メルマガ登録
    TOPへ