2017-10-09 56 views
0

我不明白爲什麼在使用邊界值分析時使用邊界內的兩個值。例如,該程序具有以下要求:1)1和100之間的值爲真,否則爲false。邊界值分析,爲什麼在邊界內使用兩個值?

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

很多書籍(Pressman的,例如)說你必須使用輸入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)找到一個bug並且測試用例(0,100,-1,101)找不到它的程序。 –

+0

正如我所說,BVA是這樣定義的,但並沒有硬性規定。這完全取決於你是否想要遵循商業慣例。 BVA的想法是確保邊界是正確的,因爲它是應用程序中最脆弱的入口/出口點之一。 –