ソフトウェアテストの一つ「ホワイトボックステスト」について、特徴や注意点、テストの目的などをまとめました。
ホワイトボックステストとは、システムの内部構造を理解した上でロジックや制御の流れをテストする方法のことを言います。そのためホワイトボックステストを行うにはプログラミングに関する知識が不可欠とされています。
ホワイトボックステストはモジュールの動作確認を行う「単体テスト」での実施が一般的とされており、条件分岐や例外処理・プログラムの単純なミスがないかを確認するのが目的です。
ホワイトボックステストには、以下のような方法があります。
一つの処理に対し、プログラムがどう動くのかを図で表したものを「制御フロー」と呼びます。制御フローの数は小規模なプログラムでも膨大になってしまうため、「命令網羅」「分岐網羅」「条件網羅」などの基準を設け、限定的に実施されるのが「制御フローテスト」と呼ばれる方法です。
モジュール内では、使用するデータ・変数にライフサイクルがあり、これを「データフロー」と呼びます。このライフサイクルがプログラムのどこで定義され・仕様され・消滅するのかを検証するのがデータフローテストと呼ばれる方法です。
ソフトウェアテストの悩みは、そのほとんどが「品質・コスト・納期(QCD)」に関わる課題です。しかも早急に対応が必要なことが多いので、QCDの課題解決に長年携わってきた、実績の豊富な第三者検証会社に依頼するのがベター。このサイトでは、「テスト対象別」におすすめの3社を詳しく紹介しています。ぜひ以下のボタンからチェックしてみてください。
ホワイトボックステストには、以下のようなメリットとデメリットがあります。
ホワイトボックステストには、現実的にはあり得ないデータをシステム利用者が入力するケースもあり、その場合は入力者の意図にそぐわないデータでも広範囲にわたってテストできるため、システム上の不具合を多く防ぐことができます。
また、ホワイトボックステストはモジュール単位でテストされるため、不具合箇所を簡単に発見しやすいのもメリットの一つ。不具合の早期発見が素早い修正に繋がり、品質向上に繋がります。
ホワイトボックステストだけでは、あくまで内部構造しか確認しないため、ユーザーのニーズまでは把握できません。テストの設計書に誤りがあった際には設計書のミスをテストで発見することができず、モジュール単位のテストという特性から、他システム・モジュール連携時の不具合には気づけないと言う注意点もあります。
ブラックボックステストは、ホワイトボックステストとは対象に内部構造を一切考慮せず、画面表示やユーザーインターフェースの不具合などを確認する方法です。
内部構造の不具合を見落としてしまうこともありますが、ユーザー目線でデザインやインターフェースの不便さなどを判断しやすいという特徴もあります。
経済を支え続ける産業製品や、IoTとして進化する家電・自動車。
ARやVRなど新たな技術でさらに加速していくエンタメ分野。
仮想通貨の登場や貯金→投資シフトで市場規模が拡大するFintechの3つから、
それぞれおすすめの検証会社をご紹介しています。
1995年の創業以来、1,200件以上のテスト実績を持ち、豊富な経験で製品の品質向上を支援。テストだけでなく、IoT機器の分野でも改善提案も対応。
医療機器/電子工学機器/スマートホームデバイス/自動車・車載ソフトウェア/OA機器/産業用ロボット
機能検証だけでなく、UIUX・キャラクター性能バランス・クエスト難易度・ランダム要素の公平性などユーザー視点でフィードバック。
ゲーム開発/マンガアプリ/ライブ配信サービス/VR/イラスト・アニメーション/WEBサイト
生保会社出身や損保系システム検証経験者など、同業界内の知識を持つエンジニアが多く在籍するほか、脆弱性診断やペネトレーションテストも依頼可能。
キャッシュレス決裁サービス/金融商品取引/会計ツール/不動産投資/金融システム開発・保守