什么是軟件測試(software testing)?(10)

發表于:2014-09-24來源:uml.org.cn作者:不詳點擊數: 標簽:軟件測試
確認測試的結果有兩種可能,一種是功能和性能指標滿足軟件需求說明的要求,用戶可以接受;另一種是軟件不滿足??這個階段才發現嚴重錯誤和偏差一般很

  確認測試的結果有兩種可能,一種是功能和性能指標滿足軟件需求說明的要求,用戶可以接受;另一種是軟件不滿足??這個階段才發現嚴重錯誤和偏差一般很難在預定的工期內改正,因此必須與用戶協商,尋求一個妥善解決問題的方法。

  2. 配置復審

  確認測試的另一個重要環節是配置復審。復審的目的在于保證軟件配置齊全、分類有序,并且包括軟件維護所必須的細節。

  3. α、β測試

  事實上,軟件開發人員不可能完全預見用戶實際使用程序的情況。例如,用戶可能錯誤的理解命令,或提供一些奇怪的數據組合,亦可能對設計者自認明了的輸出信息迷惑不解,等等。因此,軟件是否真正滿足最終用戶的要求,應由用戶進行一系列“驗收測試”。驗收測試既可以是非正式的測試,也可以有計劃、有系統的測試。有時,驗收測試長達數周甚至數月,不斷暴露錯誤,導致開發延期。一個軟件產品,可能擁有眾多用戶,不可能由每個用戶驗收,此時多采用稱為α、β測試的過程,以期發現那些似乎只有最終用戶才能發現的問題。

  α測試是指軟件開發公司組織內部人員模擬各類用戶行對即將面市軟件產品(稱為α版本)進行測試,試圖發現錯誤并修正。α測試的關鍵在于盡可能逼真地模擬實際運行環境和用戶對軟件產品的操作并盡最大努力涵蓋所有可能的 用戶操作方式。經過α測試調整的軟件產品稱為β版本。緊隨其后的β測試是指軟件開發公司組織各方面的典型用戶在日常工作中實際使用β版本,并要求用戶報告異常情況、提出批評意見。然后軟件開發公司再對β版本進行改錯和完善。

  系統測試的基本方法

  計算機軟件是基于計算機系統的一個重要組成部分,軟件開發完畢后應與系統中其它成分集成在一起,此時需要進行一系列系統集成和確認測試。對這些測試的詳細討論已超出軟件工程的范圍,這些測試也不可能僅由軟件開發人員完成。

  在系統測試之前,軟件工程師應完成下列工作:

  (1) 為測試軟件系統的輸入信息設計出錯處理通路;

  (2) 設計測試用例,模擬錯誤數據和軟件界面可能發生的錯誤,記錄測試結果,為系統測試提供經驗和幫助;

  (3) 參與系統測試的規劃和設計,保證軟件測試的合理性。

  系統測試應該由若干個不同測試組成,目的是充分運行系統,驗證系統各部件是否都能政黨工作并完成所賦予的任務。

  下面簡單討論幾類系統測試。

  1、恢復測試

  恢復測試主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統?;謴蜏y試首先要采用各種辦法強迫系統失敗,然后驗證系統是否能盡快恢復。對于自動恢復需驗證重新初始化(reinitialization)、檢查點(checkpointing mechanisms)、數據恢復(data recovery)和重新啟動 (restart)等機制的正確性;對于人工干預的恢復系統,還需估測平均修復時間,確定其是否在可接受的范圍內。

  2、安全測試

  安全測試檢查系統對非法侵入的防范能力。安全測試期間,測試人員假扮非法入侵者,采用各種辦法試圖突破防線。例如,①想方設法截取或破譯口令;②專門定做軟件破壞系統的保護機制;③故意導致系統失敗,企圖趁恢復之機非法進入;④試圖通過瀏覽非保密數據,推導所需信息,等等。理論上講,只要有足夠的時間和資源,沒有不可進入的系統。因此系統安全設計的準則是,使非法侵入的代價超過被保護信息的價值。此時非法侵入者已無利可圖。

  3、強度測試

  強度測試檢查程序對異常情況的抵抗能力。強度測試總是迫使系統在異常的資源配置下運行。例如,①當中斷的正常頻率為每秒一至兩個時,運行每秒產生十個中斷的測試用例;②定量地增長數據輸入率,檢查輸入子功能的反映能力;③運行需要最大存儲空間(或其他資源)的測試用例;④運行可能導致虛存操作系統崩潰或磁盤數據劇烈抖動的測試用例,等等。

  4、 性能測試

  對于那些實時和嵌入式系統,軟件部分即使滿足功能要求,也未必能夠滿足性能要求,雖然從單元測試起,每一測試步驟都包含性能測試,但只有當系統真正集成之后,在真實環境中才能全面、可靠地測試運行性能系統性能測試是為了完成這一任務。性能測試有時與強度測試相結合,經常需要其他軟硬件的配套支持。

原文轉自:http://www.uml.org.cn/Test/test-bk.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97