黑盒測試
黑盒測試用例設計方法—等價類劃分、邊界值
1. 等價類劃分
把所有可能的輸入數據劃分成若干子集,然後從每一個子集中選取少數具有代表性的數據作爲測試數據,就可以用少量代表性的測試數據。
等價類劃分法分爲:有效等價類和無效等價類
有效等價類:是指對於程序的規格說明來說是合理的,有意義的輸入數據構成的集合。
無效等價類:無意義的,不符合需求規定的集合。
如何用等價類劃分設計用例?
一般有如下幾個步驟:
-
劃分等價類和非等價類並編號。
-
設計組合方式和可能性。
-
根據組合選擇數據生成測試用例。
原則:
- 設計一個新的測試用例,使其儘可能多地覆蓋尚未被覆蓋地有效等價類,重複這一步.直到所有的有效等價類都被覆蓋爲止。
- 設計一個新的測試用例,使其僅覆蓋一個尚未被覆蓋的無效等價類,重複這一步.直到所有的無效等價類都被覆蓋爲止。
2. 邊界值分析
經驗告訴我們,一般大量的錯誤都是發生在輸入或輸出範圍的邊界上,而不是發生在輸入輸出範圍的內部。通常輸入和輸出等價類的邊界,就是應着重測試的邊界情況。應當選取正好等於,剛剛大於或剛剛小於邊界的值作爲測試數據,而不是選取等價類中的典型值或任意值作爲測試數據。
一般要取邊界點上的上點、內點和離點。
上點:邊界上的點
內點:區間內的點
離點:離邊界值最近且與上點不屬於同一等價類的點。
對於小數不用考慮離點。
如:(0,100],上點:0、100 內點:50 離點:0,101。
3. 判定表
定義:分析和表述若干輸入條件下,被測對象對這些輸入作出相應的一種表格。在遇到複雜業務邏輯時可以用該表理清業務邏輯關係。
條件樁:需求規格說明書所定義的被測對象的所有輸入。
條件項:針對條件樁所有可能的輸入數據的真假值。
動作樁:針對條件,被測對象所採取的操作。
動作項:針對條件項的各種取值,被測對象響應的動作。
規則:任何一個條件組合的特定取值及其要執行的相應操作。在判定表中貫穿條件項和動作項的一列就是一條規則。
1、確定規則個數,假如有n個條件.每個條件有兩個取值(0,1),故有2^n種規則。
2、列出所有的條件樁和動作樁。
3、填入條件項。
4、填入動作項,等到初始判定表。
5、簡化,合併相似規則(相同動作)。
根據判定表可輸出3條測試用例。
適合使用判定表設計測試用例的條件:
規格說明以判定表形式給出,或很容易轉換成判定表的。
條件的排列順序不會也不影響執行哪些操作。
規則的排列順序不會也不影響執行哪些操作。
每當某一規則的條件已近滿足,並確定要執行的操作後,不必檢驗別的規則。
如果某一規則得到滿足要執行多個操作,這些操作的執行順序無關緊要。
4. 錯誤推測法
基於經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。
錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例。
例如,在單元測試時曾列出的許多在模塊中常見的錯誤。以前產品測試中曾經發現的錯誤等,這些就是經驗的總結。還有輸入數據和輸出數據爲0的情況,這些都是容易發生錯誤的情況。
5. 隨機測試法
隨意測試,不考慮任何測試用例和需求,完全站在一個用戶的角度對產品進行使用。
適用於:
所有之前設定的用例已經執行完畢。
海量的條件組合沒有辦法一一遍歷的時候。
6. 場景法
基本流:通過實現業務流程時,做到每一個流程都是正確的,從來達到目的流程。
備選流:通過實現業務流程時,因錯誤操作或者是異常操作,導致流程反覆,但最終達到目的流程
根據說明,描述出程序的基本流及各項備選流。
根據基本流和各項備選流生成不同的場景。
對每一個場景生成相應的測試用例。
對生成的所有測試用例重新複審,去掉多餘的測試用例,測試用例確定後,對每一個測試用例確定測試數據值。
7. 測試大綱法/需求文檔轉化法
所有需求文檔中所描述的文字信息,梳理每個功能模塊的測試點,將每個測試點轉化爲用例。