1. 程式人生 > >測試基礎理論知識小結

測試基礎理論知識小結

1.軟體的3個要素構成:

軟體:資訊處理系統的部分或全部程式、規程、規則以及相關的文件

軟體產品:一組計算機程式、規程以及可能有的相關文件和資料。

2.軟體產品質量是指:

實體(軟體產品)特性的總和,表示實體(軟體產品)滿足明確或隱含要求的能力

3.軟體測試的目的:

 驗證軟體是否滿足軟體開發合同獲專案開發計劃、系統/子系統設計文件、軟體需求規格說明、軟體設計說明和軟體產品說明等規定的軟體質量要求 

通過測試,發現軟體缺陷

為軟體產品的質量測量和評價提供依據

4.測試過程及其解釋:

測試策劃:主要進行測試需求分析,即確定需要測試的內容獲質量特性、確定測試的充分性要求、提出測試的基本方法、確定測試的資源和技術需求、進行風險分析與評估、制定測試計劃(含資源計劃和進度計劃)

測試設計:依據測試需求,分析並選用已有的測試用例或設計新的測試用例:獲取並驗證測試資料;根據測試資源、風險等約束條件,確定測試用例執行順序;獲取測試資源,開發測試軟體;建立並校準測試環境;進行測試就緒評審,主要評審測試計劃的合理性和測試用例的正確性、有效性和覆蓋充分性,評審測試組織、環境和裝置工具是否齊全並符合要求。在進入下一階段工作之前,應通過測試就緒評審。

測試執行:執行測試用例,獲取測試結果,分析並判定測試結果。同時,根據不同的判定結果採取相應的措施;對測試過程的正常或異常終止情況進行核對,並根據核對結果,對未達到測試終止提走間的測試用例,決定是停止測試用例,還是需要修改或補充測試用例集,並進一步測試。

測試總結:整理和分析測試資料,評價測試效果和被測軟體項,描述測試狀態。如,實際測試與測試計劃和測試說明的差異、測試充分性分析、未能解決的測試事件等;描述被測軟體項的狀態,如,被測軟體與需求的差異,發現的軟體差錯等;最後,完成軟體測試報告,並通過測試評審.

5.測試用例設計的基本原則:

基於測試需求的原則:應按照測試類別的不同要求,設計測試用例。如,單元測試依據詳細設計說明,整合測試依據概要設計說明,配置項測試依據軟體需求規格說明書,系統測試依據使用者需求(系統/子系統設計說明、軟體開發計劃等)

基於測試方法的原則:應該明確所採用的測試用例設計方法。為達到不同的測試充分性的要求,應採用相應的測試方法,如等價類劃分、邊界值分析、才錯發、因果圖等方法

兼顧測試充分性和效率的原則:測試用例集應兼顧測試的充分性和測試的效率;每個測試用例的內容也應該完整,具有可操作性。

測試執行的可再現性原則:應保證測試用例執行的可再現性。

6.等價類劃分法:

 等價類劃分是在分析需求規格說明的基礎上把程式的輸 人域劃分成巖 t部分, 然後在每部分中選取代表性資料形成測試用例。

  步驟如下:

  a)  劃分有效等價類:對規格說明是有意義、合理的輸入資料所構成的集合;b)  劃分無效等價類:對規格說明是尤意義、不合理的輸入資料所構成的集合;c)  為每一個等價類定義一個唯一的編號;

  d)  為每一個等價類設計一組測試用例.確保覆蓋相應的等價類。

7.邊界值分析法:

    邊界值分析是針對邊界值進行測試的。使用等於、小於或大於邊界值的資料對程式進行測試的方法就是邊界值分析方法。

    步驟如下:

    a)通過分析規格說明.找出所有可能的邊界條件;

b)對每一個邊界條件.給出滿足和不滿足邊界值的輸入資料:

c) 設計相應的測試用例。

對滿足邊界值的輸入可以發現計算差錯.對不滿足的輸人可以發現域差錯。該方法會為其他測試方法補充一些測試用例.絕大多數測試都會用到本方法

8.軟體內部質量可以從哪6大特性進行解釋:

功能性、可靠性、易用性、效率、維護性、可移植性

9.每一大特性和每一小特性的簡要解釋

功能性:軟體在指定條件下使用時,軟體產品提供滿足明確和隱含要求的功能的能力

適合性:軟體產品為指定的任務和使用者目標提供一組合適的功能的能力

準確性:軟體產品提供具有所需精度的正確或相符的結果或效果的能力

互操作性:軟體產品與一個或更多的規定系統進行互動的能力

安全保密性:軟體產品保護資訊和資料的能力,以使未授權的人員或系統不能閱讀或修改這些資訊和資料,而不拒絕授權人員或系統對他們的訪問

功能性的依從性:軟體產品遵循與功能性相關的標準、約定或法規以及類似規定的能力

可靠性:在指定條件下使用時,軟體產品維持規定的效能級別的能力

成熟性:軟體產品為避免由軟體中故障而導致失效的能力

容錯性:軟體出現故障或者違反其指定介面的情況下,軟體產品維持規定的效能級別的能力

易恢復性:在失效發生的情況下,軟體產品重建規定的效能級別並恢復受直接影響的資料的能力

可靠性的依從性:軟體產品遵循與可靠性相關的標準、約定或法規的能力

易用性:在指定條件下使用時,軟體產品被理解、學習、使用和吸引使用者的能力

易理解性:軟體產品使使用者能理解軟體產品是否合適以及如何能將軟體用於特定的任務和使用條件的能力

易學性:軟體產品使使用者能學習其應用的能力

易操作性:軟體產品使使用者能操作和控制它的能力

吸引性:軟體產品吸引使用者的能力

易用性的依從性:軟體產品遵循與易用性相關的標準、約定或法規的能力

效率:在規定條件下,相對於所用資源的數量,軟體產品可提供適當性能的能力

時間特性:在規定條件下,軟體產品執行其功能時,提供適當的響應和處理時間以及吞吐率的能力

資源利用性:在規定條件下,軟體產品執行其功能時,使用合適數量和類別的資源的能力

效率的依從性:軟體產品遵循與效率相關的標準、約定的能力

維護性:軟體產品可被修改的能力,修改可能包括糾正、改進或軟體對環境、需求和功能規格說明變化的適應

易分析性:軟體產品診斷軟體中的缺陷或失效原因或識別待修改部分的能力

易改變性:軟體產品使指定的修改可被實現的能力

穩定性:軟體產品避免由於軟體修改而造成意外結果的能力

易測試性:軟體產品使已修改軟體能被確認的能力

維護性的依從性:軟體產品遵循與維護性相關的標準、約定的能力

可移植性:軟體產品從一種環境遷移到另外一種環境的能力

適用性:軟體產品不需採取額外的活動或手段就可以適應不同指定環境的能力

易安裝性:軟體產品在指定環境中被安裝的能力

共存性:軟體產品在公共環境同與其分享公共資源的其他獨立軟體共存的能力

易替換性:軟體產品在同樣的環境下,替代另一個相同用途的指定軟體產品的能力

可移植性的依從性:軟體產品遵循與維護性相關的標準、約定的能力

10.軟體測試按照生命週期可劃分為那些階段:

單元測試、整合測試、確認測試(配置項測試)、系統測試、驗收測試

11.單元等每一個階段測試是基於什麼文件:

單元測試:軟體設計文件(軟體詳細設計文件)

整合測試:軟體設計文件(軟體結構(概要)設計文件)

確認測試(配置項測試):軟體需求規格說明(含介面需求規格說明)

系統測試:使用者需求或系統需求或研製合同

驗收測試:研製合同或使用者需求或系統需求

12.軟體測試的准入條件

具有測試合同或者專案計劃

具有軟體測試所需的各種文件

所提交的被測軟體受控

軟體原始碼正確通過編譯或彙編

13.軟體測試的準出條件:

已按照求完成了合同或專案計劃所規定的軟體測試任務

實際測試過程中遵循了原定的軟體測試計劃和軟體測試說明

客觀詳細的記錄了軟體測試過程和軟體測試中發現的所有的問題

軟體測試文件齊全、符合規範

軟體測試的全過程自始至終在控制下進行

軟體測試中的問題或異常有合理的解釋或正確有效的處理

軟體測試工作通過了測試評審

全部測試軟體、被測軟體、測試支援軟體和評審結果已納入配置管理

14.靜態測試:

 靜態測試方法包括檢查單和靜態分析方法。對文件的靜態測試方法主要以檢查單的形式進行,而對程式碼的靜態測試方法一般採用程式碼審查、程式碼走查和靜態分析,靜態分析一般包括控制流分析、資料流分析、介面分析和表示式分析。應對軟體程式碼進行審查、走查或靜態分析;對於規模較小、安全性要求很高的程式碼也可以進性行形式化證明。

15.動態測試:

動態測試是建立在程式的執行過程,根據對被測物件內部的瞭解與否,分為黑盒測試和白盒測試。動態測試方法一般採用白盒測試方法和黑盒測試方法。黑盒測試方法一般包括功能分解.邊界值分析、判定表.因果圖、狀態圖隨機測試、猜錯法和正交試驗法等;白盒測試方法--般包括控制流測試(語句覆蓋測試、分支覆蓋測試、條件覆蓋測試、條件組合覆蓋測試、路徑覆蓋測試)、資料流測試、程式變異、程式插樁、域測試和符號求值等。

  在軟體動態測試過程中,應採用適當的測試方法,實現測試目標。配置項測試和系統測試一般採用黑盒測試方法:整合測試一般主要採用黑盒測試方法,輔助以白盒測試方法;單元測試一般採用白 盒測試方法.輔助以黑盒測試方法。

16.迴歸測試的目的:

測試軟體變更之後,變更部分的正確性和對變更需求的符合性,測試軟體變更之後,軟體原有的、正確的功能、效能和其他規定的要求的不損害性

17.白盒測試:

白盒測試又稱結構測試、邏輯測試或基於程式的測試.這種測試應瞭解程式的內部構造.並且根據內部構造設計測試用例。

18.黑盒測試:

黑盒測試又稱功能測試、資料驅動測試或基於規格說明的測試.這種測試不必瞭解被測物件的內部情況.而依靠需求規格說明中的功能來設計測試用例。