テスト ケースの設計例を使用したソフトウェア テスト手法
ソフトウェアテスト技術とは何ですか?
ソフトウェア テスト テクニックは、より優れたテスト ケースを設計するのに役立ちます。徹底的なテストは不可能なので、手動テスト テクニックは、実行するテスト ケースの数を減らしながら、テスト範囲を拡大するのに役立ちます。また、他の方法では認識が難しいテスト条件を識別するのに役立ちます。
境界値分析 (BVA)
境界値分析は、パーティション間の境界でのテストに基づいています。 これには、最大値、最小値、境界の内側または外側、代表値、誤差値が含まれます。
一般に、多数のエラーが定義された入力値の中心ではなく境界で発生することがわかります。 これは BVA としても知られており、境界値を行使するテスト ケースの選択を提供します。
このブラック ボックス テスト手法は、等価分割を補完するものです。このソフトウェア テスト手法は、システムが特定の値に対して適切に機能する場合、2 つの境界値の間にあるすべての値に対しても完全に適切に機能するという原則に基づいています。
境界値分析のガイドライン
- 入力条件が値 x と y の間に制限されている場合、テスト ケースは値 x と y、および x と y の上下の値を使用して設計する必要があります。
- 入力条件が多数の値である場合、最小値と最大値を実行する必要があるテスト ケースを開発する必要があります。ここでは、最小値と最大値を超える値と下回る値もテストされます。
- 出力条件にはガイドライン 1 および 2 を適用します。 予想される最小値と最大値を反映した出力が得られます。 また、以下の値または上記の値もテストします。
例:
Input condition is valid between 1 to 10 Boundary values 0,1,2 and 9,10,11
同値クラスの分割
等価クラス分割を使用すると、一連のテスト条件を同じとみなされるパーティションに分割できます。 このソフトウェア テスト方法では、プログラムの入力ドメインをデータのクラスに分割し、そこからテスト ケースを設計します。
このテスト ケース設計手法の背後にある概念は、各クラスの代表値のテスト ケースは、同じクラスの他の値のテストと等しいということです。 これにより、有効な同値クラスと無効な同値クラスを識別できます。
例:
入力条件は次の間で有効です。
1 to 10 and 20 to 30
したがって、XNUMX つの等価クラスが存在します。
--- to 0 (invalid) 1 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid)
各クラスから値を選択します。つまり、
-2, 3, 15, 25, 45
さらに詳しく読む – 境界値分析と等価分割テスト
デシジョンテーブルベースのテスト
デシジョン テーブルは、原因結果テーブルとも呼ばれます。 このソフトウェア テスト手法は、入力またはイベントの組み合わせに応答する機能に使用されます。 たとえば、ユーザーがすべての必須フィールドを入力した場合、送信ボタンを有効にする必要があります。
最初のタスクは、出力が入力の組み合わせに依存する機能を特定することです。 組み合わせの大きな入力セットがある場合は、デシジョンテーブルの管理に役立つ小さなサブセットに分割します。
関数ごとにテーブルを作成し、入力とそれぞれの出力のあらゆる種類の組み合わせをリストする必要があります。 これは、テスターが見落としている状態を特定するのに役立ちます。
決定表を作成する手順は次のとおりです。- 入力を行に列挙する
- 列にすべてのルールを入力します
- 入力のさまざまな組み合わせをテーブルに記入します。
- 最後の行では、入力の組み合わせに対する出力を書き留めます。
例:: 問い合わせフォームの送信ボタンは、エンド ユーザーがすべての入力を入力した場合にのみ有効になります。
状態遷移
状態遷移テクニックでは、入力条件が変化すると、テスト対象アプリケーション (AUT) の状態が変化します。 このテスト手法を使用すると、テスターは AUT の動作をテストできます。 テスターは、さまざまな入力条件を順番に入力することで、このアクションを実行できます。 状態遷移手法では、テスト チームはシステムの動作を評価するために、正および負の入力テスト値を提供します。
状態遷移のガイドライン:
- 状態遷移は、テスト チームが限られた入力値のセットに対してアプリケーションをテストする場合に使用する必要があります。
- テスト ケース設計テクニックは、テスト チームがテスト対象のアプリケーションで発生する一連のイベントをテストする場合に使用する必要があります。
例:
次の例では、最初の 3 回の試行のいずれかで有効なパスワードを入力すると、ユーザーは正常にログインできます。ユーザーが XNUMX 回目または XNUMX 回目の試行で無効なパスワードを入力すると、パスワードの再入力を求められます。ユーザーがパスワードを間違って入力すると XNUMXrd 時間が経過すると、アクションが実行され、アカウントはブロックされます。
状態遷移図
この図では、ユーザーが正しいPIN番号を入力すると、アクセス許可状態に移行します。次の表は、上記の図に基づいて作成されています。
状態遷移表
正しいPIN | 間違った暗証番号 | |
---|---|---|
S1) 開始 | S5 | S2 |
S2) 1st 試み | S5 | S3 |
S3) 2nd 試み | S5 | S4 |
S4) 3rd 試み | S5 | S6 |
S5) アクセスが許可されました | – | – |
S6) アカウントがブロックされました | – | – |
上の表では、ユーザーが正しい PIN を入力すると、状態はアクセス許可に移行します。 ユーザーが間違ったパスワードを入力すると、次の状態に進みます。 彼が同じことをしたら 3rd 時間が経つと、アカウントがブロックされた状態になります。
推測エラー
推測エラー これは、コード内で発生する可能性のあるエラーの推測に基づいたソフトウェア テスト手法です。 この手法は、テスト アナリストが自身の経験を利用してテスト アプリケーションの問題のある部分を推測する経験に大きく基づいています。 したがって、テスト アナリストは、より正確にエラーを推測できるように熟練し、経験を積んでいる必要があります。
この手法では、起こり得るエラーまたはエラーが発生しやすい状況のリストをカウントします。 次に、テスターは次のように書きます テストケース それらのエラーを暴露します。 このソフトウェア テスト手法に基づいてテスト ケースを設計する場合、アナリストは過去の経験を使用して条件を特定できます。
誤り推測に関するガイドライン:
- テストでは、同様のアプリケーションをテストした以前の経験を使用する必要があります。
- テスト対象のシステムについての理解
- 典型的な実装エラーに関する知識
- 以前に問題があった領域を思い出す
- 過去のデータとテスト結果を評価する
まとめ:
- テスト ケース設計テクニックを使用すると、より優れたケースを設計できます。主に使用されるテクニックは 5 つあります。
- 境界値分析は、パーティション間の境界でのテストです。
- 等価クラス分割を使用すると、一連のテスト条件を同じとみなされるパーティションに分割できます。
- デシジョンテーブル ソフトウェア テスト手法は、入力またはイベントの組み合わせに応答する関数に使用されます。
- 状態遷移テクニックでは、入力条件の変化によりテスト対象アプリケーション (AUT) の状態が変化します。
- エラー推測は、コード内で発生する可能性のあるエラーの推測に基づくソフトウェア テスト手法です。