系統測試概念學習
??? 系統測試的任務是把軟件放在實際的硬件和網絡環境中進行測試,主要測試軟件的非功能需求和質量屬性是否得到滿足。系統測試通常采用黑盒測試,強調的是功能而不是結構。計算機軟件是基于計算機系統的一個重要組成部分,在系統測試之前,軟件工程師應完成下列工作:
??? 1、為測試軟件系統的輸入信息設計出錯處理通路;
??? 2、設計測試用例,模擬錯誤數據和軟件界面可能發生的錯誤,記錄測試結果,為系統測試提供經驗和幫助;
??? 3、參與系統測試的規劃和設計,保證軟件測試的合理性。
??? 2、設計測試用例,模擬錯誤數據和軟件界面可能發生的錯誤,記錄測試結果,為系統測試提供經驗和幫助;
??? 3、參與系統測試的規劃和設計,保證軟件測試的合理性。
?
系統測試應該由若干個不同測試組成,目的是充分運行系統,驗證系統各部件是否都能政黨工作并完成所賦予的任務。
?
下面簡單討論幾類系統測試。
?
1、恢復測試
?
恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統。恢復測試首先要采用各種辦法強迫系統失敗,然后驗證系統是否能盡快恢復。對于自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、數據恢復(data recovery)和重新啟動(restart)等機制的正確性;對于人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。
??? 簡單的說恢復測試是指通過各種手段讓軟件強制性得發生故障,然后來驗證恢復是否能正常的一種系統測試方式。
?
2、安全測試
?
安全測試檢查系統對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如:①想方設法截取或破譯口令;②專門定做軟件破壞系統的保護機制;③故意導致系統失敗,企圖趁恢復之機非法進入;④試圖通過瀏覽非保密數據,推導所需信息,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的準則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。
?
3、強度測試(壓力測試)
?
強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。例如:①當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中斷的測試用例;②定量地增長數據輸入率,檢查輸入子功能的反映能力;③運行需要最大存儲空間(或其他資源)的測試用例;④運行可能導致虛存操作系統崩潰或磁盤數據劇烈抖動的測試用例,等等。
??? 強度測試從本質上來說,就是要知道“將系統折騰到什么程度而不會出錯”
?
?? 4、性能測試
?
對于那些實時和嵌入式系統,軟件部分即使滿足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當系統真正集成之后,在真實環境中才能全面、可靠地測試運行性能系統性能測試是為了完成這一任務。性能測試有時與強度測試相結合,經常需要其他軟硬件的配套支持。
?
?????????????????????????????????????????????????
?
系統驗收測試
?
?
??? 系統驗收測試是最終用戶使用真實數據一段時間后進行的最終系統測試,它給最終用戶、管理人員和信息系統操作管理人員最后一次機會決定接收或者拒絕系統。系統驗收測試是一種詳細測試,涉及3個層面的驗收測試,分別是驗證測試、確認測試和審計測試。
?
??? 1、驗收測試:在一個模擬環境下使用模擬數據運行系統,主要尋找錯誤和遺漏
??? 2、確認測試:在一個實際環境中使用真實數據運行系統,可測試性能、峰值負載處理性能、方法和程序測試、備份和恢復測試等
??? 3、審計測試:證實系統沒有錯誤并準備好了,可以正式運行。
?
?????????????????????????????????????????????????
?
黑盒測試
??
??? 黑盒測試也稱功能測試或數據驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內部結構和內部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,程序是否能適當地接收輸入數鋸而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因-果圖、錯誤推測等,主要用于軟件確認測試。
??? “黑盒”法著眼于程序外部結構,不考慮內部邏輯結構,針對軟件界面和軟件功能進行測試。“黑盒”法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。
?
?
白盒測試
?
?
??? 白盒測試也稱結構測試或邏輯驅動測試,它是知道產品內部工作過程,可通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅動、基路測試等,主要用于軟件驗證。????
???
??? “白盒”法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一:窮舉路徑測試絕不能查出程序違反了設計規范,即程序本身是個錯誤的程序;第二:窮舉路徑測試不可能查出程序中因遺漏路徑而出錯;第三:窮舉路徑測試可能發現不了一些與數據相關的錯誤。
???
??? “白盒”法全面了解程序內部邏輯結構、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查程序的內部結構,從檢查程序的邏輯著手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一:窮舉路徑測試絕不能查出程序違反了設計規范,即程序本身是個錯誤的程序;第二:窮舉路徑測試不可能查出程序中因遺漏路徑而出錯;第三:窮舉路徑測試可能發現不了一些與數據相關的錯誤。
?
?
?????????????????????????????????????????????????
?
?