白盒測試程式碼應該怎麼測試
之前一直在做黑盒測試,最近公司需要做白盒測試,在網上查閱了一些資料,做白盒測試程式碼應該怎麼測試?現總結如下:
1、白盒測試一種測試方法,單元測試是一種測試型別。
白盒測試一般是使用工具進行各個指標測試,如語句覆蓋、分支覆蓋、條件覆蓋等等。
白盒測試又分靜態和動態,靜態就是程式碼的規則規範檢測等,動態就是單元測試、覆蓋率測試、記憶體檢測,執行時錯誤檢測等。
2、進行白盒測試,首先你要會程式設計比如Java、python等。
測試的時候你可能需要寫一點簡單的程式碼來呼叫這個函式,這就是所謂的驅動函式,你也可能需要寫一些程式碼來接收或者驗證被測單元的輸出是否正確,這就是所謂的樁函式;白盒測試方法就是你透過分析被測單元的實現程式碼,根據不同的測試策略(如分支覆蓋或者邏輯覆蓋等)來設計測試用例並作相應的測試。
一般是針對程式碼進行測試,測試中發現的缺陷可以定位到程式碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。靜態測試工具直接對程式碼進行分析,不需要執行程式碼,也不需要對程式碼編譯連結,生成可執行檔案。靜態測試工具一般是對程式碼進行語法掃描,找出不符合編碼規範的地方,根據某種質量模型評價程式碼的質量,生成系統的呼叫關係圖等;動態測試工具與靜態測試工具不同,動態測試工具的一般採用“插樁”的方式,向程式碼生成的可執行檔案中插入一些監測程式碼,用來統計程式執行時的資料。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際執行。
白盒測試工具一般是針對程式碼進行測試,測試中發現的缺陷可以定位到程式碼級,根據測試工具原理的不同,又可以分為靜態測試工具和動態測試工具。靜態測試工具直接對程式碼進行分析,不需要執行程式碼,也不需要對程式碼編譯連結,生成可執行檔案。靜態測試工具一般是對程式碼進行語法掃描,找出不符合編碼規範的地方,根據某種質量模型評價程式碼的質量,生成系統的呼叫關係圖等;動態測試工具與靜態測試工具不同,動態測試工具的一般採用“插樁”的方式,向程式碼生成的可執行檔案中插入一些監測程式碼,用來統計程式執行時的資料。其與靜態測試工具最大的不同就是動態測試工具要求被測系統實際執行。
提到白盒測試的用例,首先想到的是介面測試用例和邏輯覆蓋用例,但小白最近遇到了這樣的一個問題:
問題:黑盒白盒同時進入測試,黑盒測平臺,白盒測核心,專案上線時間為平臺測試結束時間,開始迫於壓力將核心的測試完成時間壓縮到上線前,但後期時間緊張,測試混亂、不全面,上線問題較多,壓力山大。
面對這樣的問題大家怎麼考慮的呢,我認為這個問題的直接原因有兩個:
白盒測試效率較低,前期需要鋪墊的東西較為複雜(程式碼瞭解、用例編寫、用例除錯等),等白盒測試這邊鋪墊完成,黑盒這邊功能都測完了;
白盒測試人員考慮問題簡單,認為所有待測的核心功能都需要白盒測試,沒有針對不同的功能選擇測試的方法,導致將大量的時間耗費在一些沒有必要做白盒測試的功能上;
怎樣解決這樣的問題呢,首先要先清楚各種測試手段的優勢和劣勢:
隨機測試的時間消耗最少但覆蓋面也最小,適合做迴歸測試;
黑盒測試的時間消耗中等覆蓋面較全面,適合做直觀功能的測試;
白盒測試的時間消耗較高但覆蓋面十分全面,適合做核心邏輯的驗證;
自動化測試的時間消耗極高可覆蓋規模性的資料,適合做策略性的驗證;
根據上面所述測試手段的優勢和劣勢,我們嘗試用下面的辦法解決上述的問題:
白盒測試排期前,需要針對測試的功能和測試的時間判斷測試的手段,根據測試手段的不同和時間消耗給出準確的排期;
對於專案進行中插入進來的任務要考慮當前測試時間是否寬裕、插入任務是否複雜,考慮後再判斷是否要接插入任務;
過程中遇到白盒用例設計較為複雜的情況時,應考慮是否可以採用其他方式(如黑盒測試)的方式來解決,不應鑽牛角尖,將大量時間花費在寫用例程式碼上。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29297389/viewspace-2697179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 黑盒測試、白盒測試與灰盒測試方法
- 黑盒測試和白盒測試
- 程式碼審計基礎--白盒測試
- 軟體測試中的白盒測試是什麼?
- 對於黑盒測試、白盒測試、灰盒測試你瞭解多少?
- 測試方法-白盒/黑盒
- 細說白盒測試
- 軟體測試實驗二 | 白盒測試
- 知識普及:黑盒測試、白盒測試、灰盒測試之間的區別
- 軟體測試要學什麼(2)白盒測試詳解教程
- webgoat白盒審計+漏洞測試WebGo
- 程式碼滲透測試服務 白盒審計詳情
- 測試應該怎麼學 Java 呢Java
- 重溫黑盒、白盒與灰盒測試方法
- 白盒測試—六種覆蓋方法
- 關於bug,測試應該怎麼提
- 通用的 Java 介面白盒測試,大家都是怎麼進行的呢?Java
- 有大佬做安卓平臺的白盒測試麼?安卓
- 商城網站測試報告應該怎麼寫網站測試報告
- 軟體測試的測試環境該怎麼搭建?聽聽卓碼軟體測評小編怎麼說
- MYSQL程式碼顯示測試測試MySql
- WinAMS―嵌入式軟體白盒測試工具介紹
- 測試程式碼
- 迴歸測試應該怎麼做?可出權威軟體測試報告的軟體測評中心推薦測試報告
- Go測試開發(一) 怎麼寫Go程式碼Go
- 單元測試-mock使用應該注意什麼Mock
- 軟體測試培訓之:白盒測試的語句覆蓋法和判定覆蓋法
- 測試Leader應該做哪些事?
- 軟體相容性測試該怎麼進行?哪些軟體測試公司可做相容性測試?
- 測試程式碼高亮
- 功能測試怎麼提升測試開發能力?
- 請問自動化測試應該測試非法資料嗎
- Android應用程式測試-Alltesting|澤眾雲測試Android
- 你寫的前端程式碼有做過單元測試嗎?使用什麼工具?怎麼測試的?前端
- 不想左移和右移的測試老了該怎麼辦??
- 電商網站軟體測試該怎麼做?網站
- 測試行業 怎麼招聘女測試人員,行業
- 我們應該測試 DAO 層嗎?