王春平
摘 要:為了提高動態軟件測試的效率及精準度,因而大力推行將白盒測試技術應用在動態軟件測試中,以高效率地查找出軟件代碼中的錯誤或不足,進而促進軟件系統開發達到高質量的標準。在此,本文將對白盒測試技術在動態軟件測試中的應用進行重點研究。
關鍵詞:白盒測試技術;動態軟件測試;覆蓋;應用
軟件測試是任何軟件系統開發過程中的一個重要的環節,對任一軟件系統進行科學、嚴格的測試,這是確保軟件系統達到高質量、高可靠性標準的一個有效途徑。而為了提高動態軟件測試的效率及精準度,所以大力推行將白盒測試技術應用在動態軟件測試中,高效率的查找出軟件代碼中的錯誤或不足,以促進軟件系統開發的高質量。
1 白盒測試及其常用方法
1.1 白盒測試
白盒測試,又叫透明盒測試或邏輯驅動測試。這是一種有效的測試方法與技術,其主要功能是全面了解程序內部的邏輯結構;驗證軟件程序;檢測單元內部的工作情況;測試軟件程序所有的邏輯路徑。測試者通過運用白盒測試方法與技術來檢查軟件程序的邏輯結構、內部結構等,從中得出相應的檢測數據,而后測試者根據這些數據來判斷被測軟件系統是否達到相應的標準,測試該軟件系統是否還存在代碼錯誤,最終確定該軟件系統能夠投入到具體的應用中。
1.2 白盒測試的常用方法
在白盒測試技術中已形成了一些較為成熟的常用方法,其中以覆蓋率測試用例設計方法為主要代表,且構成了一系列完整的方法體系,如語句覆蓋法、判定覆蓋法等都是該方法的組成要素。下面將通過一個具體程序實例來介紹語句覆蓋法與判定覆蓋法,例子程序的內容包括:①IF[(A<2)and(B=1)]then;②y=y/A;③IF[(C>2)and(X>1)]then;④z=z+1;⑤結束。如圖1與圖2,這是上述程序的流程圖以及流圖。
⑴語句覆蓋法。當程序應用語句覆蓋法進行測試時,其能夠保證任何一個執行語句均可得到執行及路徑測試,并完成語句覆蓋。如上述的程序實例,根據圖2可知程序中的①②③④⑤語句的執行路徑為B、C、E、F,在測試用例過程中,只需滿足A=1,B=1,C=3,X=2則完成了語句的執行與覆蓋,通過了語句執行路徑的測試。
⑵判定覆蓋。判定覆蓋法,又稱分支覆蓋法,這種方法與語句覆蓋法相比,其測試效果更為強大。該方法的測試原理是對程序中所有用例進行執行與測試,從而確保每一個程序路徑都經歷了一次“真值”與“假值”的判定。如上述的程序實例,只有程序中的①③語句在測試用例過程中獲得了一次“真值”與“假值”的判定時,該程序才能完成覆蓋測試的判定。
2 白盒測試技術在動態軟件測試中的應用
2.1 軟件功能需求
如圖3所示,在應用白盒測試技術在具體的動態軟件測試操作之前,測試者需要設計一個程序流程圖,并編寫模塊,以滿足軟件功能的需求。見圖3,用戶可通過t1、t2、t3三個文本框來實現數據的輸入,利用“+、-、×、/”四個功能選項按鈕來完成對軟件程序的測試。在測試過程中,測試者只需要將數字輸入到t1、t2的文本框中,通過“+、-、×、/”功能按鈕來進行運算,其結果會在t3文本框中顯示。
2.2 具體的測試應用
動態軟件測試在應用白盒測試技術的操作之前,需要確保程序中的每條路徑滿足了覆蓋。根據圖3可將程序測試分為四個分支節點,測試者依據具體需求輸入相應的數值(如d1=99,d2=25與d1=99,d2=abc)以覆蓋程序第一個分支節點中的兩個分支。而后,通過“+、-、×、/”來覆蓋第二個分支節點中的四個分支。對于第三個分支節點的覆蓋,可輸入d2=1、d2=25來完成兩個分支的覆蓋。而在第四個分支節點中,以循環的形式來完成分支覆蓋,一般只進行一次路徑覆蓋的循環執行,以完成對程序循環體的驗證。只有當軟件程序中的四個分支節點都滿足了覆蓋,并通過了路徑驗證,這時軟件系統是否存在隱藏錯誤都可被檢測出來。
3 結語
任意一個新開發出來的軟件系統都需要經歷軟件測試與驗證的階段,在這測試過程中動態軟件測試需要應用白盒測試技術來完成軟件系統運行的驗證,以判定被測試軟件系統是否存在隱藏的錯誤,是否達到統一的程序標準。不過,白盒測試技術在動態軟件測試中還存在不足,因而需要借助黑盒測試技術來協作完成對軟件系統的測試與驗證。
[參考文獻]
[1]巨志斌.面向對象的白盒測試技術的研究與分析[J].軟件工程師,2010(5):56-57.
[2]劉洋.白盒測試技術概述[J].廣西大學學報(自然科學版),2008,33(Z1);70-75.