1 白盒測試
優點:
● 迫使測試人員去思考軟件的實現;
● 可以檢測代碼中的每條分支和路徑;
● 揭示隱藏在代碼中的錯誤;
● 對代碼的測試比較徹底;
● 最優化。
缺點:
● 昂貴;
● 無法檢測代碼中遺漏的路徑和數據敏感性錯誤;
● 不驗證規格的正確性。
2 黑盒測試
優點:
● 對比較大的代碼單元來說,黑盒測試比白盒測試效率要高;
● 測試人員和編碼人員是彼此獨立的;
● 從用戶的視角進行測試,很容易被理解和接受;
● 有助于暴露任何規格不一致或者有歧義的問題;
● 測試用力可以在規格完成之后馬上執行。
缺點:
● 只有一小部分可能的輸入被測試到,要測試每個可能的輸入流幾乎是不可能的;
● 沒有清洗的和簡明的規格,測試用例是很難設計的;
● 如果測試人員不被告知開發人員已經執行過的用例,在測試數據上會存在不必要的重復;
● 會有很多程序路徑沒有被測試到;
● 不能直接針對特定程序段測試,該程序段可能隱藏更多錯誤;
● 大部分和研究相關的測試都是直接針對白盒測試的。
3 灰盒測試
介于黑盒和白盒測試之間的一種測試。
2. 靜態、動態測試方法的優缺點,適用范圍分別是什么?分別舉例說明。
靜態方法是指不運行被測程序本身,僅通過分析或檢查源程序的文法、結構、過程、接口等來檢查程序的正確性。靜態方法通過程序靜態特性的分析,找出欠缺和可疑之處,例如不匹配的參數、不適當的循環嵌套和分支嵌套、不允許的遞歸、未使用過的變量、空指針的引用和可疑的計算等。靜態測試結果可用于進一步的查錯,并為測試用例選取提供指導。
動態方法是指通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率和健壯性等性能,這種方法由三部分組成:構造測試實例、執行程序、分析程序的輸出結果。
3. 手工、自動化測試方法的優缺點,適用范圍分別是什么?分別舉出實例進行說明。
缺點:測試重復頻繁的測試,效率低,完全一致性得不到保證。
自動化測試方法的優點:
1、對程序的回歸測試更方便。由于回歸測試的動作和用例是完全設計好的,期望的結果也是可以預料的,自動運行何以提高測試的效率,縮短測試的時間;
2、可以運行更多更繁瑣的測試;可以執行一些手工測試不能進行或者困難的測試,比如,對于大量用戶的測試,不可能同時讓足夠多的測試人員同時進行測試,但是卻可以通過自動化測試模擬同時有許多用戶,從而達到測試的目的。
3、更好地利用資源。將繁瑣的任務自動化,可以提高準確性和測試人員的積極性,將測試技術人員解脫出來投入更多精力設計更好的測試用例。有些測試不適合于自動測試,僅適合于手工測試,將可自動測試的測試自動化后,可以讓測試人員專注于手工測試部分,提高手工測試的效率。
4、測試具有一致性和可重復性。由于測試是自動執行的,每次測試的結果和執行的內容的一致性是可以得到保障的,從而達到測試的可重復的效果。
5、測試的復用性。由于自動測試通常采用腳本技術,這樣就有可能只需要做少量的甚至不做修改,實現在不同的測試過程中使用相同的用例。
6、增加軟件信任度。由于測試是自動執行的,所以不存在執行過程中的疏忽和錯誤,完全取決于測試的設計質量。一旦軟件通過了強有力的自動測試后,軟件的信任度自然會增加。
自動化測試的缺點:不能取代手工測試,只能提高測試的效率,不能提高測試的有效性,不能發現更多的缺陷,對測試設計的依賴性大,不能保證正確性,工具不具有想象力,不具有智能。
使用于:智力含量低,反復頻繁重復時,版本相對穩定時,項目中的技術能力達到,有代碼編碼能力時,進度允許時