陰性検査
ネガティブテストは、アプリケーションまたはシステムをテストする方法であり、アプリケーションが意図したとおりに動作し、予期しない入力やユーザーの行動を処理できる可能性を高めます。[1]無効なデータが挿入され、出力が与えられた入力と比較されます。ネガティブテストは、障害テストまたはエラーパステストとも呼ばれます。ネガティブテストを実行すると、例外が予想されます。これは、アプリケーションが不適切なユーザーの行動を処理できることを示します。ユーザーはシステムで機能しない値を入力し、不正な値やシステム障害を処理する能力をテストします。
目的
- ネガティブ テストの目的は、アプリケーションのクラッシュを防ぐことであり、欠陥を検出することでアプリケーションの品質を向上させることにも役立ちます。
- ネガティブ テストは、アプリケーションのテスト範囲を向上させるのに役立ちます。
- ネガティブ テストにより、アプリケーションの安定性と信頼性が向上します。
- ネガティブ テストとポジティブ テストを組み合わせることで、ユーザーは有効な (または無効な)入力データを使用してアプリケーションをテストできます。
ネガティブテストの利点
ネガティブテストは、製品がプログラムされていない状況に適切に対処できるかどうかを確認するために行われます。このテストの基本的な目的は、システムが不正なデータをどのように処理するか、そして不正なデータが入力された際に適切なエラーがクライアントに表示されるかを確認することです。ポジティブテストとネガティブテストはどちらも重要な役割を果たします。ポジティブテストは、アプリケーションが想定どおりに動作し、各機能が期待どおりに実行されることを確認します。ネガティブテストはポジティブテストの逆です。ネガティブテストは、アプリケーションをクラッシュさせ、そのクラッシュを容易に処理するための様々な方法を発見します。
例
- 数値しか入力できないテキスト ボックスがあるのに、ユーザーが文字を入力しようとした場合、正しい動作は「(データが正しくありません) 数値を入力してください」などのメッセージを表示することです。
- ユーザーが名前フィールドに入力する場合、名前のテキストは必須であるものの、名前ボックスには文字以外の値(数値や特殊文字)を入力してはならないという基本ルールがあります。ネガティブなテストケースとしては、名前に数値や特殊文字が含まれていることが考えられます。システムの正しい動作は、これらの無効な文字を表示しないことです。
ネガティブテストケースを書くためのパラメータ
システムの機能の大部分をカバーするのに十分なテストケースを作成するのに役立つ基本的な手法が2つあります。これらの手法はどちらもポジティブテストでも使用されます。2つのパラメータは次のとおりです。
境界とは、何かの限界を示すものです。このパラメータでは、テストシナリオは境界値をカバーし、アプリケーションがこれらの境界値でどのように動作するかを検証するように設計されます。
例: 0~255の範囲のIDを受け入れるアプリケーションがあるとします。このシナリオでは、0.255が境界値となります。0~255の範囲内の値はポジティブテストとなります。0未満または255を超える入力は無効とみなされ、ネガティブテストとなります。
入力データは複数のパーティションに分割される場合があります。各パーティションの値は少なくとも1回はテストする必要があります。有効な値を持つパーティションはポジティブテストに使用され、無効な値を持つパーティションはネガティブテストに使用されます。
例:マイナス10から10までの数値は、マイナス10から0までと1から10までの2つの区分に分割されます。正の数値をテストする必要がある場合、最初の区分(マイナス10から0まで)は負のテストに使用されます。
参考文献
- ^ 「ネガティブテスト」。smartbear.com 。2020年5月22日閲覧。