軟體測試學習教程—軟體測試基本知識
軟體測試基本概念
1 、軟體=程式+文件,軟體測試=程式測試+文件測試。
“ 程式”是指能夠實現某種功能的指令的集合,“文件”是指軟體在開發、使用和維護過程中產生的圖文集合。;
2 、軟體的分類
按功能分:系統軟體、應用軟體
按技術架構分:單機版軟體、C/S 結構軟體(C 是指客戶端, S 指伺服器端)、B/S 結構軟體(B 是指瀏覽器)
按照使用者劃分:產品軟體、專案軟體按開發規模劃分:小型、中型、大型
3 、BUG 的定義:軟體的 BUG 指的是軟體中(包括程式和文件)不符合使用者需求的問題。常見的軟體 BUG 分三種型別:完全沒有實現的功能;基本實現了使用者需求的功能;實現了使用者不需要的功能。
4 、測試環境=軟體+網路+硬體。搭建環境:真實、乾淨、無毒、獨立
5 、軟體環境的分類:軟體開發環境軟體生產執行環境
6 、測試用例:指在測試執行之前設計的一套詳細的測試方案,包括測試環境、測試步驟、測試資料和與其結果!測試用例=輸入+輸出+測試環境。測試用例有兩個模板,word 和 excel,前者適合效能測試,後者適合功能測試。
軟體測試分類
1 、黑盒測試:指的是把被測的軟體看作是一個黑盒子,我們不去關心盒子裡面的結構是什麼樣子的,只關心軟體的輸入資料和輸出結果。
白盒測試:指的是把盒子蓋 開啟,去研究裡面的原始碼和程式結構。
2 、靜態測試:是指不實際執行被測軟體,而只是靜態的檢查程式程式碼、介面或文件中可能存在的錯誤的過程。
動態測試:是指實際執行被測程式,輸入相應的測試資料,檢查實際輸出結果和預期結果是否相符的過程,所以我們判斷一個測試屬於動態測試還是靜態測試,唯一的標準就是看是否執行程式。
注:同一個測試,既有可能屬於黑盒測試,也有可能屬於動態測試;既有可能屬於靜態測試,也有可能屬於白盒測試。他們之間也有可能交叉。
3 、單元測試:編譯執行程式——靜態測試——動態測試
整合測試:是單元測試的下一個階段,是指將透過測試的單元模組組裝成系統或子系統, 再進行測試,重點測試不同模組的介面部分。
系統測試:指的是將整個軟體系統看作 1 個整體進行測試,包括對功能、效能,以及軟體所執行的軟硬體環境進行測試。
驗收測試:指的是在系統測試的後期,以使用者測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟體正式交給使用者使用的最後一道工序.
驗收測試又分為 α 測試和 β 測試,其實 α 測試指的是由使用者、測試人員、開發人員等共同參與的內部測試,而 β 測試指的是內側後的公測,即完全交給終端使用者測試。
4 、功能測試:是黑盒測試的一方面,它檢查實際軟體的功能是否符合使用者的需求。功能測試又可以細分為很多種:邏輯功能測試、介面測試、易用性測試、安裝測試、相容性測試等。
效能測試:軟體的效能包括很多方面,主要有時間效能和空間效能兩種。時間效能:主要指軟體的一個具體事務的響應時間。空間效能:主要指軟體執行時所消耗的系統資源
軟體效能測試分為一般效能測試、穩定性測試、負載測試和壓力測試。一般效能測試指的是讓被測系統在正常的軟硬體環境下執行,不向其十佳任何壓力的效能測試。穩定性測試,也叫可靠性測試,是指連續執行內測系統,檢查系統執行時的穩定程度。我們通常用 MTBF(錯誤發生的平均時間間隔)來衡量系統的穩定性,越大穩定性越強。負載測試是效能測試的一種,通常是指讓被測系統在其能忍受的眼裡的極限範圍之內連續執行,來測試系統的穩定性。壓力測試是效能測試的一種,通常是指連續不斷地給被測系統增加壓力, 直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。
假設一個人很輕鬆的就能背一袋米,背兩袋米很吃力,最多就能背三袋米,那麼:
一般效能測試:我就讓他背一袋米
穩定性測試:我讓他背一袋米,但是讓他去操場上跑圈,看多久累倒。負載測試:我讓他背兩袋米去操場上跑圈,看多久累倒。
壓力測試:我讓他背兩袋米,三袋米,四袋米........ 發現他最多就能背三袋米。
5 、迴歸測試:是指對軟體的新的版本測試時,重複執行上一個版本測試時的用例
冒煙測試:是指在對一個新版本進行西戎大規模的測試之前,先驗證一下軟體的基本功能是否可以實現,是否具備可測性
隨機測試:是指測試中所有的輸入資料都是都是隨機生成的,其目的是模擬使用者的真是操作,並發現一些邊緣的錯誤。
6 、關係 測試工程師
1 、測試工程應該具備的基本職業素質:三心二意一能力。三心:細心、耐心、信心。二意: 服務意識、團隊意識。一能力:溝通能力。
2 、如何成為一名優秀的測試工程師:內功(基礎知識:計算機硬體、網路、作業系統、資料庫等)、測試技術(黑盒測試中等價類、邊界值、因果圖等,白盒測試中的語句覆蓋、分支覆蓋、路徑覆蓋等)
1 ) 、不斷學習充電
2 ) 、閱讀原版書籍
3 ) 、閱讀缺陷管理系統中的缺陷報告
4 ) 、閱讀高手寫的測試用例
5 ) 、學習產品相關的業務知識
3 、SQA——軟體質量保障,CMM 是SQA 用來監督專案的一個標準質量模型,SQA 按照 CMM 上面各種規則來檢驗各種各樣的專案。CMM——能力成熟度模型
4 、軟體測試的原則:
1 ) 、Zero bug——指的是軟體沒有任何 bug,沒有 bug 是不可能的,我們只能想方設法把軟體的 bug 數控制在可以忍受的範圍之內。Good enough——指的是隻要軟體達到一定的質量要求,就可以停止測試了。
2 ) 、不要試圖窮舉測試
3 ) 、開發人員不能既是運動員又是裁判員
4 ) 、軟體測試要儘早執行
5 ) 、軟體測試應該追溯需求
6 ) 、缺陷的二八定理——缺陷的叢集現象或是蟲子窩現象
7 ) 、缺陷具有免疫性黑盒測試技術
等價類技術、邊界值技術、因果圖法、流程圖法缺陷管理
1 、BUG 的分類:Bug 嚴重級別(Severity,Bug 級別):是指因缺陷引起的故障對軟體產品的影響程度。由測試人員指定。
A 錯誤導致了當機、產品失敗(“崩潰”)、系統懸掛無法操作;
B 功能未實現或導致一個特性不能執行並且不可能有替代方案(包括計算錯誤);
C 錯誤導致了一個特性不能執行但可有一個替代方案;
D 錯誤是表面化或微小的(提示資訊不太準確友好、錯別字、UI 佈局或罕見故障等),對功能幾乎沒有影響,產品及屬性仍可使用;
E 建設性的意見或建議。
Bug 優先順序(Priority):指缺陷必須被修復的緊急程度。由 Bug 分配者(開發組長/經理) 指定。
5 阻止相關開發人員的進一步開發活動,立即進行修復工作;阻止與此密切相關功能的進一步測試
4 必須修改,發版前必須修正
3 必須修改,不一定馬上修改,但需確定在某個特定里程碑結束前須修正
2 如果時間允許應該修改
1 允許不修改
缺陷型別(Type):是根據缺陷的自然屬性劃分的缺陷種類。Build由於配置庫、變更管理或版本控制引起的錯誤。
Data
資料、資料庫、計算錯誤等。
Function
影響了重要的特性、產品介面、硬體結構介面和全域性資料結構。如邏輯,指標,迴圈,遞迴,功能等缺陷。
Interface
與其他元件、模組或裝置驅動程式、呼叫引數、控制塊或引數列表相互影響的介面缺陷。
Performance
不滿足系統可測量的屬性值,如:執行時間,事務處理速率等。
Requirement
需求方面缺陷如(不明確、錯誤、考慮不全面等等)。
User Interface (簡寫 UI)
人機互動特性:螢幕格式,頁面排版、控制元件位置等方面的缺陷。
其它
未知錯誤
Bug 狀態(Status):指缺陷透過一個跟蹤修復過程的進展情況。包括 Open、Fixed、Closed及 Postponed 等 Open
為測試人員新問題提交所標誌的狀態。為任務分配人(開發組長/經理)對該問題準備進行修改並對該問題分配修改人員所標誌的狀態。Bug 解決中的狀態,由任務分配人改變。對沒有進入此狀態的 Bug,程式設計師不用管。
Fixed
為開發人員修改問題後所標誌的狀態,修改後還未測試。
Closed
為測試人員對修改問題進行驗證後透過所標誌的狀態。由測試人員改變。
Postponed
1 、由於開發時間、進度、重要程度或者技術/設計/需求等方面的原因,認為不能解決、須延期解決、或者本版不做留待到後續版本解決的 Bug;
2 、因設計結構問題無法修改。測試人員認為是 Bug,不符合邏輯,也不符合使用者的要求,但開發人員則認為是按照設計做的、只能如此處理,否則修改代價太大 ,這種問題可以拖後處理
duplicated
bug 重複提交
Not error
測試員理解錯,不是 bug,測試員提錯了
2 、提交 BUG 注意事項:確保重現、要用最少且必要的步驟描述 BUG、簡潔準確完整、一個
BUG 一個報告
3 、常見的 BUG 管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA
測試管理
測試周期:計劃——測試設計——測試執行——測試評估
軟體測試工具簡介
1 、一般軟體測試工具分為黑盒測試工具、白盒測試工具、測試管理工具 2、MI loadrunner——效能測
2 、MI loadrunner——效能測試,MI winrunner——功能測試,MI testdirector——測試
管理工具,MI QTP——功能測試工具.....
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2653802/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試學習教程—軟體測試質量
- 軟體測試學習教程—迴歸測試
- 軟體測試學習教程—軟體測試基礎理論五
- 軟體測試學習教程—軟體測試基礎理論六
- 軟體測試學習教程—軟體測試基礎理論四
- 軟體測試學習教程—軟體測試基礎理論三
- 軟體測試學習 ——五種軟體測試模型模型
- 軟體測試學習教程——WEB測試之JS記憶體WebJS記憶體
- 軟體測試學習教程——JDBC配置JDBC
- 軟體測試基礎知識
- 軟體測試學習教程——LoadRunner實現介面測試
- 軟體測試教程之手機軟體測試方法
- 《軟體測試基本功》系列教程
- 軟體測試學習教程——JDBC開發JDBC
- 軟體測試學習教程——JDBC介紹JDBC
- 學習旅途(軟體測試)
- 軟體測試整理學習
- 軟體測試之理論知識_1.3
- 軟體測試學習教程—Web測試之正規表示式Web
- 認識軟體測試步測試測試 (轉)
- 參加軟體測試培訓需要學習哪些知識
- 軟體測試學習網站有哪些?怎麼學軟體測試呢?學習網站
- 軟體測試培訓分享:學習能力差可以學習軟體測試嗎
- 軟體測試學習教程—JavaScript內建物件JavaScript物件
- 軟體測試都需要學哪些基礎知識
- 軟體測試培訓教程:軟體測試面試之怎麼測試刷抖音?面試
- 軟體測試書籍-學軟體測試最好的書
- 軟體測試學習路線
- 【分享】—如何學習軟體測試
- 【軟體測試】學習筆記筆記
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 軟體確認測試知識分享,如何獲取權威軟體測試報告?測試報告
- 軟體效能測試基礎知識分享
- 軟體測試學習——移動端功能測試分析
- 軟體測試學習筆記:測試點總結筆記
- 軟體測試之Web測試知識分享,權威的軟體測評機構如何收費?Web
- 軟體測試培訓分享:做軟體測試需要掌握資料庫的知識嗎?資料庫
- 軟體測試——一、認識測試行業行業