ネガティブテストとは? 例のテストケース

陰性検査

陰性検査 ソフトウェア テストの一種で、ソフトウェア アプリケーションに予期しない入力データや条件がないかをチェックするために使用されます。 予期せぬデータや条件には、間違ったデータ タイプから強力なハッキング攻撃まで、さまざまな可能性があります。 ネガティブ テストの目的は、ネガティブ入力によるソフトウェア アプリケーションのクラッシュを防ぎ、品質と安定性を向上させることです。

陽性テストを行うことによってのみ、システムが通常の状態で動作していることを確認できます。 100% 障害のないシステムを保証するには、システムが予期せぬ状況に対処できることを確認する必要があります。

このチュートリアルでは、次のことを学びます。

陰性検査の例

陰性検査の例として一般的に考えられているリフトの場合を考えてみましょう。

私たちは皆、エレベーターの機能を知っています。 これらは、階番号を押すとエレベーターがその特定の階に移動するなど、エレベーターの要件として考慮されます。

エレベーターが指定階などに到達するとドアが自動で開きます。

次に、上昇率のマイナスのシナリオをいくつか考えてみましょう。 そのうちのいくつかは、

陰性検査 陽性反応検査
  • 規定の人数(体重)を超えた場合はどうなりますか?
  • 指定された人数のみがエレベーターに入ることが想定されます
  • エレベーター内で誰かが喫煙したり火災を起こしたりした場合はどうなりますか?
  • エレベーター内に煙や火が発生することはありません
  • 稼働中に停電が発生した場合はどうなりますか?
  • エレベーター稼働中に停電することはありません

これらすべてのケースは陰性検査を受けることになります。 これが重要なのは、上記のすべてが起こらないことを保証できないため、それらを封じ込める必要があるということです。

重量超過状態がチェックされ、実装時に重量超過状態があるとリフトが異常な動作をする場合を考えてみましょう。 これはシステムの信頼性に潜在的な影響を与え、生命の危険を引き起こす可能性もあります。 これは陰性検査とは何か、そしてその重要性について説明します。

同じケースがソフトウェアにも当てはまります。 陰性検査に関しては、通常の運用手順から逸脱しています。 いくつかの例を見てみましょう。

たとえば、登録フォームを考えてみましょう。

陰性検査 陽性反応検査
  • 無効な e を入力してくださいmail e の IDmail フィールド
  • 有効な e のみmail ID は e に入力されますmail フィールド
  • 電話番号欄(文字)に無効な電話番号を入力しようとしました
  • 数字フィールドには数字のみが入力されます
  • 指定された境界外のサイズの画像をアップロードする
  • 指定された境界以下のサイズの画像のみがアップロードされます
  • 次のような無効なファイルをアップロードします XML画像アップロード欄に、SQL等のファイル
  • jpg.png などの有効な画像形式のみをアップロードしてください。

先ほども述べたように、これらすべてのネガティブなケースにおいて、システムが適切に機能することを確認する必要があります。 誰かが数字フィールドに文字を入力しようとしたが、システムは数字を期待しているため予期せぬデータを処理できず、最終的にシステムがクラッシュした場合を考えてみましょう。 あるいは、誰かが何かをしようとした場合はどうなるでしょうか SQLインジェクション そしてデータベースからすべてのデータを消去します。 私たちはそのような潜在的な損失に耐えることはできません。 したがって、陰性検査は重要です。

なぜネガティブテストを行うのでしょうか?

テストは時間とコストがかかる作業であるため、「何を」、「どのように」、「どの程度」テストするかを決定することが非常に重要です。 システムで陰性テストを行う必要があるかどうか、賢明に選択する必要があります。 それでは、陰性検査の重要性を見てみましょう。

組織の視点

顧客に高品質の製品を提供するのは組織の責任です。 これを達成するには、陰性テストを行う必要があります。

障害に対する確認の一環として、組織はネガティブ テストを実行する必要があります。

おそらく、100% エラーのないシステムを構築することはできませんが、障害を防ぐためにすべてのことを行ったことを確認する必要があり、それを達成するには、ネガティブ テストを行う必要があります。

影響は私たちが考慮しなければならない要素の XNUMX つです。 電子商取引サイトで陽性テストを実施し、すべてが正常であることを確認したと考えてください。 しかし、システムに抜け穴があり、誰かが SQL インジェクションを実行してすべてのデータを消去できる場合はどうなるでしょうか。 それは重大なセキュリティ侵害になります。 この種のケースを回避するには、陰性検査も行う必要があります。

一般に公開されているアプリケーション、主に Web サイトの場合、アプリケーションの使用手順をあまり制御できないことを常に念頭に置く必要があるため、そのようなケースがすべてカバーされ封じ込められていることを確認するためにネガティブ テストを行う必要があります。

私たちが気を付けなければならないもう XNUMX つのことは、システムを破壊する機会を狙っているブラックハッカーがたくさんいるということです。 ハッキングはネガティブテストの対象となる重要なケースです

クライアントの視点

クライアントは、ネガティブテストが必須であることを保証するために、常に脆弱性ゼロの製品を期待しています。

電子商取引、オンライン在庫などの機密性の高い商品の場合、セキュリティとネガティブ テストは必須です。

陰性検査に関するクライアントの唯一の懸念はコストです。 ただし、影響が分析されたら、ネガティブ テストを行うかどうかはクライアントの判断になります。

陰性検査のやり方

陰性テストを行うには、考えられるすべてのケースを考慮する必要があります。 それは、可能であれば、それを考慮する必要があるということです。 テストケース それが正しい使い方でないかどうかは関係ありません。 たとえば、e が表示された場合、mail フィールドでは、正しい e 以外に入力できるすべての入力について考えます。mail フォーマット。 同様に、画像アップロード オプションが表示された場合は、考えられるすべてのファイルでテストする必要があります。

ネガティブなテスト ケースを作成するときは、入力に優先順位を付ける必要があります。そうしないと、多くのケースが発生する可能性があります。 たとえば、「.png」ファイルのみが入力される画像フィールドの場合、「jpeg」、「xml」、「xls」など、アップロードするオプションが多数ある可能性があります。そのため、オプションに優先順位を付ける必要があります。 XML や SQL jpeg や xls よりも大きな影響を与える可能性があるため、最初に SQL および XML の場合に対処する必要があります。 このように、時間とテストコストを節約するために、実行前にケースに優先順位を付ける必要があります。

陰性検査の長所と短所

他のすべてのテスト手法と同様に、ネガティブ テストにも長所と短所があり、主に「どこで」「いつ」「どのように」使用するかに基づいて異なります。 これを見てみましょう。

ネガティブテストの利点

  • 周知のとおり、陰性検査は製品の品​​質を保証するために非常に重要です。 高品質の製品とは脆弱性のない製品であり、ネガティブ テストが非常に重要であることを確認します。
  • 陰性テストを実行すると、考えられるすべてのケースが確実にカバーされます。 意図的か非意図的かにかかわらず、検査結果が陰性となる可能性があります。 したがって、すべてのケースがカバーされていることを確認するには、陽性テストとともに陰性テストも行う必要があります。
  • ネガティブなテストにより、クライアントは本番稼働前にさらに自信を持つことができます。

陰性検査の欠点

  • ソフトウェア エンジニアリングでは、場合によってはネガティブ テストが時間とエネルギーの無駄になります。 多くの場合、過剰な陰性検査は必要ありません。 たとえば、アプリケーションが 100 人で使用するために作成されている場合、一度に XNUMX 人のユーザーがシステムを使用する場合を考慮する必要はありません。 したがって、ネガティブなテストケースの条件を決定することは非常に重要です。 特定のシステムに対してネガティブ テストを行う必要がない場合もあります。
  • ネガティブ テスト ケースの作成には、熟練した経験豊富な人材が必要です。
  • クライアントにとって、ネガティブ テストは、リリースの不必要な遅延とコストの増加を引き起こすもう XNUMX つの原因です。
  • チームが陰性検査により多くの時間とエネルギーを費やす可能性。 検査者が陰性検査に多くの時間とエネルギーを費やし、結果として陽性検査の集中力が低下する可能性があります。