軟件測試分為 黑盒測試宗弯、白盒測試
黑盒測試
又稱:功能測試脯燃、數(shù)據(jù)驅(qū)動測試、基于規(guī)格說明的測試蒙保。實際是 站在最終用戶的立場辕棚,檢驗輸入輸出信息、系統(tǒng)性能指標 是否符合規(guī)格說明的規(guī)定邓厕。
不考慮程序內(nèi)部結(jié)構(gòu)逝嚎、內(nèi)部特性,從用戶觀點出發(fā)详恼,針對程序接口补君、用戶界面進行測試。
相對要求低昧互、方法簡單挽铁。
適合系統(tǒng)的功能測試、易用性測試敞掘,也適合與用戶進行驗收測試叽掘、軟件確認測試
測試結(jié)果的覆蓋度不容易度量,潛在風(fēng)險比較高
白盒測試
又稱:結(jié)構(gòu)測試玖雁、邏輯驅(qū)動測試更扁、基于程序本身的測試,著重于程序的內(nèi)部結(jié)構(gòu)及算法赫冬,不關(guān)心功能浓镜、性能指標。
已知產(chǎn)品的內(nèi)部工作過程劲厌,針對性強竖哩。可針對程序的每一行語句脊僚、每一個條件或分支進行測試。測試效率較高,可以清楚已測試的覆蓋程度辽幌。
覆蓋程度可以達到很高增淹。
適合于 單元測試、集成測試乌企。
準備時間較長虑润,技術(shù)要求較高,測試成本較大加酵。
黑盒拳喻、白盒測試 區(qū)別
黑盒測試(又稱:功能測試、數(shù)據(jù)驅(qū)動測試)
是在已知產(chǎn)品所具有的功能的前提下猪腕,通過測試來檢測每個功能是否能夠正常使用冗澈。
在測試時,把程序看作一個不能打開的黑盒子陋葡。在完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下亚亲,在程序接口進行測試,只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常工作腐缤、程序是否能適當(dāng)?shù)亟邮茌斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息捌归,并保持外部信息(如數(shù)據(jù)庫文件)的完整性。
主要測試方法:等價類劃分岭粤、邊界值分析惜索、錯誤推測。
主要用于軟件確認測試
黑盒測試法是 窮舉輸入測試剃浇。不僅要測試所有的合法輸入巾兆,還要測試不合法、但是可能的輸入
白盒測試(又稱:結(jié)構(gòu)測試偿渡、邏輯驅(qū)動測試)
已知產(chǎn)品的內(nèi)部工作過程臼寄,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行。按照程序內(nèi)部的結(jié)構(gòu)測試程序溜宽,檢驗程序的每條通路是否都能按照預(yù)定要求正確工作吉拳,不顧它的功能
主要測試方法:邏輯驅(qū)動、基路測試
主要用于軟件驗證
全面了解程序內(nèi)部邏輯結(jié)構(gòu)适揉、對所有邏輯路徑進行測試留攒。
白盒測試是 窮舉路徑測試,必須檢查程序的內(nèi)部結(jié)構(gòu)嫉嘀,從檢查程序的邏輯著手得出測試數(shù)據(jù)炼邀。
貫穿程序的獨立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍然可能有錯誤剪侮。
第一拭宁,窮舉路徑測試決不能查出程序違反了設(shè)計規(guī)范洛退,即程序本身是個錯誤的程序。
第二杰标,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯兵怯。
第三,窮舉路徑測試可能發(fā)現(xiàn)不了一些與數(shù)據(jù)相關(guān)的錯誤腔剂。
黑盒測試
主要是覆蓋全部的功能媒区,可結(jié)合兼容、性能測試等方面進行掸犬。根據(jù)軟件需求 模擬客戶場景袜漩,測試包括以下方面:
正確性、可用性湾碎、 邊界條件宙攻、性能、壓力測試胜茧、錯誤恢復(fù)粘优、安全性測試
白盒測試
深入到代碼一級的測試,發(fā)現(xiàn)問題最早呻顽、效果最好雹顺。主要特征是:測試對象進入代碼內(nèi)部。測試人員以 軟件開發(fā)人員為主廊遍。