はじめに
こんにちは。
今回は「ブラックボックステスト」について紹介していきたいと思います!
「ブラックボックステスト」は「基本情報技術者試験」、「JSTQB FL」ともに出題されるテスト技法となっています。
目次
1. ブラックボックステスト
1-1. ブラックボックステスト
ブラックボックステストとは、システムの内部構造を考慮せずに実施するテスト技法のこと
「入力」と「出力」の部分のみに重点を置いてテストを行う技法となっています。
このテスト技法は、「利用者側(ユーザー)視点」でのテストになっています。
1-2. 同値分割
同値分割とは、データ範囲を種類ごとのグループに分け、それぞれ代表的な値を選択しテストする技法のこと
体脂肪率を例にあげて説明していきます。
グループ分けとして、「痩せ気味:15%未満」、「標準:15%〜20%」、「軽い肥満:21%以上」という3つのグループに分けます。
それぞれのグループごとにテストデータとして代表的な値「10%」、「18%」、「25%」を選択します。
その選択した値が、正しくグループ分けできるかどうかを検証するテストになっています。
1-3. 境界値分析
境界値分析とは、仕様条件の境界となる前後の値に対してテストする技法のこと
境界値分析も体脂肪率を例にあげて説明していきます。
グループ分けは同様で、テストデータが変わってきます。
ここで境界となってくるのが、「15%」と「20%」です。
「14%」が「痩せ気味」のグループに、「15%」「20%」が「標準」のグループに、「21%」が「軽い肥満」のグループに分けられることを検証するテストになります。
1-4. デシジョンテーブルテスト
テシジョンテーブルテストとは、想定されるすべての条件と、それに対して実行すべき動作を整理した表のこと
まず、「デシジョンテーブルテスト」に用いられるアルファベット(Y、N、X)について説明していきます。
条件
条件を満たす場合は「Y」,
そうではない場合は「N」が入る
期待値
アクションが発生する場合は「X」,
そうではない場合は「-」が入る
それを踏まえて、下記内容を例にして説明していきます。
例)あるショップにおける、割引計算の仕様
・会員:10% OFF
・クーポン:5% OFF
はじめに「条件」の説明です。
- テストケース1は、「会員であり、クーポンも持っている」ため、「会員:Y」,「クーポン:Y」となります。
- テストケース2は、「会員ではあるが、クーポンは持っていない」ため、「会員:Y」,「クーポン:N」となります。
- テストケース3,4も同様になります。
次に、「期待値」の説明です。
- テストケース1は、「会員:Y」,「クーポン:Y」ため、「会員:10% OFF,クーポン:5% OFF」ということから「15% OFF」のところに「X」が入り、それ以外に「-」が入ります。
- テストケース2は、「会員:Y」,「クーポン:N」ため、「10% OFF」のところに「X」が入り、それ以外に「-」が入ります。
- テストケース3,4も同様になります。
1-5. 状態遷移テスト
状態遷移テストとは、設計仕様通りのイベントによってソフトウェアの状態が変化することを検証するテストのこと
イベント:ある状態が異なる状態に変化するきっかけのこと
状態遷移テストには、下記2種類の手法があります。
- 状態遷移図
- 状態遷移表
状態遷移図
状態遷移図とは、システムの状態とその変化を図で表したもの
状態遷移図の書き方として、「状態」を四角で表し、その「遷移」を矢印で図示します。
「状態名」を四角の中に、状態を遷移させるきっかけとなる「イベント」を矢印のそばに記載して表します。
ここでは、「ストップウォッチ」を例に説明していきます。
まず、「計測準備中」という状態から、「スタートボタン」を押すというイベントによって、「計測中」に状態が遷移することを表しています。
ここで、さらに「スタートボタン」を押すことで「一時停止中」に状態が遷移します。
このように、四角に書かれた状態から矢印のそばに記載されているイベントによって状態遷移することを表しています。
状態遷移図を使用するメリットとして、仕様書に書いてある遷移を読み解くよりも、状態遷移全体の流れを視覚的に捉えることが可能になります。
状態遷移表
状態遷移表とは、「遷移前の状態」「遷移後の状態」「イベント」を表形式でまとめたもの
状態遷移表の書き方として、縦に「遷移前の状態」、横に「イベント」を表記し、それぞれの組み合わせを「遷移後の状態」として表しています。
これも同様に、「ストップウォッチ」を例にしていきます。
遷移前の状態の「待機中」とイベントの「STARTボタン押下」の組み合わせにより、遷移後の状態は、「計測中」になるということがわかります。
また、「待機中」と「STOPボタン押下」の組み合わせは、遷移が発生しないので、「-」が表記されています。(遷移が発生しない組み合わせは「-」で表記)
状態遷移表を使用するメリットとしては、全ての状態とイベントの組合せを網羅でき、想定しないイベントの対処も確認することができることに加え、遷移が発生しない「状態」と「イベント」の組み合わせも把握することができるというメリットがあります。
終わりに
今回は、「ブラックボックステスト」について紹介してきました。
テスト技法が多く、区別することが難しいテストだと思います。
この記事を読んでいただき、少しでも勉強の参考にしていただければ幸いです!
次回は、「ホワイトボックステスト」について紹介したいと思います!
ここまで読んでいただきありがとうござました!!