
ホワイトボックステスト
ソフトウェア製品は 人間によって 構築されているため、間違いがあるはず。したがって、問題やエラーがないかどうかを確認するために、個人、グループ、または組織をテストする必要がある。ソフトウェアテストでは、テストの各レベルで 効果的なテスト戦略と手法も必要。 ソフトウェアテストは、ホワイトボックステスト と ブラックボックステストという、異なるスキルを必要とする2つの部分で 構成されている。
このトピックでは、ホワイトボックステストについて 詳しくご説明いたします
1) ホワイトボックステストとは
ホワイトボックステストとは システムのテスト手法の中、特にどのような論理構造で 作成されているかに 着目したテストのことである。
ホワイトボックステストでは、プログラムの外部仕様には 着目せず、論理を実現するために使われている命令や、分岐が正しく動作するか、といった部分について チェックが行われる
テスターは、コードを介して パスを実行する入力を選択し、適切な出力を決定する。 したがって、プログラミングのノウハウ と 実装の知識は 不可欠。
2) ホワイトボックステストの対象
テストオブジェクトは ソフトウェアコンポーネントだ。 ソフトウェアコンポーネントは、機能、機能モジュールなど。
3) 該当レベル
ホワイトボックステストは、次のレベルのソフトウェアテストに適用できる。
- 単体テスト:プログラムを構成する比較的小さな単位(ユニット)が 個々の機能を正しく果たしているかどうかを検証するテスト。
- 統合テスト:システム開発におけるプログラムの検証作業の中でも、手続きや関数といった個々の機能を結合させて、うまく連携・動作しているかを確認するテスト。
- システムテスト:システムやソフトウェアを構築したあとに 実行するテスト。
ただし、これは主に単体テストに適用される。
4) ホワイトボックステストの長所と短所
長所
- テストは より早い段階で 開始できる。
- テストは より徹底的で、ほとんどのパスをカバーする可能性がある。
短所
- テストは 非常に複雑になる可能性があるため、プログラミング と 実装に関する完全な知識を備えた高度なスキルを持つリソースが必要。
- 実装が頻繁に変更される場合、テストスクリプトのメンテナンスは 負担になる。
5) 基本的なホワイトボックステストの手法
5.1. ベースライン テスト/折れ線グラフ
- ホワイトボックステストで 使用された手法は、Tom McCabeによって 最初に導入された。折れ線グラフは、プログラム制御フローグラフに似ている。
- ベースライン テスト/折れ線グラフは、アルゴリズムの記述の多くの方法の1つ。 さらに、これは アルゴリズムのコンポーネント と 関係を簡単に示す視覚的な方法。
- これらのコンポーネントの実装に関する連絡先。
- ベースライン テスト/折れ線グラフは、テストケースの設計者が ある程度の手続きの複雑さを理解するのに 役立つ。
- 2種類のコンポーネントで 構成される。ノードと それらを接続するアーク。
- 折れ線グラフのボタンのタイプ
- 折れ線グラフの構造コンポーネントのタイプ
例:
制御フローグラフに バイナリ決定ノードのみが 含まれている場合、バイナリの制御フローグラフ と呼ぶ。
5.2 制御フローに基づくテスト
- 実行パスは、対応するソフトウェアユニットを実行するためのスクリプト。 さらに、ソフトウェアユニットのエントリポイントから ソフトウェアユニットの終了ポイントまで、ソフトウェアユニットの特定の実行に対して 実行されるコマンドの順序付きリスト。
- 各ソフトウェアコンポーネントには、1からn(おそらく非常に大きい)の異なる実装パスが ある。
- 制御フローテスト方法 の目的は、テスト中のソフトウェアユニットのすべての実行パスが 適切に実行されることを確認すること。
例: 次のコード
for (i=1; i<=1000; i++) for (j=1; j<=1000; j++) for (k=1; k<=1000; k++) doSomethingWith(i,j,k);
実行パスは 1つだけですが、非常に長い。
テストサービスの詳細 については、こちらを参照してください。
Lotus Quality Assurance (LQA)
電話番号: (+84) 24-6660-7474
メール: [email protected]
ウェブサイト: https://www.lotus-qa.com/
Youtube: Lotus QA チャネル