- 軟件自動化測試實戰解析:基于Python3編程語言
- 徐西寧編著
- 751字
- 2021-07-23 16:17:30
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)如果開發團隊中某人寫的代碼的問題比較多,我們在審核其代碼時需要更加仔細,因為個人技術的提升需要時間積累,這種狀況很可能會持續一段時間。
- arc42 by Example
- 零基礎學Scratch少兒編程:小學課本中的Scratch創意編程
- Learning ArcGIS Pro 2
- Visual Basic程序設計教程
- Mastering Spring MVC 4
- 從程序員到架構師:大數據量、緩存、高并發、微服務、多團隊協同等核心場景實戰
- jQuery開發基礎教程
- Visual FoxPro程序設計習題集及實驗指導(第四版)
- 利用Python進行數據分析
- Python青少年趣味編程
- Python自然語言理解:自然語言理解系統開發與應用實戰
- MySQL 8從零開始學(視頻教學版)
- 算法秘籍
- Xamarin Cross-Platform Development Cookbook
- 軟技能2:軟件開發者職業生涯指南