軟件測試是為了盡早發現軟件缺陷,確保缺陷修復,以提高軟件質量,決定軟件質量的關鍵是需求分析、設計和實現,而測試是貫穿于上述過程的一種檢查手段。即便功能開發好了,沒有經過測試,這也是一個不可靠的程序。
本文主要詳細的介紹軟件測試基礎知識盤點,分別從軟件測試的目的、原則、對象、分類、測試流程及注意事項等幾個方面來詳細介紹的。
什么是軟件測試
軟件測試是描述一種用來促進鑒定軟件的正確性、完整性、安全性和質量的過程。換句話說,軟件測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟件測試的經典定義是:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。
簡單地說,軟件測試是為了發現錯誤而執行程序的過程。 軟件測試是軟件質量保證(QA)的一個重要環節。
軟件測試的目的
測試是程序的執行過程,目的在于發現錯誤;
一個好的測試用例在于發現了至今未發現的錯誤;
一個成功的測試是發現了 至今未發現的錯誤的測試;
軟件測試原則
所有的軟件測試都應追溯到用戶需求
應當把“盡早地和不斷地進行軟件測試”作為測試者的座右銘
完全測試是不可能的,測試需要終止
測試無法顯示軟件潛在的缺陷;
充分注意測試中的群集現象
程序員應避免檢查自己的程序
盡量避免測試的隨意性
軟件測試對象
軟件測試貫穿于整個軟件生命周期中,不同階段測試的對象和方法不同。
主要包括可執行研究報告、項目實施計劃、軟件需求說明書或系統功能說明書。開發階段的概要設計說明書、詳細設計說明書以及源程序。
軟件測試分類
軟件測試主要分為白盒和黑盒,白盒關心軟件內部設計和程序實現,依據是設計文檔;而黑盒不關心軟件內部,只關心輸入輸出,依據是需求文檔。白盒一般由開發人員負責,測試單元代碼,我們一般所認為的軟件測試工程師做的是黑盒測試,負責整體系統流程測試。
黑盒測試又包括:
功能測試(根據需求說明,驗證功能)、用戶界面效果(易用性、視覺效果)、性能測試(處理業務的速度)、健壯性測試(異常情況下,系統的容錯能力和恢復能力)、安全性測試、壓力測試(極限狀態的負載量)、可靠性測試、安裝/卸載測試
黑盒測試的方法:
等價類劃分(劃分相同價值的集合,避免重復性工作)、邊界值分析、錯誤推測法、因果圖法、場景分析法。
其實還有一種是灰盒測試,針對程序的接口,關注輸出對于輸入的正確性,通過表征現象、條件來判斷內部的運行狀態。主要用于及集成測試的階段。
軟件測試的階段
1、單元測試,即一個個功能模塊進行測試(白盒測試)
2、集成測試,將接口集成后,測試接口傳輸數據的準確性(黑盒、白盒測試,也稱為灰盒測試)
3、系統測試,聯網后,整體流程測試(黑盒測試)
4、驗收測試,由客戶驗收的測試(黑盒)
軟件測試的流程
1、制定測試計劃,根據需求安排人員、項目階段、時間、測試工具、瀏覽器等;
2、設計測試用例,根據需求規格說明書,寫清測試的條件、步驟、結果,即如何測;
3、執行測試,當測試計劃、用例已審批且測試對象開發完后即可開始,發現問題提交bug給開發,修復完再回歸測試;
4、寫測試報告,內容包括本階段測試了什么功能,有哪些問題,問題嚴重性以及提出問題若不能修復的備選方案;
5、當前功能性測試用例通過率達100%,非功能性測試用例通過率達90%,且最近時間內測試無暴漏情況,測試結束。
軟件測試中應該注意的事項
1)有合法的數據輸入,同樣有非法的數據輸入
2)在對程序修改之后應該進行回歸測試
3)應充分注意測試中的集群現象(發現的問題越多,未發現的問題也越多)
4)妥善保留測試計劃、測試用例和相關的測試報告
5)對測試結果做全面檢查,避免遺漏
6)嚴格執行測試計劃,排除測試的隨意性
-
軟件測試
+關注
關注
2文章
231瀏覽量
18667
發布評論請先 登錄
相關推薦
評論