標籤:軟體測試 bug
軟體測試的定義
使用人工和自動手段來運行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的區別。 —— [ IEEE提出的軟體工程標準術語 ]
以前對於測試的理解,可能就是認為,測試就是發現錯誤的,找bug的,但是慢慢的你就會覺得有些問題應該很早就被發現,所以要深層次的發現問題,更早的發現問題,到最後我們想的應該是怎麼預防問題。說到底軟體測試的目的不僅僅是為了發現錯誤,而是對軟體品質的負責 。
軟體測試觀念的變化
| 傳統測試 |
現在測試 |
| 在開發的後期介入 |
已經擴充到了整個軟體生命週期 |
| 基於代碼啟動並執行測試 |
已經擴充到了靜態測試的範疇 |
| 以發現錯誤為目的 |
已經擴充到了錯誤預防的範疇 |
軟體測試的目的
軟體測試的目的也是隨著測試的不斷髮展而變換的,在20世紀60年代測試就是為了證明,證明軟體能夠工作 ;在20世紀70年代中期測試的目的是為了檢測,發現錯誤;而在20世紀90年代測試的目的是預防錯誤,保證軟體品質。由此可見隨著測試的不斷髮展,其重要性凸顯無疑。
測試的意義在於,儘可能多的發現bug,定位bug,並在軟體交付之前保證軟體達到一定的品質標準。
測試金字塔
- 單元測試: 單獨測試每一個單元(方法)主要有開發人員來做
- 模組測試: 測試每一個類、檔案、模組或組件
- 整合測試: 測試各個模組如何互動
- 系統測試: 測試系統的總體功能性
- 驗收測試: 這個軟體是否能夠被使用者所接受
測試流程
我們組織進行一次測試需要進行的各項活動:
1) 軟體需求:定義測試目標(規則)、定義計劃
2) 測試分析:設計系統測試、設計驗收測試、設計可用性測試(如果合適的話)
3) 測試方案設計:將系統測試具體化、制定整合測試和單元測試的計劃、擷取測試的支援工具
4)單元與整合測試跟蹤:協助開發人員進行單元測試開發
5) 測試案例開發與評審:建立測試案例、當單元構成完成後運行測試、進行測試案例評審
6) 測試執行:運行系統測試、驗收測試、可用性測試
7) 反饋和維護:收集使用者的問題、進行迴歸測試
這是真正意義上的初次接觸測試,不看不知道,一看嚇一跳,原來測試也有這麼多的門道,這篇部落格只是對測試進行了宏觀的一些介紹,包括測試意義,分類,組織測試要進行的流程等,下篇部落格會詳細的介紹一些測試知識包括測試案例,單元測試,介面測試等。
提高班的測試大業剛剛起步,大家一起努力!
軟體測試-基礎篇