black box testing an depth tutorial with examples
このチュートリアルでは、ソフトウェアテストでの私の産業経験を使用して、ブラックボックステストの種類と手法、およびそのプロセス、長所、短所、および手動テスト以外のテスト用の自動化ツールについて理解しましょう。
また、ホワイトボックステストとブラックボックステストの違いについても学習します。
「ブラックボックステスト手法」チュートリアルのリスト:
チュートリアル#1: ブラックボックステストとは
チュートリアル#2: ホワイトボックステストとは
チュートリアル#3: 簡素化された機能テスト
チュートリアル#4: ユースケーステストとは
チュートリアル#5 : 直交表テスト手法
テクニック
チュートリアル#6: 境界値分析と等価分割
チュートリアル#7: デシジョンテーブルテスト
チュートリアル#8: 状態遷移テスト
チュートリアル#9 : エラー推測
チュートリアル#10: グラフベースのテスト方法
私たちのほぼ全員が毎日ブラックボックステストを実行しています!
私たちが学んだかどうかにかかわらず、私たちは皆、日常生活の中で何度もブラックボックステストを行ってきました!
名前自体から、それがシステムとの相互作用に関係していること、ミステリーボックスとしてテストしていることがおそらく理解できます。これは、システムの内部動作について十分な知識がないが、システムの動作方法は知っていることを意味します。
私たちが取る場合 例 車や自転車をテストするために、私たちは常にそれを運転して、異常な動作をしないことを確認します。見る?私たちはすでにブラックボックステストを行っています。
学習内容:
- ブラックボックステストとは何ですか?
- ブラックボックステストの種類
- ブラックボックステストツール
- ブラックボックステスト手法
- ステップワイズを行う方法は?
- 長所と短所
- ホワイトボックステストとブラックボックステストの違い
- 結論
- 推奨読書
ブラックボックステストとは何ですか?
ブラックボックステストは、動作テスト、不透明ボックステスト、クローズドボックステスト、仕様ベースのテスト、またはアイツーアイテストとしても知られています。
これは、テスト対象のアイテムの内部構造/設計についてあまり知らなくても、ソフトウェア/アプリケーションの機能を分析し、入力値と出力値を比較するソフトウェアテスト方法です。
iPadのPOSシステム
ブラックボックステストの主な焦点は、システム全体の機能にあります。 用語 「行動テスト」 ブラックボックステストにも使用されます。行動テストの設計は、内部知識の使用が厳密に禁止されていないため、ブラックボックステストの設計とは少し異なりますが、それでも推奨されていません。
各テスト方法には、独自の長所と短所があります。唯一のブラックボックスまたは唯一のホワイトボックス技術を使用して見つけることができないいくつかのバグがあります。
アプリケーションの大部分は、ブラックボックス方式でテストされています。ほとんどのバグが次の人によって発見されるように、テストケースの大部分をカバーする必要があります。 ブラックボックス 方法。
このテストは、ソフトウェア開発およびテストライフサイクル全体、つまり、ユニット、統合、システム、受け入れ、および回帰テストの各段階で行われます。
これは、機能的または非機能的の両方である可能性があります。
ブラックボックステストの種類
実際には、可能なブラックボックステストにはいくつかの種類がありますが、その主要なバリエーションを検討すると、以下に2つの基本的なテストがあります。
#1)機能テスト
このタイプは、アプリケーションの機能要件または仕様を扱います。ここでは、入力を提供し、実際の出力を期待される出力と比較することにより、システムのさまざまなアクションまたは機能がテストされています。
例えば 、ドロップダウンリストをテストするときは、それをクリックして展開し、すべての期待値がリストに表示されていることを確認します。
機能テストの主な種類は次のとおりです。
- スモークテスト
- 健全性テスト
- 統合テスト
- システムテスト
- 回帰試験
- ユーザー受け入れテスト
=>続きを読む 機能テスト 。
#2)非機能テスト
要件の機能とは別に、アプリケーションの品質とパフォーマンスを向上させるためにテストする必要のある非機能的な側面もいくつかあります。
非機能テストの主なタイプは次のとおりです。
- ユーザビリティテスト
- 負荷テスト
- 性能試験
- 互換性テスト
- ストレステスト
- スケーラビリティテスト
=>続きを読む 非機能テスト 。
ブラックボックステストツール
ブラックボックステストツールは、主に記録および再生ツールです。これらのツールは、新しいビルドによって以前の動作中のアプリケーション機能にバグが発生したかどうかを確認するための回帰テストに使用されます。
これらの記録および再生ツールは、TSL、VBスクリプト、Javascript、Perlなどのスクリプトの形式でテストケースを記録します。
ブラックボックステスト手法
一連の機能を体系的にテストするには、テストケースを設計する必要があります。テスターは、次のブラックボックステスト手法を使用して、要件仕様書からテストケースを作成できます。
初心者のための最高のゲーム作成ソフトウェア
- 等価分割
- 境界値分析
- デシジョンテーブルテスト
- 状態遷移テスト
- エラー推測
- グラフベースのテスト方法
- 比較テスト
それぞれのテクニックを詳しく理解しましょう。
#1)等価パーティショニング
この手法は、等価クラスパーティショニング(ECP)とも呼ばれます。この手法では、システムまたはアプリケーションへの入力値は、結果の類似性に基づいて異なるクラスまたはグループに分割されます。
したがって、すべての入力値を使用する代わりに、グループ/クラスの任意の1つの値を使用して結果をテストできるようになりました。このようにして、テストカバレッジを維持しながら、多くのやり直し、そして最も重要なことに費やす時間を削減できます。
例えば:
上の画像にあるように、「AGE」テキストフィールドは18から60までの数字のみを受け入れます。クラスまたはグループの3つのセットがあります。
2つの無効なクラスは次のようになります。
a)17以下。
b)61以上。
有効なクラスの1つは、18〜60のいずれかです。
したがって、形成されたクラスに基づいてテストケースを3つのテストケースに減らし、すべての可能性をカバーしました。したがって、上記のシナリオをテストするには、クラスの各セットの任意の値を使用してテストするだけで十分です。
=>推奨読書– 等価分割とは何ですか?
#2)境界値分析
名前自体から、この手法では、多くのアプリケーションが境界に大量の問題を抱えていることがわかっているため、境界の値に焦点を当てていることがわかります。
境界とは、システムの動作が変化する限界に近い値を意味します。境界値分析では、問題を検証するために、有効な入力と無効な入力の両方がテストされています。
例えば:
1から100までの値を受け入れる必要があるフィールドをテストする場合は、境界値を選択します:1-1、1、1 + 1、100-1、100、および100 +1。 1から100までのすべての値を使用する代わりに、0、1、2、99、100、および101を使用します。
#3)デシジョンテーブルテスト
名前自体が示唆しているように、次のような論理的な関係がある場合はいつでも。
場合
{{
(条件= True)
次にaction1;
}
そうでなければaction2; / *(条件= False)* /
次に、テスターは2つの条件(TrueとFalse)に対して2つの出力(action1とaction2)を識別します。したがって、考えられるシナリオに基づいて、一連のテストケースを準備するためのデシジョンテーブルが作成されます。
例えば:
男性の高齢者に10%、残りの人々に9%の金利を提供するXYZ銀行の例を見てみましょう。
この例の条件では、C1にはtrueとfalseの2つの値があり、条件C2にもtrueとfalseの2つの値があります。その場合、可能な組み合わせの総数は4つになります。このようにして、デシジョンテーブルを使用してテストケースを導き出すことができます。
シナリオベースのチームリーダーの面接の質問
#4)状態遷移テスト
状態遷移テストは、テスト対象のシステムのさまざまな状態をテストするために使用される手法です。システムの状態は、条件やイベントによって変化します。イベントはシナリオとなる状態をトリガーし、テスターはそれらをテストする必要があります。
体系的な状態遷移図は、状態変化を明確に示しますが、より単純なアプリケーションには効果的です。より複雑なプロジェクトは、より複雑な遷移図につながる可能性があるため、効果が低下します。
例えば:
#5)エラー推測
これは、エクスペリエンスベースのテストの典型的な例です。
この手法では、テスターはアプリケーションの動作と機能に関する経験を使用して、エラーが発生しやすい領域を推測できます。多くの欠陥は、ほとんどの開発者が通常間違いを犯すエラー推測を使用して見つけることができます。
開発者が通常処理するのを忘れる一般的な間違いはほとんどありません。
- ゼロで割ります。
- テキストフィールドのnull値の処理。
- 値なしで(送信)ボタンを受け入れる。
- 添付ファイルなしのファイルアップロード。
- 制限サイズ未満または制限サイズを超えるファイルのアップロード。
#6)グラフベースのテスト方法
すべてのアプリケーションは、いくつかのオブジェクトのビルドアップです。そのようなオブジェクトがすべて識別され、グラフが作成されます。このオブジェクトグラフから、各オブジェクトの関係が識別され、それに応じてテストケースが記述され、エラーが検出されます。
#7)比較テスト
この方法でテストするために、同じソフトウェアの異なる独立したバージョンを使用して相互に比較します。
ステップワイズを行う方法は?
一般に、体系的なプロセスに従ってプロジェクト/アプリケーションをテストすると、品質が維持され、長期的にはさらなるテストラウンドに役立ちます。
- 最も重要なステップは、アプリケーションの要件仕様を理解することです。適切に文書化されたSRS(ソフトウェア要件仕様)を用意する必要があります。
- 境界値分析、等価分割などの上記のブラックボックステスト手法を使用して、有効な入力と無効な入力のセットが目的の出力で識別され、それに基づいてテストケースが設計されます。
- 設計されたテストケースは、実際の結果と期待される結果を検証することにより、合格か不合格かを確認するために実行されます。
- 失敗したテストケースは欠陥/バグとして発生し、開発チームに宛てて修正されます。
- さらに、修正された欠陥に基づいて、テスターは欠陥を再テストして、再発しているかどうかを確認します。
長所と短所
利点
- テスターは技術的なバックグラウンドを持っている必要はありません。ユーザーの立場に立ってテストし、ユーザーの視点から考えることが重要です。
- プロジェクト/アプリケーションの開発が完了したら、テストを開始できます。テスターと開発者の両方が、お互いのスペースに干渉することなく独立して作業します。
- 大規模で複雑なアプリケーションに効果的です。
- 欠陥や不整合は、テストの初期段階で特定できます。
短所
- 技術的またはプログラミングの知識がないと、テストするシナリオの考えられる条件を無視する可能性があります。
- 規定された時間内に、テストを減らし、すべての可能な入力とその出力テストをスキップする可能性があります。
- 大規模で複雑なプロジェクトでは、完全なテストカバレッジは不可能です。
ホワイトボックステストとブラックボックステストの違い
以下に、両者の違いをいくつか示します。
ブラックボックステスト | ホワイトボックステスト |
---|---|
これは、アプリケーションの実際のコードや内部構造に関する知識がなくてもテストできる方法です。 | これは、アプリケーションの実際のコードと内部構造に関する知識を持ったテスト方法です。 |
これは、機能テストなどの高レベルのテストです。 | このタイプのテストは、単体テスト、統合テストなどの低レベルのテストで実行されます。 |
テスト対象のシステムの機能に重点を置いています | それは実際のコードに集中します–プログラムとその構文 |
ブラックボックステストには、テストするための要件仕様が必要です | ホワイトボックステストには、データフロー図やフローチャートなどを含む設計ドキュメントが必要です。 |
ブラックボックステストはテスターによって行われます | ホワイトボックステストは、プログラミングの知識を持つ開発者またはテスターによって行われます。 |
結論
これらは、ブラックボックステストとその手法と方法の概要に関する基本的なポイントの一部です。
人間が関与してすべてを100%の精度でテストすることは不可能であるため、上記の手法と方法を効果的に使用すると、システムの品質が確実に向上します。
結論として、これはシステムの機能を検証し、ほとんどの欠陥を特定するのに非常に役立つ方法です。
ブラックボックステストの手法に関する深い知識が得られたことを願っています。