2017-10-09 22 views
0

境界値分析を使用するときに境界内で2つの値を使用する理由を理解できません。 たとえば、プログラムには次の要件があります。1)1〜100の値がtrue、そうでない場合はfalseです。境界値分析、なぜ境界内に2つの値を使用するのですか?

func calc(x): 
    if (x >= 1 and x <= 100): 
    return True 
    else: 
    return False 

(例えばプレスマン、)たくさんの本は、あなたがそのようなプログラムをテストするために、入力0、1、2、99、100および101を使用する必要が言います。

私の質問は、なぜ入力 '2'と '99'を使用するのですか? テストケースセット(0,1,2,99,100,101)が失敗を示し、テストケースセット(0,1,100,101)がそれを公開していないという欠陥を持つプログラムを作成しようとしています。 私はそのようなプログラムを作ることができません。

このようなプログラムを作成できますか? そうでなければ、リソース冗長テストケース '2'と '99'を作成するのは無駄です。

答えて

0

基本的な要件は、境界値の+ -1を持つことです。そう入力の正確な境界値について1-100

  1. 一つのテストケースの範囲の値をテストするためにドメイン各入力のすぐ下境界値の 1及び100

  2. つのテストケースを意味しますドメイン各 だけ入力の境界値以上の0から99

  3. つのテストケースを意味各 2及び101

を意味ドメイン

あなたの質問に答えるには - なぜ入力 '2'と '99'を使用するのですか?これは、BVAに従っている場合は、ソフトウェアが正しく動作するように、範囲の上限と下限の両方をチェックしているためです。しかし、厳しい規則はありません。範囲が十分に大きい場合は、より多くのテストポイントが必要です。 BVAの一部として中間値をテストすることもできます。

また、Switch Caseステートメントを使用して、プログラムまたは複数のIfsを作成することができます。

+0

うん。しかし、私は理由を知りたいです。あなたの例では、値1と99が重複していると思います。テストケース(0,100,1,99,1,101)がバグを見つけ、テストケース(0,100、-1,101)がそれを見つけられないというプログラムを作ろうとします。 –

+0

私が言ったように、BVAはそのように定義されていますが、ハードとファーストルールはありません。それはビジネス慣行に従うかどうかにかかっています。 BVAの考え方は、境界がアプリケーション内で最も脆弱な入口/出口点の1つであるため、境界が正しいことを保証することです。 –

関連する問題