軟體測試的步驟

來源:互聯網
上載者:User

與開發過程類似,測試過程必須分步進行,後一個步驟在邏輯上是前一個步驟的繼續。軟體從編碼結束到交付到使用者使用,需要經過單元測試、組裝測試、驗收測試和系統測試四個步驟。

一、單元測試

單元測試是軟體測試的第一步,針對軟體設計的最小單位——程式模組,進行正確性檢驗的測試工作。通常,單元測試和編碼屬於軟體工程工程的同一個階段。在編寫出來源程式代碼並通過編譯器的語法檢查之後,就可以進行單元測試工作,目的在於發現模組內部可能存在的各種出錯。多個模組可以進行平行地獨立進行單元測試。

1)、單元測試的內容

(1)、模組介面測試

I、模組的形參和其驅動模組送來的參數的個數、類型、次序是否一致;

II、模組i傳送給被調用模組的參數與其裝模組的參數的個數、類型和次序是否一致;

III、模組傳送給庫函數的變數個數、類型次序是否正確;

IV、全域變數的定義和用法在各個模組中時候一致;

V、所使用的外部檔案的屬性是否正確,開啟檔案的語句是否正確,緩衝區大小是否與記錄長度相匹配,檔案結束判斷處理是否一致。

(2)、局部資料結構測試

模組內部資料是否完整,內容、形式、相互關係是否有錯常常是軟體錯誤的主要來源。

I、錯誤或不相容的資料說明或使用了尚未初始化的變數;

II、錯誤的初始值或不正確的預設值;

III、錯誤變數名或資料類型不相容;

IV、溢出(上溢或下溢)或地址異常;

V、全域資料對模組i測試的影響。

(3)、重要路徑測試

由於通常不能進行窮盡測試,因此,在單元測試期間應選擇最有代表性、最可能發現錯誤的執行路徑進行測試。重要路徑測試方案應重點測試由於錯誤計算、不正確的比較或不適當的控制流程而造成的錯誤。常見錯誤如下:

I、運算的次序錯誤(誤用了運算子的優先順序);

II、混合運算對象的類型彼此不相容;

III、變數初始值不正確;

IV、精度不夠,或由於精度問題兩個量不可能相等時,程式中卻期待著相等條件的出現;

V、錯誤地修改迴圈變數,錯誤的或不可能達到的迴圈終止條件;

VI、“差1”錯(多迴圈1次或少迴圈1次)

VII、當遇到發散的迴圈迭代時迴圈不能制止。

(4)、錯誤處理測試

好的模組設計應能預見出錯的條件,並設定相應的儲蓄哦處理。這樣,程式一旦發生錯誤就會按照預定的方法進行處理,保證邏輯上的正確性。這種錯誤處理應當是模組功能的一部分,也應是測試的內容之一。對錯誤處理進行測試時應重點考慮下列問題:

I、對可能出現錯誤的描述是否難以理解;

II、出錯的描述不足以對錯誤定位,或足以確定出錯的原因;

III、顯示的錯誤與實際的錯誤不符;

IV、對錯誤的條件處理不正確;

V、在對錯誤進行處理之前,錯誤條件已經引起系統的幹預。

(5)邊界測試

邊界測試是單元測試中最後的、也肯能是最重要的工作。程式常常在邊界上出現錯誤。

例子:在一段程式內有一個n次迴圈,當達到第n次迴圈時就有可能出錯。因此,要特別注意資料流、控制流程中恰好等於、大於或下於確定的比較值時出錯的可能性。要精心設計測試案例對這些地方進行測試。

2)、單元測試的步驟

當每個模組模組的代碼編製完成,並經過評審和驗證確認沒有語法錯誤後,就可以進行單元測試。單元測試的步驟:

(1)、配置測試環境

模組是軟體中的一個單獨的編譯模組,而不是一個單獨的執行單位。因此,測試時要為模組設計兩類附加模組——驅動模組和樁模組。構成測試環境。

(2)、編寫測試資料

主要採用白盒測試案例,以路徑覆蓋為最佳測試準則,同時輔助以黑箱測試用例,使之對任何合理的輸入和不合理的輸入都能鑒別和相應。

(3)、進行多個模組的並行測試

二、整合測試

整合測試的主要目標是發現與介面有關的問題。例如:

穿越模組介面的資料可能丟失;

一個模組可能對另一個模組產生不利影響;

各個功能組合起來並未實現主功能;

全域資料可能有問題等等……

整合測試根據模組組裝方式體現兩種測試方式:非漸增式測試和漸增式測試。

1、非漸增式測試

非漸增式測試是把已經過測試的所有模組一次性組裝起來,然後進行整體測試。對於大的工程,這樣難度是很大的,所以使用較少。

2、非漸增式測試

1)、自頂向下整合

這種整合方式是從主控模組開始,沿著控制層次自頂向下進行組裝。具體步驟可分為:

I、測試主控制模組

II、根據選定的添加策略每次用一個實際模組代替一個樁模組,再用相應的樁模組代替該實際模組的直屬員工模組,與已測試的模組或子系統組裝成新的系統。測試新加入模組

III、迴歸測試。

IV、重複上述I和II,知道所有模組均組裝到系統中為止。

自頂向下整合方式的缺點是需要建立樁模組,並存在一個邏輯次序問題。

2)、自底向上整合

三、驗收測試

整合測試消除了軟體介面的錯誤,系統已成為完整的軟體包。要收測試主要由使用者參加測試,檢驗軟體規格說明的技術標準的符合程度,是保證軟體品質的最後關鍵環節。驗收測試工作主要包括有效性測試和軟體配置複查兩方面。

有效性測試在開發環境下運行黑箱測試,驗證軟體是否滿足需求規格說明書類列出的需求。對軟體的可移植性、相容性、出錯自動回複、可維護性等進行測試。如果功能和效能與使用者要求一致,則通過;如果有差距的話,就提交一份問題報告

軟體配置複查保證軟體配置的所有成分都齊全,各方面的品質都符合要求,文檔內容與程式完全一致,具有軟體維護階段所必需的細節,而且全部文檔到已經編號目錄。除此職位,還要進行阿爾法測試或者貝塔測試。

四、系統測試

系統測試是將驗收測試的軟體,作為基於電腦系統的一個元素,與電腦硬體、外設、某些支援軟體、資料和人員等其他系統元素結合在一起進行的綜合測試。包括恢複測試、安全性測試、強度測試三個方面。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.