軟件缺陷的定義

來看一下Ron Patton 爲我們的軟件缺陷所下的定義。

1、軟件沒有實現產品的說明書所描述的功能。

2、軟件實現了產品說明書描述不應有的功能。

3、軟件執行了產品說明書沒講的操作。

4、軟件沒有實現產品說明書沒講但應該實現的功能。

5、從軟件測試員的角度來看,軟件難以理解、不易使用、運行緩慢,或者最終用戶認爲不對。

爲什麼一個定義要這麼多條來描述?這個“缺陷”的定義有這麼複雜麼?不,它其實並不複雜,作者只是想更加全面的來給“缺陷”下定義。

下面我們來以建一棟房子爲例,來說明一下每一條定義的意思。需要說明的是沒有十分完美而且一成不變的產品說明說,而且在實際項目中,它可能非常簡陋,模棱兩可,甚至經常變動。

1、 軟件沒有實現產品說明書的描述的功能。房子的主人希望有一個落地的大窗戶,讓陽光更好的照進屋子裏,而且他特意在房子的設計圖紙中畫出來,並且還加以說明。結果,他看到的是四面全是牆壁,只有一個小門的房子。那麼對於測試人員來說,他就是一個缺陷。

2、 軟件實現了產品說明書中描述的不應有的功能。由於房子的主人生活在南方,天氣溫暖,而請來的泥瓦匠是北方的,結果給主人建造的房子具然有一個大大的取暖的煙筒,而且主人特意在房子的設計圖紙中說明,自己的房子不要煙筒。那麼對於測試人員來說,這也是個缺陷。

3、 軟件執行了產品說明書沒講的操作。與第二條類似,不同的是第二條是主人已經明確說了自己不要煙筒,而這一條強調的是在主人沒說的情況下。泥瓦匠自作聰明的加了一個煙筒上去。對於測試人員來說,畫蛇添足的功能同樣被視爲缺陷。

4、 軟件沒有實現產品說明書沒講但應該實現的功能。房子的主要對屋子的高度、格局,材料,顏色描述的非常清楚。泥瓦匠在建造房子的時候發現,主人沒有提地基這回事,爲了使房子牢固,所以,所有的房子都是必須要先打地基的,雖然主人沒有說,但地基的功能必須要做。如果因爲沒有描述沒有去做,但這又一件必須去做的事。對於測試人員來說,也可以視其這缺陷。

5、 從軟件測試員的角度看,軟件難以理解、不易使用、運行緩慢,或者最終用戶認爲不對。軟件測試員是軟件除了測試軟件運行的缺陷,同樣是作爲一個用戶在再對軟件進行使用。如果感覺自己都很難使用,或軟件效率非常低且界面醜陋等情況,也可以認爲其存在缺陷。或者是最終用戶拿到產品時發現這根本不是自己想要的東西,也可以現其爲缺陷。當然,用戶說不是自己想要的東西,也不能憑藉一面之詞,可以拿合約,產品說明書來評估。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章