官术网_书友最值得收藏!

1.4.5 邊界值分析

邊界值分析(Boundary Value Analysis,BVA)是一批又一批軟件工程師慘痛教訓的總結,這個教訓就是:程序邏輯很容易在邊界值的處理上出問題,在用等價類劃分的方法設計測試用例的時候,劃分類別的邊界部分非常值得重點測試,那里是bug的高發區!

以上一節中討論的程序為例,A等級分數的區間是90~100。這個區間的最小值是90,最大值是100,它們是這個類別的邊界,我們需要重點測試。具體來說,對于邊界值,我們需要測試邊界值本身,以及比邊界值略小和略大的輸入值,如表1-3所示。

值得注意的是,分數89在A等級的下區間邊界值測試中會被覆蓋到,在B等級的上區間邊界值測試中也會被覆蓋到,但這是完全相同的輸入,我們沒有必要重復測試,只需要在測試描述中清晰表達這條測試數據代表的意義就可以。

表1-3 A等級分數的邊界值測試范例

等價類劃分是邊界值分析的前提,前者的質量會直接影響后者的質量,這要求測試人員對產品功能有很好的理解,進行合理的劃分,否則邊界如果不是真正的邊界,邊界值分析就起不到應有的效果,錯過了對真正的邊界的測試。

邊界值分析是一種行之有效的工程實踐,它是用以往的經驗來指導現在的行為,讓我們知道把測試資源投入在哪些方面會有較高的回報。如果我們對此加以擴展,可以得到一系列“以史為鑒”的思路:

1)不重視測試的“古代”軟件項目無法保證質量,項目失敗的概率極高,“今人”應該引以為戒,避免重蹈覆轍。

2)“古人”編寫的軟件程序經常在邊界值的處理上出錯,“今人”很有可能在這個方面繼續犯錯,應該多加注意。

3)如果在軟件的某個模塊發現了比較多的bug,我們需要更加仔細、更加深入地測試這個模塊,因為很有可能有更多的bug有待發現。

4)如果開發團隊中某人寫的代碼的問題比較多,我們在審核其代碼時需要更加仔細,因為個人技術的提升需要時間積累,這種狀況很可能會持續一段時間。

主站蜘蛛池模板: 梁平县| 五家渠市| 蓝山县| 连南| 黑河市| 安泽县| 惠安县| 海门市| 巨鹿县| 北川| 祁连县| 安陆市| 郓城县| 卢氏县| 庐江县| 五寨县| 纳雍县| 福州市| 丹凤县| 永川市| 玛纳斯县| 遵化市| 江安县| 岳西县| 兴义市| 呼图壁县| 绥棱县| 色达县| 隆林| 五原县| 剑阁县| 余姚市| 岐山县| 吐鲁番市| 兴山县| 怀柔区| 外汇| 玉环县| 宁化县| 孟连| 绥德县|