2022最新軟件測試自學(xué)教程 新手小白30天軟件測試入門最強教程

- 什么是軟件測試
- 軟件測試是驗證軟件的功能是否滿足用戶的需求。
- 定義:使用人工和自動手段來運行或測試某個系統(tǒng)的過程;
- 目的:在于驗證系統(tǒng)是否滿足規(guī)定的需求,保證軟件質(zhì)量,提高用戶體驗。
- 軟件分為兩大類:系統(tǒng)軟件和應(yīng)用軟件。
- 系統(tǒng)軟件:windows all,Linux,Unix等都是系統(tǒng)軟件;
- 應(yīng)用軟件:App、QQ、微信等。
- 軟件測試的目的
- 軟件測試為了檢驗產(chǎn)品是否滿足用戶需求;
- 為了提高用戶的體驗;
- 為了發(fā)現(xiàn)程序中存在代碼或業(yè)務(wù)邏輯的錯誤。
- 軟件測試分類
- 按測試階段劃分:單元測試、集成測試、系統(tǒng)測試、驗收測試(交付測試);
- 按是否覆蓋源代碼劃分:白盒測試、黑盒測試;
- 白盒測試:針對代碼去測試
- 黑盒測試:針對功能去測試
- 按是否運行劃分:靜態(tài)測試、動態(tài)測試
- 靜態(tài)測試:測需求文檔、界面等不運行測試
- 動態(tài)測試:程序運行中測試
- 其他分類:回歸測試、冒煙測試、隨機測試、驗收測試
- 冒煙測試:開發(fā)完成程序之后對程序的主流程進行測試,不測程序的細節(jié);
- 隨機測試:又叫探索性測試,選取重要的功能模塊進行測試;
- 驗收測試:α測試,β測試,γ測試;
- α測試:Alpha是內(nèi)測版本,公司內(nèi)部測試;
- β測試:Beta是公測版本,客戶測試;
- γ測試:Gamma版本,指的是軟件版本正式發(fā)行的候選版。
- 按是否自動化劃分:人工測試,自動化測試。
- 軟件測試的工作流程
- 需求分析→需求評審→編寫測試計劃→測試計劃評審→提取測試點→設(shè)計測試用例→測試用例評審→搭建測試環(huán)境→冒煙測試→執(zhí)行測試用例→bug跟蹤處理→測試報告
- 軟件質(zhì)量模型
- 軟件產(chǎn)品質(zhì)量六屬性
- 功能性
- 功能完備性
- 功能正確性
- 功能適合性
- 功能性的依從性
- 可靠性
- 成熟性
- 可用性
- 容錯性
- 易恢復(fù)性
- 可靠性的依從性
- 易用性
- 可辨識性
- 易學(xué)性
- 易操作性
- 用戶差錯防御性
- 用戶界面舒適性
- 易用性的依從性
- 性能效率
- 時間特性
- 資源利用性
- 容量
- 性能效率的依從性
- 可維護性
- 模塊化
- 可重用性
- 易分析性
- 易修改性
- 易測試性
- 可維護性的依從性
- 可移植性
- 適應(yīng)性
- 易安裝性
- 易替換性
- 可移植性的依從性
- 其實還有四大屬性
- 信息安全性
- 保密性
- 完整性
- 抗抵賴性
- 可核查性
- 真實性
- 信息安全性的依從性
- 兼容性
- 共存性
- 互操作性
- 兼容性的依從性
- 用戶文檔集
- 可用性
- 規(guī)范性
- 完備性
- 正確性
- 易學(xué)性
- 易理解性
- 用戶文檔集的依從性
- 產(chǎn)品說明
- 可用性
- 內(nèi)容
- 標識和標示
- 產(chǎn)品說明的依從性
- 軟件開發(fā)過程模型
- 瀑布模型
- 流程:需求分析→設(shè)計→編碼→實現(xiàn)→軟件測試→完成→維護
- 測試的切入點:測試階段處于軟件實現(xiàn)后,必須在代碼完成后流出足夠的測試時間,否則將導(dǎo)致測試不充分,很多問題到項目后期才會暴露。
- 優(yōu)缺點
- 優(yōu)點:開發(fā)的各個階段比較清晰;強調(diào)早期計劃和需求調(diào)查;適合需求穩(wěn)定的產(chǎn)品開發(fā)。
- 缺點:依賴早期的需求調(diào)查,不適應(yīng)需求的變化;單一流程不可逆;風(fēng)險往往在后期才會顯露,失去及早糾正的機會,影響后面的階段,可能導(dǎo)致項目失敗。
- V模型
- 流程:需求分析(驗收測試)→概要設(shè)計(系統(tǒng)測試)→詳細設(shè)計(集成測試)→編碼(單元測試)
- 優(yōu)缺點:
- 優(yōu)點:每一個階段都清晰明了,便于控制開發(fā)的每一個過程,既包含單元測試又包含系統(tǒng)測試
- 缺點:測試介入的較晚,對于前期的一些缺陷無法發(fā)現(xiàn)和修改,測試和開發(fā)串行,總用時較長。
- W模型
- 測試伴隨著整個軟件開發(fā)周期,并且測試的對象不僅僅是程序,需求和設(shè)計同樣要測試。
- 流程:需求分析(驗收/系統(tǒng)測試設(shè)計)→概要設(shè)計(集成測試設(shè)計)→詳細設(shè)計(單元測試設(shè)計)→編碼(單元測試)→集成(集成測試)→實施(系統(tǒng)測試)→交付(驗收測試)
- 優(yōu)缺點:
- 優(yōu)點:測試伴隨軟件的整個生命周期,
- 缺點:依賴于軟件開發(fā)和軟件測試依然保持一前一后的線性關(guān)系,無法支持迭代、自發(fā)性和需求等變更調(diào)整;對于當前很多項目,在執(zhí)行的過程中根本不產(chǎn)生文檔,那么W模型基本無法適用;使用起來技術(shù)復(fù)雜度很高,對于需求和設(shè)計的測試要求很高,實踐起來困難。
- 測試用例
- 定義:測試用例(Test Case)是為特定的目的而設(shè)計的一組測試輸入、執(zhí)行條件和預(yù)期的結(jié)果,以便測試是否滿足某個特定需求。通過大量的測試用例來檢驗軟件的運行效果,它是知道測試工作進行的依據(jù)。
- 測試用例編寫:八大要素
- 用例編號
- 用例標題
- 測試項目
- 用例級別
- 預(yù)置條件
- 測試輸入
- 測試步驟
- 預(yù)期結(jié)果
- 測試用例設(shè)計方法:
- 等價類
- 有效等價類
- 無效等價類
- 邊界值
- 概念:邊界值分析法是作為對等價類劃分法的補充
- 與等價類的區(qū)別:
- 邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件;
- 邊界值分析不僅考慮輸入條件,還要考慮輸出空間產(chǎn)生的測試情況。
- 場景法
- 場景法是模擬用戶操作軟件時的場景,主要用于測試系統(tǒng)的業(yè)務(wù)流程;
- 當拿到一個測試任務(wù)后,先關(guān)注它的主要功能和業(yè)務(wù)流程是否正確實現(xiàn),這就需要用到場景法來完成測試。當業(yè)務(wù)流程或者說該軟件的主要功能沒有問題時,我們在重點從邊界值、等價類等方面對控件進行更加細致。完整的測試。
- 冒煙測試主要采用場景法進行測試。
- 錯誤推斷法
- 錯誤推斷法是指利用直覺和經(jīng)驗猜測出會出錯的可能類型,有針對性的列舉出程序中所有可能的錯誤和容易發(fā)生錯誤的情況。
- 不單獨使用,可以作為其他方法的補充。
- 軟件缺陷信息(bug)
- bug的定義
- 從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護過程中所存在的錯誤等各種問題
- 從外部看,軟件缺陷是系統(tǒng)所需要實現(xiàn)的某種功能的失效或違背。
- 因此軟件缺陷就是軟件產(chǎn)品中所存在的問題,最終表現(xiàn)為用戶所需要的功能沒有完全實現(xiàn),沒有滿足用戶的需求。
- bug產(chǎn)生的原因
- 軟件缺陷產(chǎn)生是不可避免的,造成軟件缺陷產(chǎn)生的原因主要歸納為:
- 用戶需求定義錯誤
- 設(shè)計說明存在錯誤
- 編碼說明、程序代碼有誤
- 硬件或者軟件系統(tǒng)上存在錯誤等
- bug產(chǎn)生的根源
- 交流不充分,
- 軟件的復(fù)雜性
- 開發(fā)人員的錯誤
- 需求的變化
- 進度壓力
- bug的類型
- 界面缺陷
- 操作界面錯誤
- 打印內(nèi)容、格式錯誤
- 刪除操作未給出提示
- 長時間操作未給出提示
- 界面不規(guī)范等
- 功能缺陷
- 功能無法實現(xiàn)
- 功能實現(xiàn)錯誤
- 數(shù)據(jù)缺陷
- 數(shù)據(jù)計算錯誤
- 數(shù)據(jù)約束錯誤
- 數(shù)據(jù)輸入、輸出錯誤
- bug嚴重程度
- 致命、嚴重、一般、建議
- bug的生命周期
- bug的生命周期,就是一個bug被發(fā)現(xiàn)到被關(guān)閉的過程。
- 發(fā)現(xiàn)bug→提交bug→指派bug→開發(fā)確認bug→開發(fā)去修復(fù)bug→回歸驗證bug→是否通過驗證→關(guān)閉bug
標簽: