一、總結
1仪芒、根據(jù)是否可見分為黑盒測試與白盒測試
2唁影、根據(jù)是否使用軟件分為靜態(tài)測試與動態(tài)測試
3、根據(jù)執(zhí)行方式分為手工測試與自動化測試
二掂名、具體介紹
1据沈、黑盒測試:又稱功能性測試或行為測試,測試員不知道軟件是如何運行的饺蔑,只知道軟件要做什么锌介、能做什么。
優(yōu)點:①膀钠、容易實施掏湾,不需要關注內部是如何實現(xiàn)的
? ? ? ? ? ?②、更貼近用戶的視角
缺點:①肿嘲、測試覆蓋率較低
? ? ? ? ? ?②融击、自動化測試用例復用率低,維護成本高
關注點:①雳窟、軟件功能是否正確實現(xiàn)或遺漏
? ? ? ? ? ? ? ②尊浪、接口的設計是否正確實現(xiàn)
? ? ? ? ? ? ? ③匣屡、系統(tǒng)的文件輸入處理是否正確以及輸出是否符合要求
通常在系統(tǒng)測試階段使用黑盒測試(單元測試->集成測試->系統(tǒng)測試->驗收測試)。
常用的測試方法:①拇涤、等價類劃分法捣作,②、邊界值分析法鹅士,③券躁、錯誤推測法,④掉盅、因果圖法也拜,⑤、正交實驗分析法趾痘,⑥慢哈、狀態(tài)圖遷移法,⑦永票、流程分析法
2卵贱、白盒測試:又稱結構性測試或透明盒測試,測試員可以訪問程序員的代碼侣集,并可以通過檢查代碼的線索來協(xié)助測試(白盒測試有時會受到程序的邏輯影響键俱,陷入錯誤的思維)。
優(yōu)點:①肚吏、迫使測試員去了解軟件的實現(xiàn)方妖,理解原理
? ? ? ? ? ?②、可以檢查代碼中的每條分支和路徑
? ? ? ? ? ?③罚攀、可以揭示隱藏在代碼中的錯誤
缺點:①党觅、工作量較大
? ? ? ? ? ?②、無法檢測代碼中遺漏的路徑
??? ? ? ? ?③斋泄、不能直接驗證需求的正確性
常用的測試方法:①杯瞻、代碼檢測法,包括審查與走查炫掐,②魁莉、靜態(tài)結構分析法,分析程序代碼的結構等是否合理募胃,③旗唁、靜態(tài)質量度量法,根據(jù)一些質量標準來評估代碼質量痹束,④检疫、邏輯覆蓋法。
邏輯覆蓋有六種覆蓋標準:語句覆蓋祷嘶、判定覆蓋屎媳、條件覆蓋夺溢、判定/條件覆蓋、條件組合覆蓋和路徑覆蓋發(fā)現(xiàn)錯誤的能力呈由弱至強的變化烛谊。語句覆蓋每條語句至少執(zhí)行一次风响。判定覆蓋每個判定的每個分支至少執(zhí)行一次。條件覆蓋每個判定的每個條件應取到各種可能的值丹禀。判定/條件覆蓋同時滿足判定覆蓋條件覆蓋状勤。條件組合覆蓋每個判定中各條件的每一種組合至少出現(xiàn)一次。路徑覆蓋使程序中每一條可能的路徑至少執(zhí)行一次湃崩。
3荧降、靜態(tài)測試:無需執(zhí)行被測程序,通過評審代碼攒读、界面或軟件文檔,檢查軟件是否符合編程標準辛友,代碼是否正確薄扁。
主要方式包括:①、代碼測試:同事審查废累,走查:編寫人講述邓梅,校驗:其他人講訴
? ? ? ? ? ? ? ? ? ? ? ? ?②、界面測試:主要是參考設計圖邑滨、產(chǎn)品原型
? ? ? ? ? ? ? ? ? ? ? ? ?③日缨、文檔測試:主要測試用戶手冊和需求說明是否符合用戶的實際需求
4、動態(tài)測試:通過運行被測程序掖看,檢查運行結果與預期結果是否一致匣距,并分析程序的運行效率、正確性和健壯性等哎壳。
通常黑盒測試都屬于動態(tài)測試毅待。
5、手工測試:由專門的測試人員從用戶視角來驗證軟件是否滿足設計要求归榕,更適用于針對深度的測試和強調主觀判斷的測試尸红。
優(yōu)點:容易發(fā)現(xiàn)缺陷,實施簡單
缺點:很依賴測試人員的專業(yè)性刹泄,覆蓋量化難
6外里、自動化測試:使用單獨的測試工具軟件控制測試的自動化執(zhí)行以及對預期的結果進行自動檢查。
主要包括:單元測試特石、接口測試盅蝗、性能測試
優(yōu)點:效率高,速度快县匠,復用性高风科,覆蓋率容易度量撒轮,不會感到疲倦
缺點:機械,發(fā)現(xiàn)缺陷率低贼穆,一次性投入大
自動化測試不可能完全代替手工測試题山,只能幫助測試員更好地工作