軟體缺陷就是軟體產品中所存在的問題,最終表現為使用者所需要的功能沒有完全實現,不能滿足或不能全部滿足使用者的需求。
從產品內部看,軟體缺陷是軟體產品開發或維護過程中所存在的錯誤、誤差等各種問題。
從外部看,軟體缺陷是系統所需要實現的某種功能的失效或違背。
軟體缺陷的型別:
(1)軟體未實現產品說明書要求的功能。
(2)軟體出現了產品說明書不應該出現的錯誤。
(3)軟體實現了產品說明書未提到的功能。
(4)軟體未實現產品說明書雖未明確提及但應該實現的功能。
(5)軟體難以理解、不易使用、執行緩慢——從測試員的角度看——終端使用者會認為不好。
(1)千年蟲問題(產生約2023年)
日期儲存未儲存世紀
(2)愛國者飛彈防禦系統(2023年)
時鐘計算做了乙個捨入操作,二進位制轉十進位制,無限迴圈導數
(3)英特爾奔騰浮點除法缺陷(2023年)
(4)「衝擊波」病毒(2023年)
(5)諾基亞手機平台缺陷(2023年)
軟體缼陷產生的主要原因:
(1)需求解釋有錯誤;
(2)使用者定義錯誤;
(3)需求記錄錯誤;
(4)設計說明錯誤;
(5)編碼說明有誤;
(6)程式**有誤;
(7)其他有誤,如:資料輸入等。
(1)初級階段(1957-2023年)
(2)發展階段(1972-2023年)
(3)成熟階段(2023年至今)
軟體開發過程是使用軟體工程的方法,在整個過程中,都有可能出現各種各樣的軟體缺陷。隨著開發時間的推移,軟體缺陷修復成本呈倍數的增長。假如早在進行分析時發現相關功能缺失,立即補上就可了,可以說付出的代價小得幾乎忽略不計。如果在發布時發現缺失某個功能,那麼此時加上乙個功能,相當於重新開發一樣,這時的修補費用可以說高許多。因此要盡早進行測試。
軟體測試專家g.j.myers早在2023年給軟體測試下定義:軟體測試是為了發現錯誤而針對某個程式或系統的執行過程。
g.j.myers給出與測試相關的三個要點:
(1)測試是為了證明程式有錯,而不是證明程式無錯誤;
(2)乙個好的測試用例是在於它能發現至今未發現的錯誤;
(3)乙個成功的測試是發現了至今未發現的錯誤的測試。
2023年,ieee再次給出軟體測試的定義:
(1)在特定的條件下執行系統或構件,觀察或記錄結果,對系統的某個方面做出評價;
(2)分析某個軟體項以發現現存的和要求的條件之差別並評價此軟體項的特性。
1、軟體測試用例定義
ieee標準610(1990)給出的定義:
測試用例是一組測試輸入、執行條件和預期結果的集合,目的是要滿足乙個特定的目標,比如執行一條特定的程式路徑或檢驗是否符合乙個特定的需求。
2、測試用例的元素
軟體測試設計的關鍵問題可以概括為5w1h:
why:為什麼測試?對功能、效能、可用性、容錯性、安全性等測試,檢驗是否符合相關要求。
what:測什麼?測試的物件可以是文件,**,圖表等。
where:在**測?測試用例的環境,包括系統的硬體、軟體和網路環境等。
when:什麼時候測?測試用例所需的前提條件,盡早開始。
which:什麼資料?測試用例設計的各種資料。
how:如何執行?結果怎樣?要據測試用例設計的步驟來執行,最後進行結果比較,確定是否一致。若一致才能通過測試。
3、測試用例設計的基本原則
從兩個層次考慮測試用例:
(1)低層次——從單個測試用例看,衡量其描述的規範性、可理解性及可維護性條等。
(2)高層次——以滿足某乙個測試目標或測試任務來衡量一組測試用例的結構、設計思路和覆蓋率等;
測試用例的基本原則:
(1)代表性。測試用例能代表並覆蓋各種合法的或不合法、邊界內的或越界的以及極限的輸入資料、操作和環境的設定。
(2)可判定性。測試執行的結果的正確性是可以判定的。每乙個測試用例都應有相應的預期結果。
(3)可再現性。對於同樣的測試用例,系統執行的結果應當相同的,並且相同的測試的執行過程可以反覆操作。
4、測試用例模板
1、什麼是測試環境
軟體測試環境就是軟體測試執行的平台。包括系統的硬體、軟體和網路等。
可以用一公式來表示:
測試環境=硬體+軟體+網路+資料
2、測試環境的搭建和維護
(1)機房環境的建立
(2)硬體環境的建立
(3)軟體環境的建立
(4)網路環境的建立
(5)安全措施的實施
1、軟體測試人員的角色與職責
測試人員的角色主要有四類:
(1)測試經理:主要負責測試隊伍的內部管理以及與外部人員、客戶的交流工作,包括進度管理、風險管理、資金管理、人力資源管理、交流管理等。還有測試計畫書的編寫、測試總結報告的歸納等。必須具有專案經理的知識和技能。
(2)測試設計師:主要根據軟體開發各階段產生的設計文件來設計各階段的測試用例。
(3)測試文件審核師:主要負責前置測試,包括對各個階段的分析與設計文件進行審核,如:需求說明書、概要與詳細設計說明書等。
(4)測試工程師:對測試設計師設計的測試用例分階段完成測試工作。
2、軟體測試人員的基本素質要求
基本素質要求如下:
(1)具備計算機軟體測試的基本理論知識
(2)熟悉開發工具和平台
(3)掌握測試工具的使用
(4)善於學習,理解與歸納
(5)耐心、細緻、工作態度好
軟體測試 軟體測試概述
3.軟體測試目的 4.測試和除錯 5.總結 簡單來說,如果軟體本身沒有滿足需求或是超過需求,則認為軟體即存在缺陷。展開來講 軟體未實現需求說明書的功能 軟體實現了需求說明書不應該出現的功能 軟體實現了需求說明書未說明的功能 軟體未實現說明書沒提及但是應該實現的功能 軟體難以理解,不好使用,執行緩慢或...
軟體測試概述
軟體測試概述 為什麼要測試?最主要有兩個目的 一是對質量或可接受性做出評判。二是發現存在的問題。1 基本概念 測試有兩個明確的目標 找出失效 上述一 和 證實軟體執行的正確性 上述二 正確性是相對的,而不是絕對的 測試用例在測試中佔 核心地位。2 測試用例 軟體測試的精髓是為被測物件找到一組測試用例...
軟體測試概述
一 測試是什麼 1 找bug,就是查詢軟體測試錯誤的過程 2 加深對軟體的認知,使軟體更適合使用者的使用 3 測試工作 執行測試 a 參與需求評審 計畫測試流程 書寫測試方案 編輯測試用例 b 參與需求會議 設計評審會 參加測試例會 測試總結會議 c 學習測試工具 了解專案業務 d 編輯測試用例能力...