軟體測試理論知識(一)

2021-08-18 21:00:46 字數 2721 閱讀 4506

學習軟體測試的基礎理論已經有很久了,這裡就當做是自己的乙個鞏固與提公升吧,想要學習測試理論基礎,但是又不知道從何下手的可以關注我的部落格,不定期更新!我也就不廢話了,直接上乾貨。

軟體測試的方式:

例如:通過設計來驗證需求定義的規格是否正確,通過編碼來驗證設計的合理性,通過測試來驗證編碼的正確性

2.確認:檢查每個階段結束時的工作成果是否滿足軟體生命週期的需求文件中定義的各項規格和要求

例如:軟體設計完成後,需要通過評審來判斷是否滿足需求定義;編碼完成後,需要通過**審查等方式來檢查編碼是否滿足了各項需求的規格定義;測試階段,通過評審測試用例,測試計畫,測試報告、缺陷覆蓋等材料來判斷測試是否覆蓋了各項需求。

測試原則:

1.good enough 原則:不能盲目追求最佳的測試效果而投入過多的測試資源。應該根據專案實際要求和產品的質量要求來考慮測試的投入。

2.pareto 原則:(28原則)80%的bug在分析,設計,評審階段就能被發現和修正,剩下的16%由系統的軟體測試來發現,4%由使用者長時間使用過程中才能暴露出來。 

3.盡可能早開展測試:越早發現錯誤,修改的代價越小;越遲發現錯誤,修復軟體需要付出的代價就越高。

5.同化效應:乙個測試人員在同乙個專案待得時間越久,越可能忽略一些明顯的問題。交叉測試能避免一些測試的盲點,充分利用不同人員對待軟體的不同視角和觀點。通過引入新的測試思維來打破測試的侷限和僵局。

測量的目的分為兩大類:

1. 一類是為了驗證程式能正常工作的測試。

2. 另一類是為證明程式不能正常工作的測試

第一類步驟:需求和設計的評審、設計階段的測試、系統全面的測試。

對需求文件、設計(功能設計、實現設計)文件進行可測試性、明確性、完整性、正確性等方面的審查。

基本策略:

1. 先執行簡單測試用例,再執行複雜測試用例

2.先驗證單一的基本功能,再驗證組合的功能

3.先解決表面的、影響面積大的bug,再解決深層的、不易重現的bug

是階段性的,通常叫作「bug bash」,盡可能的尋找出bug

缺陷管理

主要有三種角色,專案經理,開發人員和測試人員,三者分工明確,介面清晰。專案經理負責定義需求、編寫需求規格說明書和設計文件;開發人員負責編寫**來實現和設計的規格定義;測試人員負責測試開發人員編寫的**是否符合專案經理定義的規格要求。

基於rup的過程模型進行的,rup是乙個強調迭代開發、持續整合的軟體開發過程模型。

2.rup測試的度量 :採用測試覆蓋率和質量來對測試進行度量。

測試覆蓋是對測試充分程度的評價,包括以下方面

1.測試需求的覆蓋 2.測試用例的覆蓋 3.測試執行**的覆蓋

3.用例驅動:用例(use case)是rup方**中乙個非常重要的概念。簡單的說:乙個用例就是系統的乙個功能。

按照rup的指導思想,用例貫穿於整個軟體開發的生命週期。在需求分析時,使用者對用例進行描述;在系統設計時,設計人員對用例進行分析;在開發階段,開發人員用**來實現用例;在測試階段,測試人員針對產品,對照用例進行檢驗。

rup是一種以用例為中心的開發過程。而rup得軟體測試也是以用例為基本依據進行的。

4.   rup對軟體測試的分類

1.可靠性:

完整性測試:側重於評估測試物件的強壯性、語言、語法的技術相容性以及資源利用率。

2.功能 :

配置測試 :側重於確保不同的硬體或軟體配置上按預期執行的測試,可作為系統效能測試

功能測試:側重於物件按計畫執行,提供需求的服務、方法或用例的測試

安裝測試:側重於在不同硬體或軟體配置上,以及在不同條件下按預期安裝的測試

安全測試:側重於確保只有預期的主角才可以訪問測試物件,資料的測試。

容量測試:側重於核實測試物件對於大量資料(輸入,輸出)的處理能力測試。

3.效能: 

基準測試:側重於比較測試(新的或未知)物件與已知的參照負載和系統的效能

競爭測試 :側重於核實測試物件對於多個主角對相同資源的請求處理是否可以接受的測試

負載測試:用於在測試的系統保持不變的情況下,核實和評估系統在不同負載下操作極限的可接受性

效能曲線測試:監測測試物件的計時配置檔案,包括執行流,資料訪問,函式和系統呼叫,以確定並解決效能瓶頸和低效流程。

強度測試:側重於確保系統可在遇到異常條件是按預期執行。

5.rup對測試階段的劃分

1.單元測試,在迭代的早期實施,側重於核實軟體的最小可測試元素。

2.整合測試,為了確保當把實施模型中的構件整合起來執行用例時,這些構件能夠正常執行。

3.系統測試,當將軟體昨晚整體執行或實施明確定義的軟體行為子集時可進行的測試

4.驗收測試,是部署軟體之前的最後乙個測試操作。

自動錯誤預防(aep)方法

1.概念:通過分析錯誤根源和消除錯誤原因。

2.遵循5個特定的步驟

1.識別錯誤  2.找出錯誤的原因  3.定位產品產生錯誤的地方  4.執行預防措施來確保相同的錯誤不再出現 5.監控整個過程

3.實現軟體自動錯誤預防的五**則

1.法則一:應用行業最佳實踐來防止普遍錯誤並建立全壽命的錯誤預防基礎

2.法則二:按需要修改實踐來預防特殊的錯誤

3.法則三:確保每個小組正確地、始終如一地貫徹執行aep

4.法則四:循序漸進地採用每乙個實踐

5.法則五:利用統計來文件每乙個過程,讓它發揮價值。

用例八大要素:1. 用例編號 2.測試專案3.用例名稱 4.重要級別 5. 預製條件 6測試輸入 7操作步驟 8 預期結果

軟體測試理論知識

軟體 有程式,資料和文件 工程化 系統化,模組化,規範化,可度量化 可用數字表示的 工程的定義 使用工程化的思想完成複雜的對人類有意義的過程 軟體工程 使用工程化思想開發符合使用者需求的軟體的過程 目標 在時間,資源,人員的限制條件下構建滿足使用者需求的軟體產品 prd 產品需求文件 專案 在有限的...

測試理論知識(一)

問題定義 可行性分析 總體描述 系統設計 編碼 除錯和測試 驗收和執行 維護公升級 廢棄 用來促進鑑定軟體的正確性 完整性 安全性和質量的過程 是一種實際輸出與預期輸出之間的審核或者比較過程 是以評價乙個程式或者系統屬性為目標的任何一種活動。測試是對軟體質量的度量 使用人工或自動的手段來執行或測定某...

軟體測試基礎理論知識

軟體測試 描述一種用來促進鑑定軟體的正確性 完整性 安全性和質量的過程。換句話說,軟體測試是一種實際輸出與預期輸出之間的審核或者比較過程。軟體測試的經典定義是 在規定的條件下對程式進行操作,以發現程式錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。1.軟體測試的定義 軟體測試就是根據需求...