定義:白盒測試需要深入到軟體的內部,去檢視源**,去分析程式的內部結構,如資料型別、演算法、異常處理等。
應用領域: a.
設計某些方法以盡可能覆蓋源**所有分支,提高測試的覆蓋率。 b.
通過白盒測試找記憶體洩露。 c.
對源**進行靜態分析找出某種極端情況下才會出現的問題。
分類:a.靜態分析:只是靜態地分析程式的**是否符合相應的編碼規範或是檢查程式裡的邏輯錯誤。分為**走查、
**審查及
技術評審(測試參與)
。運用白盒測試工具(
c++test
,logiscope
)來自動檢測。 b.
動態測試:實際執行被測軟體來測試
邊界值測試 1)
資料型別的邊界值:注意資料型別的邊界值
eg:dos平台c
語言中各種資料型別的邊界值
短整型:
-32768~32767
整型:-32768~32767
長整型:
-2147485648~2147483647
字元型:
256
單精度型:
-2147485648~2147483647
雙精度型:
-1.7*10
的308
次方~1.7*10
的308次方
2)陣列的邊界值:注意陣列型別的邊界值,放止產生陣列越界
記憶體溢位問題:
eg:int a[5];
for(i=0;i<=5;i++)
scanf("%d",&a[i]);
for(i=1;i<5;i++)
printf("%d",a[i]);
第乙個for
迴圈事先在記憶體中只給
a[5]
分配了5
個整型元素所佔的空間,而在
scanf
輸入時卻要輸入
6個元素,那麼多輸入的元素存在哪?只能存在與陣列
a[5]
相鄰的記憶體空間,而這一空間是沒有提前分配的,其中不一定儲存什麼樣的資料,因此就比較危險,可能引起記憶體溢位的錯誤。
第二個for迴圈顯然把
a[0]
這一陣列元素漏掉了。 3)
分支判斷語句的邊界值:注意邊界等於值
邏輯驅動覆蓋技術:
*程式的三種結構:順序、分支和迴圈結構 a.
語句覆蓋測試: b.
分支覆蓋測試: c.
條件覆蓋測試: d.
分支-條件覆蓋測試: e.
條件組合覆蓋測試: f:
路徑覆蓋測試:
迴圈語句測試: a.
簡單迴圈的測試重點
(1).
迴圈變數的初值是否正確
(2).
迴圈變數的最大值是否正確
(3).
迴圈變數的增量是否正確
(4).
何時退出迴圈 b.
串接迴圈 c.
巢狀迴圈
(1).
當外迴圈變數為最小值,內層迴圈也為最小值時,運算的結果
(2).
當外迴圈變數為最小值,內層迴圈為最大值時,運算的結果
(3).
當外層迴圈為最大值,內層迴圈為最小值時,運算的結果
(4).
當外層迴圈為最大值,內層迴圈為最大值時,運算的結果
(5).
迴圈變數的增量是否正確
(6).
何時退出內迴圈
(7).
何時退出外迴圈
白盒測試簡介
白盒測試也叫透明盒測試,或者叫結構測試,是用來測試軟體內部結構或者應用的工作情況的測試方法,在白盒測試中,設計測試用例時會用到對系統內部結構理解和一定的程式設計技巧。測試員需要選擇合適的輸入來覆蓋路徑,並決定合適的輸出。白盒測試可以應用在單元測試,整合測試和系統測試上。儘管傳統測試者更傾向於在單元測...
python 白盒測試 白盒測試方法
白盒測試是單元測試階段常用到的測試方法,其特點有 1 可以構成測試資料,使特定程式部分得到測試 2 有一定的充分性度量手段 3 可獲得較多工具支援 4 通常只用於單元測試。下邊通過一段 來看一下白盒測試中的邏輯覆蓋 那麼為了清晰,我們畫出乙個該程式的流程圖 1 語句覆蓋 語句覆蓋是最弱的邏輯覆蓋準則...
白盒測試方法
白盒測試方法 定義 白盒測試又稱結構測試 透明盒測試 邏輯驅動測試或基於 的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟體,白盒指的是盒子是可視的,你清楚盒子內部的東西以及裡面是如何運作的。白盒 法全面了解程式內部邏輯結構 對所有邏輯路徑進行測試。白盒 法是窮舉路徑測試。在使用這一方案...