日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

白盒测试方法之逻辑覆盖

發布時間:2023/12/15 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 白盒测试方法之逻辑覆盖 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

單元測試基本

是指對軟件中的最小可測試單元進行檢查和驗證。單元測試是軟件測試中最基礎的測試,集成測試、功能測試和系統測試都建立在單元測試之上。單元測試的對象是構成軟件產品或系統的最小的獨立單元,如封裝的類或對象、獨立的函數、進程、子過程、組件或模塊等。

單元測試的用例設計要求

對于單元測試用例的設計和程序的實現過程,主要集中在白盒測試方法之上,并力求達到下列測試要求1.對程序模塊所有獨立的執行路徑至少要測試一次。2.對所有邏輯判定,其結果為真、假兩種情況至少要測試一次。3.對程序進行邊界檢查(常見的如數據越界檢驗)。4.檢驗內部數據結構的有效性。

邏輯覆蓋法

邏輯覆蓋法是白盒測試中最主要的測試方法邏輯覆蓋分為語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋,其基本思想不同,產生的測試用例不同,覆蓋范圍也有所不同以代碼為例介紹一下以下幾種邏輯覆蓋方法:Dim a,b As IntegerDim c As DoubleIf (a > 0 AND b > 0) ThenIf (a>1OR c>1) Then

我將代碼邏輯轉換為流程圖如下:

語句覆蓋

首先我們來說語句覆蓋:
基本思想:設計若干測試用例,運行被測程序,使程序中的每個可執行語句至少被執行一次。
每個可執行語句:每個語句,那么下圖中執行為:1->2->3->4

語句覆蓋的不足:
1.在使用語句覆蓋法進行測試用例設計時,能夠使得所有的執行語句都被測試,但是不能準確判斷運算中的邏輯關系錯誤。
例如:在這個例子中,如果程序將M的條件“(a>0 AND b >0)”寫成"(a>0 0R b>0)”,這時的測試用例仍然可以覆蓋所有可執行語句,但不能發現其中的邏輯錯誤。

判斷覆蓋

基本思想:是使每個判斷的取真值和取假值都至少經歷一次(T代表正確,F代表錯誤)

如下圖:

編寫判斷測試用例:

要求:

執行用例1,判定(A > 1 and B == 0)為真,執行X= X/A,X =1/3; 判定(A== 2 or x > 1)為假,不執行X =× +1;程序結束。執行用例2,判定(A > 1 and B == 0)為假,不執行X=X/A; 判定(A== 2 or x > 1)為真,執行X = X + 1 ,X = 4 ; 程序結束。

使用Python Unittest 實現上述用例

判定-條件覆蓋

基本思想:基本思想:確保設計足夠或精巧的測試用例,可使得判斷條件中所有條件的可能取值至少被執行一次,同時,所有判斷的可能結果也至少被執行一次。


判定/條件覆蓋,既要考慮到單個判定中每個條件的可能情況(A>1或A≤1,B=0或B≠0,A=2或A≠2,X>1或X≤1),也要考慮到每個判定的可能情況(路徑ace和abd,或路徑acd和abe)。用例及其遍歷的路徑如下所示:

A=2,B=0,X=4 aceA=1,B=1,X=1 abd

條件組合覆蓋

基本思想:設計足夠的測試用例,使判斷中每個條件的所有可能至少出現一次,并且每個判斷本身的判定結果也至少出現一次。與判定一條件覆蓋的差別是,條件組合覆蓋不是簡單地要求每個條件都出現“真”與“假”兩種結果,而是要求讓這些結果的所有可能組合都至少出現一次


滿足多重條件覆蓋準則的測試用例,必須覆蓋以下8種組合:

滿足多重條件覆蓋準則的測試用例,必須覆蓋以下8種組合:

A=2,B=0,X=4 ace 覆蓋組合1,5 A=2,B=1,X=1 abe 覆蓋組合2,6 A=1,B=0,X=2 abe 覆蓋組合3,7 A=1,B=1,X=1 abd 覆蓋組合4,8

白盒測試經典案例

總結

以上是生活随笔為你收集整理的白盒测试方法之逻辑覆盖的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。