7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「ホワイトボックステスト」〜概要・網羅率について、まとめてみた!〜

Last updated at Posted at 2023-09-12

はじめに

こんにちは。
今回は「ホワイトボックステスト」について紹介していきたいと思います!
前回と同様に、「ホワイトボックステスト」は「基本情報技術者試験」、「JSTQB FL」ともに出題されるテスト技法となっています。
この記事では、「ブラックボックステストとホワイトボックステストの違い」についても紹介していきたいと思います。

目次

1. ホワイトボックステスト

ホワイトボックステストとは、システムの内部構造に重点を置いたテスト技法のこと
プログラムの内部構造を確信しながら行うテストになります。
開発者側の視点でのテストです。

image.png

2. 網羅基準の分類

ホワイトボックステストには、「命令網羅」「判定条件網羅」「条件網羅」「複数条件網羅」と呼ばれる網羅基準が存在します。
それでは、ひとつひとつ紹介していきます。

2-1. 命令網羅

命令網羅とは、全ての処理(命令)を最低1回は通すようにするテストのこと
下記の図のような内部構造で命令網羅するためには、「A=真、B=真」の入力データが必要となります。

image.png
image.png

2-2. 判定条件網羅

判定条件網羅とは、全ての分岐を最低1回は通すようにするテストのこと
下記の図のような、内部処理で判定条件網羅するためには、「A=真、B=真」と「A=真、B=偽」の入力データが必要となります。

image.png
image.png

2-3. 条件網羅

条件網羅とは、個々の条件を最低1回は満たすようにするテストのこと
ここでいう「個々の条件」とは、「A」でいう「真と偽」、「B」でいう「真と偽」のことになります。
そのため、「A,B」それぞれの「真と偽」を最低1回は満たすようにしなければいけないということです。

下記の図のような、内部処理で条件網羅するためには、
①「A=真、B=真」と「A=偽、B=偽」,
②「A=真、B=偽」と「A=偽、B=真」,
③「A=偽、B=真」と「A=真、B=偽」,
いずれかの入力データが必要となります。

image.png

テストデータ①

image.png

テストデータ②

image.png

テストデータ③

image.png

2-4. 複数条件網羅

複数条件網羅とは、想定される条件の組み合わせをすべて網羅するテストのこと

下記の図のような、内部処理で複数条件網羅するためには、
「A=真、B=真」「A=真、B=偽」「A=偽、B=真」「A=偽、B=偽」
の入力データが必要となります。
image.png
image.png

3. ブラックボックステストとホワイトボックステストの違い

前回の記事で説明した「ブラックボックステスト」と、今回の記事「ホワイトボックステスト」の違いについて最後に説明していきます!

今回は、「特徴」、「手法」、「視点」の3つの方向から違いをまとめました。
それをまとめた図が以下の通りとなります。
ブラックボックステスト」について、気になった方は、こちらの記事をこ参照ください!!

image.png

終わりに

今回は、「ホワイトボックステスト」についてまとめてみました。
前回に引き続き、各試験で出題される問題となっています。
この記事を読んでいただき、少しでも参考にしていただければ幸いです。
ありがとうございました!

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?