山東軍隊文職招聘考試網(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)結(jié)構(gòu)分析、代碼質(zhì)量度量等。靜態(tài)測試可以由人工進行,充分發(fā)揮人的邏輯思維優(yōu)勢,也可以借助軟件工具自動進行。經(jīng)驗表明,使用人工測試能夠有效地發(fā)現(xiàn)30%到70%的邏輯設(shè)計和編碼錯誤。

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

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

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

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

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

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

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

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

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

(1)邏輯覆蓋測試

邏輯覆蓋是泛指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測試用例設(shè)計技術(shù)。通常所指的程序中的邏輯表示有判斷、分支、條件等幾種表示方式。

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

例3.1設(shè)有程序流程圖表示的程序如圖3.24

測試用例1:

輸入

(i,j)輸出

(i,j,x)

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

測試用例2:

輸入

(i,j)輸出

(i,j,x)

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

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

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

例3.2設(shè)有程序流程圖表示的程序如圖3.25

對圖3.25的程序設(shè)計如表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判定覆蓋。使設(shè)計的測試用例保證程序中每個判斷的每個取值分支(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)歡會為真,無論另一個條件是否錯誤,判斷的結(jié)果都為真,這說明,僅有判斷覆蓋還無法保證能查出在判斷的條件中的錯誤,需要更強的邏輯覆蓋。

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

例3.3設(shè)有程序流程圖表示的程序如圖3.26

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

測試用例1

輸入

(i,j)輸出

(i,j,x)

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

[1][2]下一頁

用戶名:!查看更多評論

分值:100分55分1分

內(nèi)容:!

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