2011-06-21 13 views
4
  1. もし私が1から100の間の小数点だけを受け入れる入力テキストを作成したとしたら、どうすればテストできますか?良い境界テスト

    "0"、 "1"、 "50"、 "100"、 "101"、 "0.9"、 "100.1"、 ""

    私見は、私は、この流れの中でテストします

    これで十分ですか?このような境界テストをどのようにテストするのが構造化されたフローですか? (いい記事ですか?)また、「1 + 1」をテストすべきですか?

  2. 質問が「1から100までの任意の整数を受け入れる」ように変更された場合、この一連のテストは十分ですか?一連の入力は10進数のテストと異なる必要がありますか?

    "0"、 "1"、 "50"、 "50.5" "100"、 "101"、 "0.9"、 "100.1"、 "#1については、"

答えて

2

、あなたあなたは正しいクラスにいると思うし、同等のクラスに入っているケースが多すぎるかもしれないと思う。通常、下限Lと上限Uがある場合、LとUが有効であり、L - eとL + eが無効であることをテストするだけで十分です(eは、境界)。サニティのために特別な値を追加したい場合は、LとUの間の何かをテストすることもできます。 LとUの間のランダムな値を選択することも同様に機能すると言う人もいますが、私はテストが決定論的であることを好みます。

したがって、上記の例では、Lは1であり、Uは100です。これは10進値なので、eは理論的には無視できるほど小さいので、eの値は厄介です。あなたの顧客のシナリオに基づいて合理的なものを選択することは良いことです。たとえば、金額であれば0.01を選択するとよいでしょう。この場合、「1」、「100」、「0.99」、「100.01」のままになります。

あなたのテキストボックスも文字を受け入れることができるので、上記の "A"のように数値以外のデータもテストするのが理にかなっています。テストの負担を軽減するための別のアプローチは、有効な値のみを許可するように顧客エクスペリエンスを設計することです。整数の場合、これを行う1つの方法は、1と100の間の整数値しか持たないコンボボックスを使用することです。

#2の場合、シナリオは少し変わります。 Lは1、Uは100ですが、eは1になります。これは有効な値が整数値であるためです。小数点の値がエラーをスローすることをテストしたい場合、それはケースの異なるクラスであり、境界には関係しません。したがって、エラー条件には "50.5"と "A"で十分です。小数点以下を丸めたい場合は、それをテストすることもできます。

0

境界テスト(または境界値分析とも呼ばれます)の危険性は、明確で明白な境界に集中する傾向があることです。しかし、多くの未知のものがあり、境界を予測することは困難です。明確で明白な境界であまりにも多くのことを信頼するならば、隠れた境界を越える失敗を失う危険があります。

既知の境界に焦点を当てることは重要ですが、さまざまな間隔でテストサンプルを試すことは妥当です。

あなたのテストのセットは少し軽いかもしれません。

あなたが持っている場所: 「0」、「1」、「50」、「100」、「101」、「0.9」、「100」。 "0"、 "1"、 "10"、 "20"、 "30"、 "40"、 "50"の間にいくつか追加する傾向があります。 「60」、「70」、「80」、「90」、「100」、「101」、「0.9」、「100.1」、「A」

さらに極端なケースを追加することをお勧めしますこれらのテストが自動化されており、入力データにさらにいくつかのデータポイントを追加すると、時間とコストの両方を考慮する必要はほとんどありません。テストの実行はコストが非常に低いですが、これらのテストが手動の場合、テストのセットを減らすことを決定できますが、境界線に固執しないでください。