當前位置:成語大全網 - 漢語詞典 - 軟件測試劄記(童偉光)

軟件測試劄記(童偉光)

程序是指根據特定功能和性能要求設計的可執行指令序列;

數據是指程序能夠正常操縱和處理的信息及其數據結構;

文檔是指與程序設計、開發、維護和使用相關的圖形材料。

軟件危機:

(1)軟件生產不能滿足日益增長的軟件需求,軟件生產率遠遠低於硬件生產率和計算機應用的增長速度,社會對軟件的需求供不應求。更嚴重的是,隨著軟件生產規模和軟件復雜度的增加,軟件生產效率急劇下降。

(2)軟件生產率隨著軟件規模和復雜程度的增加而降低,智力密集型產業的人力成本不斷增加,導致軟件成本在計算機系統成本構成中的比重急劇上升。

(3)軟件開發的進度和成本失控。軟件開發的成本和進度很難估計。通常是預算翻倍,項目計劃壹再推遲。軟件開發單位為了趕進度,節約成本,往往只能降低軟件的質量。軟件開發陷入成本高、質量無保障、用戶不滿意、開發單位信譽下降的怪圈。

(4)軟件系統實現的功能與實際要求不符。軟件開發者缺乏對用戶需求的深刻理解,往往閉門造車趕寫程序,最終的軟件離用戶需求太遠。

(5)軟件難以維護。程序中的錯誤很難改正,軟件要適應新的運行環境幾乎是不可能的。用戶在使用軟件的過程中,無法添加新的功能,大量的軟件開發者在重復開發基本相似的軟件。

(6)軟件文檔配置沒有得到足夠的重視。軟件文檔包括指令、數據字典、程序列表、軟件用戶手冊、維護手冊、軟件測試報告和開發過程各個階段的測試用例。這些軟件文檔的不規範和不完善是軟件開發進度和成本不可控、軟件維護和管理困難的重要原因。

從狹義上講,軟件工程的目標是生產出滿足預算、按時交付、用戶滿意的無缺陷軟件,然後生產出的軟件必須在用戶需求變化時易於修改。從廣義上講,軟件工程的目標是提高軟件的質量和生產率,最終實現軟件的工業化生產。

壹般的軟件生命周期包括幾個階段,如問題定義、軟件開發、軟件測試、軟件使用和維護。

軟件錯誤是指在軟件生命周期中,不可預料或不可接受的人為錯誤,這些錯誤會導致軟件缺陷。

軟件缺陷是軟件(文檔、數據、程序)中存在的不可預料或不可接受的偏差,當軟件在壹定條件下運行時導致軟件失效,進而激活軟件缺陷。

軟件故障是指軟件在運行過程中出現的意外或不可接受的內部狀態。軟件故障不及時處理,會使軟件失效。

軟件故障是指軟件運行時出現的意外或不可接受的外部行為結果。

軟件質量是與軟件產品滿足顯式或隱式需求的能力相關的特性和特征的總和。

其含義有以下四個方面:

軟件測試的定義:通過人工或自動手段運行或測試系統的過程,其目的是檢查是否滿足規定的要求,或找出預期結果與實際結果之間的差異。

軟件測試的原則:

盡早測試;綜合測試;全程測試;獨立的、叠代的測試;帕累托原理:測試中發現的80%的錯誤很可能源自20%的模塊;對於測試的錯誤結果必須有壹個確認過程;制定嚴格的測試計劃;不可能進行完整的測試,需要終止測試;妥善保存所有測試過程文件;註意回歸測試的相關性。

(1)功能測試。功能測試主要是根據產品需求說明書對軟件進行測試,以驗證軟件功能是否滿足要求,包括檢查原有功能,測試軟件是否有冗余功能或功能缺失。

(2)健壯性測試。健壯性測試側重於程序容錯性的測試,主要驗證程序在各種異常情況下能否正確運行,包括數據邊界測試、非法數據測試、異常中斷測試等。

(3)接口測試。接口測試是對各模塊進行系統調試的測試,包括程序內接口測試和程序外接口測試。在接口測試中,測試人員在單元測試階段做壹些工作,大部分工作在集成測試階段完成。

(4)性能測試。性能測試主要測試系統的性能是否滿足用戶的要求,即驗證系統在特定運行條件下的能力。性能測試主要是通過自動化測試工具模擬正常、峰值和異常負載情況,測試系統的各項性能指標。測試中獲得的負載、響應時間等數據可以用來驗證軟件系統是否能夠滿足用戶提出的性能指標。

(5)強度試驗。強度測試是壹種性能測試,總是強制系統在異常的資源配置下運行。強度測試的目的是找出資源不足或資源爭用導致的錯誤。

(6)壓力試驗。壓力測試是性能測試的壹種,主要是檢查程序在過載的環境下能否正常運行。壓力測試的目的是檢測系統在資源過載情況下的性能,通過極限測試的方法發現系統在極端或惡劣環境下的自我保護能力。壓力測試的目標是確定並確保系統在超過最大預期工作負載時仍能正常運行。此外,壓力測試還評估軟件的性能特征,如響應時間、事務處理率等與時間相關的性能特征。

(7)用戶界面測試。用戶界面測試主要測試系統的界面,測試用戶界面是否友好,軟件是否方便易用,系統設計是否合理,界面位置是否正確。

(8)安全測試。安全測試主要測試系統防止非法入侵的能力,如當未經授權的內部或外部用戶攻擊或惡意破壞系統時,系統如何運行,能否保證數據的安全。

(9)可靠性測試。可靠性測試是指保證和驗證軟件的可靠性水平是否滿足用戶要求的測試,即確定軟件是否滿足軟件規格書中規定的可靠性指標。軟件可靠性測試的目的是給出可靠性的定量估計。通過分析軟件可靠性測試中觀察到的失效數據,可以評估軟件可靠性的當前水平,驗證軟件可靠性是否滿足要求。軟件可靠性測試是壹項高投入的測試工作,通常需要大量的測試。

(10)安裝/卸載測試。安裝測試主要檢查軟件是否能正確安裝,安裝文件的設置是否有效,安裝後整個計算機系統是否會受到影響;反安裝測試是壹個逆向過程,測試軟件是否刪除幹凈,被刪除的軟件是否影響整個計算機系統。(11)文檔測試。文檔測試主要檢查內部/外部文檔的清晰性和準確性。對於外部文檔,測試主要集中在用戶文檔上,如需求描述、用戶手冊、安裝手冊等。,檢查文件是否與實際申請有出入,還需要考慮文件是否簡單明了,相關技術術語是否解釋清楚。

(12)恢復測試。恢復測試主要測試系統在出現系統崩潰、硬件錯誤或其他災難性問題時的性能,以及系統從故障中恢復的能力。

(13)兼容性測試。兼容性測試主要測試軟件產品在不同平臺、不同工具或同壹工具軟件的不同版本下的兼容性,其目的是測試系統與其他軟硬件的兼容性。

(14)負載測試。負載測試是通過測試系統在資源過載情況下的性能,來發現設計錯誤或驗證系統的負載能力。在這種測試中,會讓測試對象承擔不同的工作負載,從而評估和評價測試對象在不同工作負載條件下的性能和行為及其持續正常運行的能力。負載測試的目標是確定並確保系統在超過最大預期工作負載時仍能正常運行。此外,負載測試還會評估性能特征。例如,響應時間、交易率和其他與時間相關的方面。

制定測試計劃,設計測試,測試準備,測試環境建立,測試執行,測試評估,測試總結。