全網最全的軟體測試基礎知識整理(新手入門必學)

自動化測試老莫 發佈 2022-07-27T20:46:25.316818+00:00

1、什麼是軟體定義:計算機系統中與硬體相互依存的一部分(程序+數據+相關文檔)程序:按事先設計的功能和性能要求執行的指令序列數據:使程序能正常操縱信息的數據結構文檔:與程序開發、維護和使用有關的圖文資料2、軟體工程的內容主要分為軟體開發技術(方法+過程+工具+環境)和軟體開發管理

1、什麼是軟體

定義:計算機系統中與硬體相互依存的一部分(程序+數據+相關文檔)

程序:按事先設計的功能和性能要求執行的指令序列

數據:使程序能正常操縱信息的數據結構

文檔:與程序開發、維護和使用有關的圖文資料


2、軟體工程的內容

主要分為軟體開發技術(方法+過程+工具+環境)和軟體開發管理



3、軟體的生命周期

可行性研究和計劃(立項)

需求分析

概要設計(測試計劃)

詳細設計(測試方案)

實現(開發階段;包含單元測試)

組裝測試(集成測試)

確認測試(系統測試,驗收回歸測試)

使用和維護(上線使用及日常更新維護)


4、什麼是軟體測試

定義:軟體質量保證的一種手段

目的:發現錯誤以及避免這些錯誤的發生,使產品達到完美

概念:是軟體工程中的一個非常重要的環節,是開發項目整體的一部分。是有計劃有組

織的,是伴隨軟體工程的誕生而誕生的,軟體測試不是萬能的,不可能發現全部缺陷,

軟體測試是有局限性的。


5、軟體測試的方法

①、用試題檢查法

②、用新舊兩個系統做平行處理檢查

③、軟體測試自動化工具測試


6、軟體測試階段有哪些任務

①、制定測試大綱(測試計劃)

②、製作測試數據(測試方案)

③、單元測試(程序測試,一般由開發人員進行)

④、功能測試

⑤性能測試(這兩個階段重合性較大,可以歸為一類)

⑥、集成測試(子系統測試)

⑦、系統測試

⑧、驗收測試

⑨、測試報告及向下階段提交系統運行、維護用戶手冊


7、測試的原則

①、儘早的、不斷地進行測試

②、測試用例由輸入數據和與之對應的輸出結果組成,應包括合理和不合理的輸入條件

③、開發者應儘量避免檢查自己的程序

④、設計測試用例時,應包括合理和不合理的輸入條件

⑤、充分注意測試中的集群現象,嚴格執行測試計劃,排除測試的隨意性

⑥、對每一個測試結果做全面檢查

⑦、妥善保存測試計劃,方案,用例,BUG記錄及最終分析報告等文檔


8、軟體測試工作流程圖

立項階段

需求階段

設計階段

編碼&單元測試階段

集成測試階段

系統測試階段

驗收測試階段

結項總結階段


9、自動化測試

概念:為了提高工作效率,節省人力和成本,把人為驅動的測試轉化為機器執行


10、自動化測試的過程

需求分析

測試計劃

框架搭建(附帶工具選擇)

測試用例設計(編寫測試用例或開發測試腳本,並文檔化)

測試——調試測試(針對自動化測試腳本)

評估(評估測試結果並改進測試過程)



11、自動化測試的優點

①、能執行更多更頻繁的測試, 使某些測試任務執行方式更高效

②、能執行一些手動測試困難或者不能做的測試

③、任務自動化,使測試人員投入更多精力設計測試用例,提高測試準確性和

人員積極性

④、具有一致和可重複性特點,更客觀,提高軟體信任度,仍存在一定局限

⑤、不能取代手工測試,不能自動化所有的測試(如只是偶爾執行測試,或需求

經常變動,不穩定,或者需要大量手工參與時)

⑥、自動化測試工具只能執行命令,而手工可以在測試中判斷測試的輸入是否

正確,以及改進測試,還可處理意外事件

⑦、對質量依賴較大,在確保質量的前提下,實施自動化才有意義

⑧、自動化測試需要在整個測試系統成熟穩定後,工作效率才會隨著測試執行

次數的增加而提高

⑨、自動化測試的成本可能高於手工測試


12、自動化測試技術


錄製/回放(依賴工具)

腳本技術

數據驅動(data driven)的自動化測試

關鍵字驅動(keyword driven)的自動化測試

業務驅動


13、自動化測試的級別

①、捕獲和回放

②、捕獲、編程和回放

③、編程和回放

④、數據驅動的測試

⑤、使用動作詞的測試自動化


14、自動化測試方案選擇需要考慮的方面

①、項目的影響(能否幫助項目進度、覆蓋率、風險)

②、複雜度(是否容易實現,包括數據和其他環境等)

③、時間(實現自動化需要多少時間)

④、早期需求和代碼的穩定性(需求或代碼能否證明是在範圍內變化的)

⑤、維護工作量(代碼能否能長期保持相對穩定)

⑥、覆蓋率(自動化測試能否覆蓋程序的關鍵特性和功能)

⑦、資源(是否擁有足夠的人力、硬體和數據資源來運行自動化測試)

⑧、執行(負責執行的人員是否有足夠的技能和時間去運行)

⑨、自動化測試管理


15、自動化測試的重點

①、搭建測試環境,測試場景

②、測試用例

③、測試結果的驗證

④、自動化測試的流程以及執行


16、自動化測試需要解決的問題

①、工具的選擇

②、測試用例腳本編寫

③、測試腳本的管理


感謝每一個認真閱讀我文章的人!!!

如果下面這些資料用得到的話可以直接拿走:

1、自學開發或者測試必備的完整項目源碼與環境

2、測試工作中所有模板(測試計劃、測試用例、測試報告等)

3、軟體測試經典面試題

4、Python/Java自動化測試實戰.pdf

5、Jmeter/postman接口測試全套視頻獲取

我個人整理了我這幾年軟體測試生涯整理的一些技術資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學項目等。如果在學習或工作中遇到問題可以直接進群詢問,群里也會有大神幫忙解答,需要的可以評論區找我呀。

關鍵字: