單元測試主要檢驗軟體設計的最小單元,多采用什麼測試技術

時間 2021-08-31 09:27:16

1樓:匿名使用者

單元測試主要檢驗軟體設計的最小單元是程式模組,多采用白盒測試技術

什麼是單元測試?

軟體開發裡面單元測試是用來做什麼的?

軟體測試的方法一共有幾種

2樓:迷路的鴿子

1、從是否關心內部結構來看

(1)白盒測試:又稱為結構測試或邏輯驅動測試,是一種按照程式內部邏輯結構和編碼結構,設計測試資料並完成測試的一種測試方法。

(2)黑盒測試:又稱為資料驅動測試,把測試物件當做看不見的黑盒,在完全不考慮程式內部結構和處理過程的情況下,測試者僅依據程式功能的需求規範考慮,確定測試用例和推斷測試結果的正確性,它是站在使用軟體或程式的角度,從輸入資料與輸出資料的對應關係出發進行的測試。

(3)灰盒測試:是一種綜合測試法,它將「黑盒」測試與「白盒」測試結合在一起,是基於程式執行時的外部表現又結合內部邏輯結構來設計用例,執行程式並採集路徑執行資訊和外部使用者介面結果的測試技術。

2、從是否執行**看

(1)靜態測試:指不執行被測程式本身,僅通過分析或檢查源程式的語法、結構、過程、介面等來檢查程式的正確性。

(2)動態測試:是指通過執行被測程式,檢查執行結果與預期結果的差異,並分析執行效率、正確性和健壯性等效能指標。

3、從開發過程級別看

(1)單元測試:又稱模組測試,是針對軟體設計的最小單位----程式模組或功能模組,進行正確性檢驗的測試工作。其目的在於檢驗程式各模組是否存在各種差錯,是否能正確地實現了其功能,滿足其效能和介面要求。

(2)整合測試:又叫組裝測試或聯合,是單元測試的多級擴充套件,是在單元測試的基礎上進行的一種有序測試。旨在檢驗軟體單元之間的介面關係,以期望通過測試發現各軟體單元介面之間存在的問題,最終把經過測試的單元組成符合設計要求的軟體。

(3)系統測試:是為判斷系統是否符合要求而對整合的軟、硬體系統進行的測試活動、它是將已經整合好的軟體系統,作為基於整個計算機系統的一個元素,與計算機硬體、外設、某些支援軟體、人員、資料等其他系統元素結合在一起,在實際執行環境下,對計算機系統進行一系列的組裝測試和確認測試。

在系統測試中,對於具體的測試型別有:

(1)功能測試:對軟體需求規格說明書中的功能需求逐項進行的測試,以驗證功能是否滿足要求。

(2)效能測試:對軟體需求規格說明書的功能需求逐項進行的測試,以驗證功能是否滿足要求。

(3)介面測試:對軟體需求規格說明中的介面需求逐項進行的測試。

(4)人機互動介面測試:對所有人機互動介面提供的操作和顯示介面進行的測試,以檢驗是否滿足使用者的需求。

(5)強度測試:強制軟體執行在異常乃至發生故障的情況下(設計的極限狀態到超出極限),驗證軟體可以執行到何種程式的測試。

(6)餘量測試:對軟體是否達到規格說明中要求的餘量的測試。

(7)安全性測試:檢驗軟體中已存在的安全性、安全保密性措施是否有效的測試,

(8)可靠性測試:在真實的或**的環境中,為做出軟體可靠性估計而對軟體進行的功能(其輸入覆蓋和環境覆蓋一般大於普通的功能測試)

(9)恢復性測試:對有恢復或重置功能的軟體的每一類導致恢復或重置的情況,逐一進行的測試。

(10)邊界測試:對軟體處在邊界或端點情況下執行狀態的測試。

(11)資料處理測試:對完成專門資料處理功能所進行的測試。

(12)安裝性測試:對安裝過程是否符合安裝規程的測試,以發現安裝過程中的錯誤。

(13)容量測試:檢驗軟體的能力最高能達到什麼程度的測試。

(14)互操作性測試:為驗證不同軟體之間的互操作能力而進行的測試。

(15)敏感性測試:為發現在有效輸入類中可能引起某種不穩定性或不正常處理的某些資料的組合而進行的測試。

(16)標準符合性測試:驗證軟體與相關國家標準或規範(如軍用標準、國家標準、行業標準及國際標準)一致性的測試。

(17)相容性測試:驗證軟體在規定條件下與若干個實體共同使用或實現資料格式轉換時能滿足有關要求能力的測試。

(18)中文字地化測試:驗證軟體在不降低原有能力的條件下,處理中文能力的測試。

4、從執行過程是否需要人工干預來看

(1)手工測試:就是測試人員按照事先為覆蓋被測軟體需求而編寫的測試用例,根據測試大綱中所描述的測試步驟和方法,手工地一個一個地輸 入執行,包括與被測軟體進行互動(如輸入測試資料、記錄測試結果等),然後觀察測試結果,看被測程式是否存在問題,或在執行過程中是否會有一場發生,屬於比較原始但是必須執行的一個步驟。

(2)自動化測試:實際上是將大量的重複性的測試工作交給計算機去完成,通常是使用自動化測試工具來模擬手動測試步驟,執行用某種程式設計語言編寫的過程(全自動測試就是指在自動測試過程中,不需要人工干預,由程式自動完成測試的全過程;半自動測試就是指在自動測試過程中,需要手動輸入測試用例或選擇測試路徑,再由自動測試程式按照人工指定的要求完成自動測試)

5、從測試實施組織看

(1)開發測試:開發人員進行的測試

(2)使用者測試:使用者方進行的測試

(3)第三方測試:有別於開發人員或使用者進行的測試,由專業的第三方承擔的測試,目的是為了保證測試工作的客觀性

6、從測試所處的環境看

(1)阿爾法測試:是由一個使用者在開發環境下進行的測試,也可以是公司內部的使用者在模擬實際操作環境下進行的測試

(2)貝塔測試:是使用者公司組織各方面的典型終端使用者在日常工作中實際使用貝塔版本,並要求使用者報告

軟體測試的內容:

1 得到需求、功能設計、內部設計說書和其他必要的文件

2 得到預算和進度要求

3 確定與專案有關的人員和他們的責任、對報告的要求、所需的標準和過程 ( 例如發行過程、變更過程、等等 )

4 確定應用軟體的高風險範圍,建立優先順序、確定測試所涉及的範圍和限制

5 確定測試的步驟和方法 ── 部件、整合、功能、系統、負載、可用性等各種測試

6 確定對測試環境的要求 ( 硬體、軟體、通訊等 )

7 確定所需的測試用具 (testware) ,包括記錄 / 回放工具、覆蓋分析、測試跟蹤、問題 / 錯誤跟蹤、等等

8 確定對測試的輸入資料的要求

9 分配任務和任務負責人,以及所需的勞動力

10 設立大致的時間表、期限、和里程碑

11 確定輸入環境的類別、邊界值分析、錯誤類別

12 準備測試計劃檔案和對計劃進行必要的回顧

13 準備白盒測試案例

14 對測試案例進行必要的回顧 / 調查 / 計劃

15 準備測試環境和測試用具,得到必需的使用者手冊 / 參考檔案 / 結構指南 / 安裝指南,建立測試跟蹤過程,建立日誌和檔案、建立或得到測試輸入資料

16 得到並安裝軟體版本

17 進行測試

18 評估和報告結果

19 跟蹤問題 / 錯誤,並解決它

20 如果有必要,重新進行測試

21 在整個生命週期裡維護和修改測試計劃、測試案例、測試環境、和測試用具

3樓:匿名使用者

1、按是否檢視程式內部結構分為:

(1)黑盒測試(black-box testing):只關心輸入和輸出的結果。

(2)白盒測試(white-box testing):去研究裡面的源**和程式結構。

2、按是否執行程式分為:

(1)靜態測試(static testing):是指不實際執行被測軟體,而只是靜態地檢查程式**、介面或文件可能存在的錯誤的過程。

(5)動態測試(dynamic testing),是指實際執行被測程式,輸入相應的測試資料,檢查輸出結果和預期結果是否相符的過程。

3、按階段劃分:

(1)單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。

(2)整合測試(integration testing),是單元測試的下一階段,是指將通過測試的單元模組組裝成系統或子系統,再進行測試,重點測試不同模組的介面部門。

(3)系統測試(system testing),指的是將整個軟體系統看做一個整體進行測試,包括對功能、效能,以及軟體所執行的軟硬體環境進行測試。

(4)驗收測試(acceptance testing),指的是在系統測試的後期,以使用者測試為主,或有測試人員等質量保障人員共同參與的測試,它也是軟體正式交給使用者使用的最後一道工序。

4、黑盒測試分為功能測試和效能測試:

(1)功能測試(function testing),是黑盒測試的一方面,它檢查實際軟體的功能是否符合使用者的需求。

(2)效能測試(performance testing),軟體效能測試分為:

一般效能測試:指的是讓被測系統在正常的軟硬體環境下執行,不向其施加任何壓力的效能測試。

穩定性測試也叫可靠性測試(reliability testing):是指連續執行被測系統檢查系統執行時的穩定程度。

負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限範圍之內連續執行,來測試系統的穩定性。

壓力測試(stress testing):是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。

5、其他測試型別:

迴歸測試(regression testing)是指對軟體的新的版本測試時,重複執行上一個版本測試時的用例。

冒煙測試(smoke testing),是指在對一個新版本進行大規模的測試之前,先驗證一下軟體的基本功能是否實現,是否具備可測性。

隨機測試(random testing),是指測試中所有的輸入資料都是隨機生成的,其目的是模擬使用者的真實操作,並發現一些邊緣性的錯誤。

擴充套件資料:

軟體測試的基本流程:

1、單元測試、整合測試、系統測試和驗收測試(確認測試)。

2、測試需求分析,測試計劃編寫,測試用例編寫,測試,缺陷記錄,迴歸測試,判斷測試結束,測試報告提交。

3、測試流程依次如下:

a.需求:閱讀需求,理解需求,與客戶、開發、架構多方交流,深入瞭解需求。

b.測試計劃: 根據需求估算測試所需資源(人力、裝置等)、所需時間、功能點劃分、如何合理分配安排資源等。

c.用例設計:根據測試計劃、任務分配、功能點劃分,設計合理的測試用例。

d.執行測試:根據測試用例的詳細步驟,執行測試用例。

e.執行結果記錄和bug記錄:對每個case記錄測試的結果,有bug的在測試管理工具中編寫bug記錄。

f.defect tracking:追蹤leader分配給你追蹤的bug.直到 bug fixed。

g.測試報告:通過不斷測試、追蹤,直到被測軟體達到測試需求要求,並沒有重大bug。

h.使用者體驗、軟體釋出等……

軟體測試裡面的組裝測試和單元測試是什麼軟體測試都有哪

主要方法 等價類法,因果圖法,邊界值法,狀態轉換法。ui介面測試主要是介面的巢狀載入 佈局等,單元測試的方法有 模組介面測試 主要的 區域性資料結構測試 路徑測試 異常處理測試 函式,類,模組的邊界值測試。測試需求分析 根據不同的軟體業務背景不同,所要求的特性也不相同,測試的側重點自然也不相同。除了...

軟體開發技術路線,如何寫軟體設計的技術路線?

江西新華電腦學院 現在都是資訊化的時代,沒有一門好的技術是難以在社會之中立足的,現在的電腦技術飛速增長,每家公司都需要電腦人才,你可以去學習電腦專業,在這個領域中還是有很大的發展空間的,只要自己好好學習,以後的前景不可限量。如何寫軟體設計的技術路線? 技術路線 本課題將應用軟體工程原則,嚴格按照專案...

軟體測試的種類,軟體測試的型別主要分為什麼?各種測試之間有什麼區別?

按照軟體特性來劃分測試型別有功能測試和效能測試 其中功能測試包括 邏輯功能測試 介面測試 易用性測試 安裝測試 相容性測試等 效能實際上是功能的另一個指標,主要關注軟體中的某一功能在特定的時間 空間條件下,功能是否使用正常 比如負載測試和壓力測試都屬於效能測試,兩者可以結合進行。按照測試技術劃分測試...