軟件測試基礎知識——適合初學者

 軟件測試基本概念程序員

  一、軟件=程序+文檔,軟件測試=程序測試+文檔測試。數據庫

  「程序」是指可以實現某種功能的指令的集合,「文檔」是指軟件在開發、使用和維護過程當中產生的圖文集合。;瀏覽器

  二、軟件的分類服務器

  按功能分:系統軟件、應用軟件網絡

  按技術架構分:單機版軟件、C/S結構軟件(C是指客戶端, S指服務器端)、B/S結構軟件(B是指瀏覽器)數據結構

  按照用戶劃分:產品軟件、項目軟件架構

  按開發規模劃分:小型、中型、大型併發

  三、BUG的定義:軟件的BUG指的是軟件中(包括程序和文檔)不符合用戶需求的問題。常見的軟件BUG分三種類型:徹底沒有實現的功能;基本實現了用戶需求的功能;實現了用戶不須要的功能。工具

  四、測試環境=軟件+網絡+硬件。搭建環境:真實、乾淨、無毒、獨立佈局

  五、軟件環境的分類:軟件開發環境軟件生產運行環境

  六、測試用例:指在測試執行以前設計的一套詳細的測試方案,包括測試環境、測試步驟、測試數據和與其結果!測試用例=輸入+輸出+測試環境。測試用例有兩個模板,word和excel,前者適合性能測試,後者適合功能測試

  軟件測試分類

  一、黑盒測試:指的是把被測的軟件看做是一個黑盒子,咱們不去關心盒子裏面的結構是什麼樣子的,只關心軟件的輸入數據和輸出結果

  白盒測試:指的是把盒子蓋 打開,去研究裏面的源代碼和程序結構。

  二、靜態測試:是指不實際運行被測軟件,而只是靜態的檢查程序代碼、界面或文檔中可能存在的錯誤的過程。

  動態測試:是指實際運行被測程序,輸入相應的測試數據,檢查實際輸出結果和預期結果是否相符的過程,因此咱們判斷一個測試屬於動態測試仍是靜態測試,惟一的標準就是看是否運行程序。

  注:同一個測試,既有可能屬於黑盒測試,也有可能屬於動態測試;既有可能屬於靜態測試,也有可能屬於白盒測試。他們之間也有可能交叉。

  三、單元測試:編譯運行程序——靜態測試——動態測試

  集成測試:是單元測試的下一個階段,是指將經過測試的單元模塊組裝成系統或子系統,再進行測試,重點測試不一樣模塊的接口部分。

  系統測試:指的是將整個軟件系統看做1個總體進行測試,包括對功能、性能,以及軟件所運行的軟硬件環境進行測試。

  驗收測試:指的是在系統測試的後期,以用戶測試爲主,或有測試人員等質量保障人員共同參與的測試,它也是軟件正式交給用戶使用的最後一道工序.

  驗收測試又分爲α測試和β測試,其實α測試指的是由用戶、測試人員、開發人員等共同參與的內部測試,而β測試指的是內側後的公測,即徹底交給最終用戶測試。

       

四、功能測試:是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。功能測試又能夠細分爲不少種:邏輯功能測試、界面測試、易用性測試、安裝測試、兼容性測試等。

  性能測試:軟件的性能包括不少方面,主要有時間性能和空間性能兩種。時間性能:主要指軟件的一個具體事務的響應時間。空間性能:主要指軟件運行時所消耗的系統資源。

  軟件性能測試分爲通常性能測試、穩定性測試、負載測試和壓力測試。通常性能測試指的是讓被測系統在正常的軟硬件環境下運行,不向其十佳任何壓力的性能測試。穩定性測試,也叫可靠性測試,是指連續運行內測系統,檢查系統運行時的穩定程度。咱們一般用MTBF(錯誤發生的平均時間間隔)來衡量系統的穩定性,越大穩定性越強。負載測試是性能測試的一種,一般是指讓被測系統在其能忍受的眼裏的極限範圍以內連續運行,來測試系統的穩定性。壓力測試是性能測試的一種,一般是指接二連三地給被測系統增長壓力,直到將被測系統壓垮爲止,用來測試系統所能承受的最大壓力。

  假設一我的很輕鬆的就能背一袋米,背兩袋米很吃力,最多就能背三袋米,那麼:

  通常性能測試:我就讓他背一袋米

  穩定性測試:我讓他背一袋米,可是讓他去操場上跑圈,看多久累倒。

  負載測試:我讓他背兩袋米去操場上跑圈,看多久累倒。

  壓力測試:我讓他背兩袋米,三袋米,四袋米......發現他最多就能背三袋米。

  五、迴歸測試:是指對軟件的新的版本測試時,重複執行上一個版本測試時的用例

  冒煙測試:是指在對一個新版本進行西戎大規模的測試以前,先驗證一下軟件的基本功能是否能夠實現,是否具有可測性

  隨機測試:是指測試中全部的輸入數據都是都是隨機生成的,其目的是模擬用戶的真是操做,並發現一些邊緣的錯誤。

  六、關係

  測試工程師

  一、測試工程應該具有的基本職業素質:三心二意一能力。三心:細心、耐心、信心。二意:服務意識、團隊意識。一能力:溝通能力。

  二、如何成爲一名優秀的測試工程師:內功(基礎知識:計算機硬件、網絡、操做系統、數據庫等)、測試技術(黑盒測試中等價類、邊界值、因果圖等,白盒測試中的語句覆蓋、分支覆蓋、路徑覆蓋等)

  1)、不斷學習充電

  2)、閱讀原版書籍

  3)、閱讀缺陷管理系統中的缺陷報告

  4)、閱讀高手寫的測試用例

  5)、學習產品相關的業務知識

  三、SQA——軟件質量保障,CMM是SQA用來監督項目的一個標準質量模型,SQA按照CMM上面各類規則來檢驗各類各樣的項目。CMM——能力成熟度模型

  四、軟件測試的原則:

  1)、Zero bug——指的是軟件沒有任何bug,沒有bug是不可能的,咱們只能千方百計把軟件的bug數控制在能夠忍受的範圍以內。Good enough——指的是隻要軟件達到必定的質量要求,就能夠中止測試了。

  2)、不要試圖窮舉測試

  3)、開發人員不能既是運動員又是裁判員

  4)、軟件測試要儘早執行

  5)、軟件測試應該追溯需求

  6)、缺陷的二八定理——缺陷的集羣現象或是蟲子窩現象

  7)、缺陷具備免疫性

  黑盒測試技術

  等價類技術、邊界值技術、因果圖法、流程圖法

       

缺陷管理

  一、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

  一、因爲開發時間、進度、重要程度或者技術/設計/需求等方面的緣由,認爲不能解決、須延期解決、或者本版不作留待到後續版本解決的Bug;

  二、因設計結構問題沒法修改。測試人員認爲是Bug,不符合邏輯,也不符合用戶的要求,但開發人員則認爲是按照設計作的、只能如此處理,不然修改代價太大 ,這種問題能夠拖後處理

  duplicated

  bug重複提交

  Not error

  測試員理解錯,不是bug,測試員提錯了

  二、提交BUG注意事項:確保重現、要用最少且必要的步驟描述BUG、簡潔準確完整、一個BUG一個報告

  三、常見的BUG管理工具:TD、Track Record、Clearquest、Bugzilla、Mantis、JIRA

  測試管理

  測試周期:計劃——測試設計——測試執行——測試評估

  軟件測試工具簡介

  一、通常軟件測試工具分爲黑盒測試工具、白盒測試工具、測試管理工具

  二、MI loadrunner——性能測試,MI winrunner——功能測試,MI testdirector——測試管理工具,MI QTP——功能測試工具......

相關文章
相關標籤/搜索