第一章 軟件測試入門基礎
本章重點
一、瞭解軟件測試背景及職業規劃html
二、掌握軟件測試的入門基礎知識算法
三、瞭解軟件測試與軟件開發的關係數據庫
四、理解軟件測試的缺陷與要素編程
1、軟件測試背景及職業規劃
背景安全
一、對於軟件缺陷不只有功能上的缺陷還有頁面缺陷以及性能缺陷工具
二、60年代起,爲代表程序的正確開始進行測試,直到近幾年國內的測試行業也在逐步規範,分工愈來愈細,測試行業發展也會愈來愈好性能
職業規劃測試
一、測試工程師--高級測試工程師—測試經理職業規劃
崗位描述:編碼
(1)、參與軟件產品的需求分析,編寫測試計劃,設計測試數據和測試用例;
(2)、預先評估軟件產品的風險並能提出有效規避方案
(3)、完成對產品的集成測試,對產品的功能、性能測試、壓力測試等;
(4)、跟蹤測試結果,對修改後的軟件版本進行驗證。
(5)、根據提交的測試報告分析數據,提出初步的結論
二、測試人員的技術需求
編程基礎;測試理論、技術;自動化測試工具;數據庫;操做系統;測試管理工具;配置管理工具;Linux相關知識
2、入門基礎知識
軟件測試定義
使用人工和自動手段來運行或者測試某個被測對象的過程,其目的在於檢驗被測對象是否知足用戶規定的需求或者是弄清楚預期結果與實際結果之間的差別。
軟件測試對象:包含不少方面,不只僅測試是軟件,並且包括程序、數據、文檔、配置文件等等。需求分析、概要設計、詳細設計以及程序編碼等各階段所獲得的文檔,包括需求規格說明、概要設計規格說明、詳細設計規格說明以及源程序,都應成爲軟件測試的對象。
軟件測試目的
軟件測試目的是軟件投入運行以前,儘量多的發現軟件中的錯誤。包含如下觀點:
(1)測試目的在於發現錯誤,但不能證實程序正確;
(2)檢查系統是否知足需求;
(3)好的測試用例在於發現不曾發現的錯誤,成功的測試是發現了錯誤的測試。
3、軟件測試原則
(1)、軟件測試應儘早介入項目,不斷進行軟件測試.
(2)、軟件測試用例是設計出來的,由測試輸入數據和對應的預期輸出結果這兩部分組成。
(3)、在設計測試用例時,應該包括合理的輸入條件和不合理的輸入條件。
(4)、應對每個測試結果作全面檢查。
(5)、充分注意測試中的羣集現象,對發現錯誤較多的程序/模塊,要進行更加深刻的測試。
(6)、嚴格執行測試計劃,儘可能避免測試的隨意性。
3、軟件測試與軟件開發
軟件測試與軟件開發各階段的關係圖
測試與開發的並行性關係圖
4、軟件測試的缺陷
什麼是軟件缺陷(bug)
從產品內部看:軟件缺陷是軟件產品開發或維護過程當中所存在的錯誤、毛病等各類問題;
從產品外部看:軟件缺陷是系統所須要實現的某種功能的失效或違背。
軟件出錯機制可描述爲:軟件錯誤,軟件缺陷,軟件故障,軟件失效。
-
- 軟件錯誤:是指不可接受的人爲錯誤。
- 軟件缺陷:是存在於軟件(文檔、數據、程序)之中的那些不可接受的誤差。
- 軟件故障:是指軟件運行過程當中出現的不可接受的內部狀態。此時若無適當措施(容錯)加以及時處理,便產生軟件失效。
- 軟件失效:是指軟件運行時產生的不可接受的外部行爲結果。
缺陷產生緣由
a)、技術問題:算法錯誤,語法錯誤,計算和精度問題,接口參數傳遞不匹配
b)、團隊工做:誤解、溝通不充分
c)、軟件自己:文檔錯誤、用戶使用場景或不一致性所帶來的問題,系統的自我恢復或數據的異地備份、災難性恢復等問題
4)、項目管理問題
缺陷分類
A、軟件開發階段分爲3類
(1)、規格說明錯誤
這類錯誤是指規格說明與問題定義不一致所產生的錯誤
(2)、設計錯誤
這是在設計階段產生的錯誤,它使系統的設計與需求規格說明中的功能說明不相符。
(3)、編碼錯誤
編碼過程當中的錯誤
B、軟件測試階段缺陷分爲5類
(1)、功能錯誤
(2)、系統錯誤
(3)、加工錯誤
(4)、數據錯誤
(5)、編碼錯誤
練習:
- 爲何軟件產品規格說明書中缺陷最多?
- 全部的缺陷都要被修復嗎?
- 假如你發現了一個軟件缺陷,但開發人員從各個角度論證這不是缺陷,你如何處理?
5、軟件測試缺陷的要素
軟件缺陷的生命週期
發現—打開—修復—關閉
軟件缺陷的嚴重程度
(1)、致命 :系統任何一個主要功能徹底喪失、用戶數據受到破壞、系統崩潰、懸掛、死機或者危及人身安全
(2)、嚴重 : 系統的主要功能部分喪失、數據不能保存,系統所提供的功能或服務受到明顯的影響
(3)、通常 : 系統的部分功能沒有徹底實現,但不影響用戶的正常使用,例如:提示信息不太準確;或用戶界面差、操做時間長等一些問題。
(2)、較小 : 使操做者不方便或遇到麻煩,但它不影響功能的操做和執行,如個別的不影響產品理解的錯別字、文字排列不整齊等一些小問題。
軟件缺陷的優先級
(1)、當即解決 :缺陷致使系統幾乎不能使用或測試不能繼續,需當即修復
(2)、高優先級 : 缺陷嚴重,影響測試,須要優先考慮
(3)、正常排隊 : 缺陷須要正常排隊等待修復
(2)、低優先級: 缺陷能夠在開發人員有時間的時候被糾正