山東軍隊文職招聘考試網(wǎng)計算機常識-靜態(tài)測試與動態(tài)測試 - 常識判斷

山東軍隊文職招聘考試網(wǎng)計算機常識-靜態(tài)測試與動態(tài)測試減小字體增大字體山東軍隊文職招聘考試網(wǎng)計算機常識-靜態(tài)測試與動態(tài)測試

(1)靜態(tài)測試

靜態(tài)測試包括代碼檢查、表態(tài)結構分析、代碼質量度量等。靜態(tài)測試可以由人工進行,充分發(fā)揮人的邏輯思維優(yōu)勢,也可以借助軟件工具自動進行。經(jīng)驗表明,使用人工測試能夠有效地發(fā)現(xiàn)30%到70%的邏輯設計和編碼錯誤。

代碼檢查主要檢查代碼和設計的一致性,包括代碼的邏輯表達的正確性,代碼結構的合理性等方面。這項工作可以發(fā)現(xiàn)違背程序編寫標準的部下,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風格的問題,包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結構檢查等內容。代碼檢查包括代碼審查、代碼走查、桌面檢查、靜態(tài)分析等具體方式。

代碼審查:小組集體閱讀、講座檢查代碼。

代碼走查:小組成員通過用腦研究、執(zhí)行程序來檢查代碼。

山東軍隊文職招聘考試網(wǎng)計算機常識-白盒測試方法與測試用例設計 - 常識判斷

山東軍隊文職招聘考試網(wǎng)計算機常識-白盒測試方法與測試用例設計減小字體增大字體山東軍隊文職招聘考試網(wǎng)計算機常識-白盒測試方法與測試用例設計

白盒測試方法也稱結構測試或邏輯驅動測試。它是根據(jù)軟件產(chǎn)品的內部工作過程,檢查內部萬分,以確認每種內部操作符合設計規(guī)格要求。白盒測試把測試對象看作一個打開的盒子,允許測試人員利用程序內部的邏輯結構及有送信息來設計或選擇測試用例,對程序所有的邏輯路徑進行測試。通過在不同點檢查程序的狀態(tài)來了解實際的運行狀態(tài)是否與預期的一致。所以,白盒測試是在程序內部進行,主要用于完成軟件內部操作的驗證。

白盒測試的基本原則是:保證所測模塊中每一獨立路徑至少執(zhí)行一次;保證所測模塊所有判斷的每一分支至少執(zhí)行一次;保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗證所有內部數(shù)據(jù)結構的有效性。

按照白盒測試的基本原則,白盒法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數(shù)據(jù)。貫穿程序的獨立路徑數(shù)是天文數(shù)字,但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序是否違反了設計規(guī)范,即程序本身是個錯誤的程序;第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯;第三,窮舉路徑測試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關的錯誤。

白盒測試的主要方法有邏輯覆蓋、基本路徑測試等。

(1)邏輯覆蓋測試

邏輯覆蓋是泛指一系列以程序內部的邏輯結構為基礎的測試用例設計技術。通常所指的程序中的邏輯表示有判斷、分支、條件等幾種表示方式。

○1語句覆蓋。選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。

例3.1設有程序流程圖表示的程序如圖3.24

測試用例1:

輸入

(i,j)輸出

(i,j,x)

(10,10)(10,10,10)

測試用例2:

輸入

(i,j)輸出

(i,j,x)

(10,15)(10,15,15)

語句覆蓋是邏輯覆蓋中基本的覆蓋,尤其對單元測試來說。但是語句覆蓋往往沒有關注判斷中的條件有可能隱含的錯誤。

○2路徑覆蓋。執(zhí)行足夠的測試用例,使程序中所有可能的路徑都至少經(jīng)歷一次。

例3.2設有程序流程圖表示的程序如圖3.25

對圖3.25的程序設計如表3.2列出的一組測試用例,

就可以覆蓋該程序的全部4條路徑:ace,abd,abe,acd。

測試用例通過路徑測試用例通過路徑

[(A=2,B=0,X=3),輸出略](ace)[(A=2,B=1,X=1),輸出略](abe)

[(A=1,B=0,X=1),輸出略](abd)[(A=3,B=0,X=1),輸出略](acd)

○3判定覆蓋。使設計的測試用例保證程序中每個判斷的每個取值分支(T或F)至少經(jīng)歷一次。

根據(jù)判定覆蓋的要求,對如圖3.26所示的程序,如果其中包含條件ij的判斷為真值(即為T)和為假值(即為F)的程序執(zhí)行路徑至少經(jīng)歷一次,仍然可以使用例3.1的測試用例1和測試用例2。

程序每個判斷中若存在多個聯(lián)立條件,僅保證判斷的真假值往往會導致某些單個條件的錯誤不能被發(fā)現(xiàn)。例如,某判斷是X1或Y5,其中只要一個條件聯(lián)歡會為真,無論另一個條件是否錯誤,判斷的結果都為真,這說明,僅有判斷覆蓋還無法保證能查出在判斷的條件中的錯誤,需要更強的邏輯覆蓋。

4條件覆蓋。設計的測試用例保證程序中每個判斷的生個條件的可能取值至少執(zhí)行一次。

例3.3設有程序流程圖表示的程序如圖3.26

按照條件覆蓋的測試要求,對圖3.26的程序判斷框中的條件ij和條件j5設計如下測試用例1和測試用例題,就能保證該條件取真值和取假值的情況至少執(zhí)行一次。

測試用例1

輸入

(i,j)輸出

(i,j,x)

(3,2)(3,2,3)

[1][2]下一頁

用戶名:!查看更多評論

分值:100分55分1分

內容:!

通知管理員驗證碼:點擊獲取驗證碼