測試用例設計方法
發表于:2007-08-03來源:作者:點擊數:
標簽:測試用例
測試用例 設計方法 1. 測試 用例設計 方法 1.1. 白盒測試 的測試用例設計(邏輯覆蓋法) 這種方法是從程序內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程序的邏輯結構十分清楚,甚至應掌握源程序的所有細節。 1.1.1. 語句覆蓋 設計若干測試
測試用例設計方法
1.
測試用例設計方法1.1.
白盒測試的測試用例設計(邏輯覆蓋法)這種方法是從程序內部的邏輯結構出發選取測試用例,因此要求測試用例設計人員對程序的邏輯結構十分清楚,甚至應掌握源程序的所有細節。1.1.1.
語句覆蓋設計若干測試用例,運行被測試程序,使得每個可執行語句至少執行一次。1.1.2.
判斷覆蓋設計若干測試用例,運行被測試程序,使得程序中每個判斷的真值分支和假值分支至少經歷一次。對象是每個判斷。1.1.3.
條件覆蓋設計測試用例,運行被測試程序,使得程序中每個判斷中的每個條件的可能取值情況至少滿足一次。對象是每個條件。1.1.4.
判斷—條件覆蓋設計測試用例,運行被測試程序,使得程序的每個判斷中的每個條件的所有可能取值組合至少出現一次,并且使每個判斷本身的判定結果也至少出現一次。1.1.5.
路徑覆蓋設計測試用例,覆蓋程序中所有的可能路徑。1.2.
黑盒測試的測試用例設計1.2.1.
等價類劃分是把所有可能的輸入數據,即程序的輸入域劃分成若干部分(子集),然后從每一個子集中選取少數具有代表性的數據作為測試用例.該方法是一種重要的,常用的黑盒測試用例設計方法.該種設計方法分為劃分等價類表和選取測試用例兩步。劃分等價類: 等價類是指某個輸入域的子集合.在該子集合中,各個輸入數據對于揭露程序中的錯誤都是等效的.并合理地假定:測試某等價類的代表值就等于對這一類其它值的測試.因此,可以把全部輸入數據合理劃分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件,就可以用少量代表性的測試數據.取得較好的測試結果.等價類劃分可有兩種不同的情況:有效等價類和無效等價類.有效等價類:是指對于程序的規格說明來說是合理的、有意義的輸入數據構成的集合.利用有效等價類可檢驗程序是否實現了規格說明中所規定的功能和性能.無效等價類是指對于程序的規格說明書來說不合理的、無意義的輸入數據構成的集合.利用無效等價類可檢查程序中功能和性能的實現是否有不符合規格說明書的地方。.設計測試用例時,要同時考慮這兩種等價類.因為,軟件不僅要能接收合理的數據,也要能經受意外的考驗.這樣的測試才能確保軟件具有更高的可靠性.等價類劃分的原則:(1)
如果輸入條件規定了取值范圍或值得個數,則可以確立一個有效等價類和兩個無效等價類。如:1 < x < 99,則1 < x < 99是有效等價類,而x > = 99 和 x < = 1 就是兩個無效等價類;(2)
如果輸入條件規定了輸入值的集合,或者是規定了“必須如何”的條件,這是可以確立一個有效等價類和一個無效等價類。如:必須為正整數,則取正整數是有效等價類,而非正整數的是無效等價類;(3)
如果輸入條件是一個布爾值,則可以確定一個有效等價類和一個無效等價類,則滿足條件的為有效等價類,而不滿足條件的為無效等價類;(4)
如果規定了輸入數據的一組值(假定n個),并且程序要對每個輸入值分別進行處理。這樣可以為每一個輸入值確立一個有效等價類,此外可以確立針對這組值確立一個無效等價類,如:{1、5、10、20},則取1、5、10、20分別建立有效等價類,而非1、5、10、20的值是無效等價類;(5)
如果規定了輸入數據必須遵守的規則,則可以確立一個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。如:則滿足規則的為有效等價類,則不滿足規則的分別建立無效等價類;(6)
如果在確知已劃分的等價類中各元素在程序中的處理方式不同,則應將此等價類進一步分成更小的等價類。測試用例設計與選擇:(1)
為每一個等價類規定一個唯一的編號。(2)
設計一個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重復這一步,直到所有的有效等價類都被覆蓋為止。(3)
設計一個新的測試用例,使其近覆蓋一個尚未被覆蓋的無效等價類,重復這一步,直到所有的無效等價類都被覆蓋為止。1.2.2.
邊界值分析是對等價劃分方法的補充。(1)
邊界值分析方法的考慮:長期的測試工作經驗告訴我們,大量的錯誤是發生在輸入或輸出范圍的邊界上,而不是發生在輸入輸出范圍的內部.因此針對各種邊界情況設計測試用例,可以查出更多的錯誤.使用邊界值分析方法設計測試用例,首先應確定邊界情況。通常輸入等價類與輸出等價類的邊界,就是應著重測試的邊界情況,應當選取正好等于、剛剛大于、或剛剛小于邊界的值作為測試數據。(2)
邊界值分析方法選擇測試用例的原則在很多方面與等價劃分方法類似。A. 如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界值,及剛剛超越這個范圍邊界的值作為測試輸入數據。B. 如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1,比最小個數少1的數做為測試數據。C. 根據規格說明書的每個輸出條件,使用前面的原則A。D. 根據規格說明書的每個輸出條件,使用前面的原則B。E. 如果程序的規格說明書給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試用例。F. 如果程序中使用了一個內部數據結構,則應當選擇這個內部數據結構的邊界值作為測試用例。1.2.3.
錯誤推測法錯誤推測法: 基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法.錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測試用例. 例如, 在單元測試時曾列出的許多在模塊中常見的錯誤. 以前產品測試中曾經發現的錯誤等, 這些就是經驗的總結. 還有, 輸入數據和輸出數據為0的情況. 輸入表格為空格或輸入表格只有一行. 這些都是容易發生錯誤的情況. 可選擇這些情況下的例子作為測試用例.
原文轉自:http://www.anti-gravitydesign.com