第一節 軟體測試概述 2

2022-06-02 23:24:22 字數 2288 閱讀 2361

1. 軟體測試的定義

軟體測試在ieee std 610.12中定義如下。

1) 在指定的條件下執行系統或構件,觀察或記錄結果,並對系統或構件的某些方面進行評估的過程。

2) 分析某個軟體項(software item) 以發現現有條件與應有條件之間的差異(即缺陷),並評估軟體項的特徵的過程。軟體項是指源**、目標**、作業控制**、控制資料,或以上這些專案的集合。

2. 軟體測試的目標

1) 提供關於測試物件的資訊,包括測試物件的質量,以及測試物件中存在著哪些與測試程度相關的剩餘風險。

2) 在測試物件發布並投入使用之前發現缺陷。

3) 降低相關方由於軟體質量而導致的各種風險。

關於測試物件的資訊可以用於以下的目的。

1) 通過消除測試物件的缺陷來對測試物件進行改善。

2) 提供關於質量和風險的相關資訊,作為決策的基礎並以此來改善管理決策。

3) 通過凸顯那些可以導致缺陷出現的過程,和/或那些本可以發現缺陷但卻使得缺陷遺留而未被發現的過程,對軟體開發組織中的過程進行改善。

3. 軟體測試的基本型別

1) 依據測試所依據的資訊劃分

黑盒測試:指不基於系統或構件的內部實現機制的測試形式。

白盒測試:指基於系統或構件的內部實現機制的測試形式。

灰盒測試:兼具備黑盒測試和白盒測試的特性,這種測試形式既關注程式執行時的外部表現,也關注程式內部的高層邏輯結構。

2) 依據是否需要執行測試對角劃分

動態測試:需要執行測試物件的測試形式。動態測試大致包含了軟體測試定義中  1) 部分的內容。

靜態測試:是不需要執行測試物件,依據質量或其他標準對測試物件進行檢查的測試形式。靜態測試大致包含了軟體測試定義中 2) 部分的內容。

將上述兩種分類標準進行組合,可以得到測試實踐中常用的4種測試型別:靜態黑盒測試、靜態白盒測試、動態黑盒測試及動態白盒測試。這4種測試作用於軟體的不同部分。

其中,動態黑盒測試和動態白盒測試是軟體測試工作的主體。二者之間的主要區別在於測試的依據不同。

4. 軟體測試的基本原則

1) 不可能對程式進行完全測試  ---> 原因:a. 完全測試所需測試的數量巨大。b. 無法保證測試環境100%滿足測試要求。c. 沒有足夠的資源徹底完成軟體測試

2) 測試無法說明軟體沒有缺陷  ---> 原因:a. 由於不可能對程式進行完全的測試,因此無法保證找到軟體中所有的缺陷。b. 無法確信測試人員完全理解了軟體,即測試也可能發生錯誤。c. 無法確信測試系統(或環境)的正確性。d. 無法確信測規格說明書與使用者的實際需求100%吻合。

------>軟體測試工作可以報告軟體缺陷已存在,卻不能報告軟體缺陷不存在。軟體測試工作只能證明在其搜尋範圍內沒有缺陷存在。

4) 殺蟲劑現象  ---> 特定的測試用例只能覆蓋測試空間的特定部分,因此如果同樣的測試用例被一再重複執行,會減小其有效性,先前沒有發現的缺陷也不會被發現。為了克服殺蟲劑現象,軟體測試員必須不斷編寫新測試用例對程式的不同部分進行測試。

5) 並非所有軟體缺陷都要修復

6) 應盡量由獨立部分實施測試

5. 軟體測試的基本過程

要保證軟體測試過程的順利和有效,必須遵循一定的過程模型。軟體測試的過程模型是軟體測試工作的框架,它規定了軟體測試過程所包含的主要步驟,以及這些步驟之間的相互關係。

從圖中可以看到,整個測試過程由一系列不同級別的測試組成,這些測試對應開發過程中的不同階段。v模型圖的左側是開發過程的各個階段,右側是測試過程的各個階段,左邊每個開發活動都有右邊的測試活動相對應:需求、功能、設計和編碼的開發活動隨時間而進行,而相應的測試活動,即針對需求、功能、設計和編碼的測試,其開展的次序則正好相反。

1) 單元測試的主要目的是驗證軟體模組是否按詳細設計的規格說明正確執行。

2) 整合測試的主要目的是驗證多個模組間是否按概要設計說明的方式協同工作。

3) 系統測試的主要目的是驗證整個系統是否符合產品規格說明書中規定的各項功能、效能及其他方面的指標。

4) 驗收測試從使用者的角度驗證系統是否滿足合同中定義的需求,以及確認產品是否能滿足業務上的需要。

第一節軟體生存週期

3.實際開發 生存週期 軟體從產生 發展 成熟 衰亡的過程 顧名思義就像人一樣 1.關鍵任務 解決問題是什麼?有行得通的解決方法?粗略計畫 也就是說第一步要考慮是否能做?2.給出問題定義報告 問題的性質,工程目標,工程規模 3.給出可行性研究報告 經濟,技術,社會 操作 可行性 4.專案開發計畫 粗...

測試驅動開發(第一節)

今天看到一本書,測試驅動開發,感覺挺不錯的,在看的同時也記錄下了一些感覺不教不錯的東西,希望能對將來的工作有用。測試驅動開發 第一天 建立web projct 將junit加到專案的類路徑下 在沒有被測試物件的情況下,先在測試類中建立方法,寫出自己的測試思路。之後根據出錯提示,寫好相關的實體類或其他...

第一節 Lookup 快取 之 概述

可以配置查詢轉換以快取記憶體查詢表。powercenter 將在處理快取記憶體查詢轉換中的第乙個資料行時在儲存器中建立快取記憶體。它將根據您在轉換或會話特性中配置的數量來分配快取記憶體區記憶體。powercenter 會將條件值儲存在索引快取記憶體區中,而將輸出值儲存到資料快取記憶體區。powerc...