テスティングの手法は、ブラックボックス、ホワイトボックス、経験ベースの手法に分類されます。このチュートリアルでは、5 つの主要なテスト ケースの作成手法で、ブラック ボックステストについて説明します。
- 境界値分析(BVA)
- 同値分割
- 決定表に基づくテスティング
- 状態遷移
- エラ推測
5つの重要なテストケースの作成手法
1. 境界値分析(BVA)
境界値分析は、同等境界で複数の値をテストする代わりに、パーティション間の境界をテストするブラック ボックス テスト手法です。 定義された入力値の中心ではなく、境界で多数のエラーが検出されることが多く、境界値の結果が同値クラス全体に適用されると想定しているためです。 また、BVA は同値分割の他の種類と見なされます。
境界値分析のガイド:入力変数値について、最小/最大の値、最小/最大のすぐ下の価値、最小/最大のすぐ上の値、公称値(任意)を選択して、テストケースを実行します。
例: 有効な年齢の値は 20 ~ 50 です。
- 最小境界値は 20 です。
- 最大境界値は 50 です。
- テストの対象の値︰19, 20, 21, 49, 50, 51
- 有効な値︰20, 21, 49, 50
- 無効な値︰19, 51
テストケースは以下の通りです。
- テストケース1︰19を入力 (無効)
- テストケース2︰20を入力 (有効)
- テストケース3︰50を入力 (有効)
- テストケース4︰51を入力 (無効)
2. 同値分割
Equivalent Class Partitioning(同値分割)は、入力ドメインデータをさまざまな等価データクラスに分割して、各クラスのデータが同じ特徴があることを前提とするテストケースの作成の手法です。 各クラスから、クラス全体の結果を表すことができる代表値を対象にテストケースを作成します。
同値分割の手法の背後にある概念について、クラス内で1つの値のテスティングの結果が、クラスの他の値と同じということです。 したがって、作成・実行されるテストケースの数を減らすのに役立ちます。
同値分割のテストケースを作成する手順は次の通りです。
- 同値のクラスを定義すること
- 各クラスに対して、テスト ケースを定義すること
例:有効なユーザー名は5〜20文字のテキストです。
したがって、テストケースは次のようになります。
- テストケース1︰5~20文字以内で入力(成功)
- テストケース2︰3文字以下の値の入力(エラー メッセージ「Username must be from 5 – 20 characters(ユーザー名は 5 ~ 20 文字にする必要があります)」が表示されます)
- テストケース3︰20文字以上の値の入力(エラー メッセージ「Username must be from 5 – 20 characters(ユーザー名は 5 ~ 20 文字にする必要があります)」が表示されます)
- テストケース4︰ユーザ名に空白・テキストなしの文字が入力されます。(エラーメッセージ「Invalid user name(無効なユーザー名)」が表示されます)
3. 決定表
デシジョンテーブルは、原因と結果の関係に基づくソフトウェアテスト手法であり、原因と結果のテーブルとも呼ばれ、出力が入力の大規模な組み合わせに依存するシステムの動作をテストするために使用されます。 たとえば、ログインセクションで、すべての欄に空白が入力されている場合や、特定の空白が入力されている場合は、ユーザーをホームページに移動します。
何よりもまず、出力がさまざまな入力の組み合わせに応答する機能を特定する必要があります。 次に、機能ごとに、入力セットをさまざまな出力に対応する可能な小さなサブセットに分割します。
機能ごとに対して、決定表を作成します。 決定表は、次の 3 つの主要部分で構成されます。
- すべての可能な入力の組み合わせのリスト
- 該当のシステム動作のリスト(出力)
- Y (True) と N (False) は、入力条件の正しさを表します。
例︰
- 機能: ログインに成功する場合、ユーザーはホームページに移動します。
- 正しいユーザー名、パスワード、キャプチャはログイン成功の条件です。
- 入力セクションで、YとN は、入力情報の正しさを表します。
- 出力セクションについて、Yはホームページが表示されたときの結果を表し、Nはエラー メッセージが表示されたときの結果を表します。
詳細は以下のイメージをご覧ください。
したがって、テストケースは次のようになります。
- 正しいユーザー名、パスワード、キャプチャを入力すること(成功)
- 間違ったユーザー名、パスワード、キャプチャを入力すること(エラーメッセージを表示します)。
- 正しいユーザー名、間違ったパスワードとキャプチャを入力すること(エラーメッセージを表示します。)
- 正しいユーザー名、パスワード、間違ったキャプチャを入力すること(エラー メッセージを表示します)
4. 状態遷移
状態遷移は、ブラック ボックス テストでテスト ケースを作成するもう 1 つの手法です。入力の変更により、システムの状態が変更され、さまざまな出力がトリガーされます。 この手法では、テスターは一連のイベントに属する有効なテストケースと無効なテストケースを実行して、システムの動作を評価します。
たとえば、ユーザーがスマホで電子バンキングのアプリにログインするときに、間違ったパスワードを 3 回続けて入力する場合、アカウントがブロックされます。 つまり、1回目、2回目、3回目の試行で正しいパスワードを入力する場合、ログインできるようになり、状態は「Access Accepted(アクセスが許可されました)」に移行します。 下の図をご覧ください。
状態遷移の手法は、入力の変更により、システムの状態が変更され、異なる出力を生成する場合に、テスト対象アプリケーション (AUT) の機能をテストするためによく使用されます。
5. エラ推測
エラー推測のテスト手法では、テスト ケースは主にテスターの経験に基づいて作成されます。 コードでよく発生するエラーや、エラーが発生しやすい状況を推測して想定しようとします。 したがって、テスターは熟練し、経験豊富である必要があります。
エラー推測では、テストケースは以下に基づく可能性があります。
- 関連のソフトウェア製品や類似のソフトウェア製品をテストした経験。
- テスト対象のシステムの理解。
- そのアプリケーションでのよく発生するエラーに関する知識。
- 要件仕様書の優先機能 (見逃さないように)。
どのテスト ケースの作成の手法を選択するすべきでしょうか。
ブラック ボックス テストにおける 5 つの重要なテスト ケースの作成の手法について説明しました。 それらをもう一度要約しましょう。
- 境界値分析 (BVA):該当の同値のクラスの動作を表しているという仮定で、パーティション間の境界をテストします。
- 同値分割:入力データを小さな同値のクラスに分割し、それぞれのテスト ケースを作成します。
- 決定表:出力が入力のさまざまな組み合わせに応答する場合に使用されます。
- 状態遷移:システムの状態を変更し、異なる出力つながる一連の入力のデータがある場合に使用されます。
- エラー推測:経験、知識、直感に基づいて、コードに発生する可能性のあるエラーと不具合を予測します。多くの場合、別の正式なテストの手法の後に実行されます。
これは、より良いテスト実行のためにテスト ケースを作成する手法に関する LQA ガイドです。 ソフトウェアのテストに関してさらに支援が必要な場合は、お気軽にお問い合わせください。
- Website: https://jp.lotus-qa.com/
- Tel: (+84) 24-6660-7474
- Fanpage: https://www.linkedin.com/company/lqa/