碚摰?課)
前言本文是軟件測試入門系列的第一篇整理自測試?yán)碚摰谝惶斓膶W(xué)習(xí)筆記系統(tǒng)梳理軟件生命周期、開發(fā)模型、測試原則、測試分類與測試流程幫你快速搭建軟件測試的知識(shí)框架。適合測試小白入門 面試前快速復(fù)習(xí)。 全文約 3000 字建議收藏后配合思維導(dǎo)圖食用食用時(shí)間約 15 分鐘 目錄一、軟件的生命周期重要二、軟件開發(fā)模型瀑布模型V 模型三、測試原則7 大原則四、測試分類按測試階段分類按測試技術(shù)分類其他測試分類五、系統(tǒng)測試類型與評(píng)估基準(zhǔn)六、測試流程重要七、驗(yàn)收測試細(xì)分八、總結(jié)一、軟件的生命周期重要軟件生命周期是指軟件從產(chǎn)生、開發(fā)到報(bào)廢的整個(gè)過程共包含 8 個(gè)階段各階段的主要角色和產(chǎn)出物如下階段主要角色產(chǎn)出物項(xiàng)目計(jì)劃項(xiàng)目經(jīng)理項(xiàng)目計(jì)劃書包含項(xiàng)目里程碑等需求分析需求工程師 / 產(chǎn)品經(jīng)理需求規(guī)格說明書SRS、FeatureList等概要設(shè)計(jì)架構(gòu)組概要設(shè)計(jì)說明書HLDHigh Level Design詳細(xì)設(shè)計(jì)開發(fā)人員詳細(xì)設(shè)計(jì)說明書LLDLow Level Design編碼開發(fā)人員程序代碼測試測試團(tuán)隊(duì)測試計(jì)劃、測試設(shè)計(jì)、測試用例、測試報(bào)告、測試總結(jié)發(fā)布—安裝包、說明書、指導(dǎo)書等運(yùn)維運(yùn)維人員對(duì)客戶反饋的問題進(jìn)行解答和跟蹤注如果是敏捷開發(fā)流程概設(shè)和詳設(shè)這兩個(gè)步驟可能會(huì)直接省略記憶要點(diǎn)需求分析收集客戶或領(lǐng)導(dǎo)的零散需求 → 輸出SRS概要設(shè)計(jì)HLD高層抽象設(shè)計(jì)軟件架構(gòu) →架構(gòu)組負(fù)責(zé)詳細(xì)設(shè)計(jì)LLD細(xì)化到模塊內(nèi)部結(jié)構(gòu) →開發(fā)人員負(fù)責(zé)測試輸出物測試策劃測試計(jì)劃、用例設(shè)計(jì)編寫、測試執(zhí)行、測試報(bào)告、測試總結(jié)等。?? 劃重點(diǎn)測試并不是編碼完成之后才開始的活動(dòng)測試要盡早介入從需求階段就可以開始二、軟件開發(fā)模型1. 瀑布模型Waterfall Model核心特點(diǎn)從上往下單流程、不可逆各階段順序執(zhí)行前一階段完成后才能進(jìn)入下一階段優(yōu)點(diǎn)流程清晰、文檔規(guī)范缺點(diǎn)缺乏靈活性需求變更成本極高測試介入太晚。2. V 模型V ModelV 模型是測試人員必須掌握的經(jīng)典模型它的核心思想是開發(fā)和測試同時(shí)進(jìn)行一一對(duì)應(yīng)。V 模型的優(yōu)化點(diǎn)在 V 模型基礎(chǔ)上進(jìn)行優(yōu)化測試側(cè)增加分析和設(shè)計(jì)活動(dòng)開發(fā)側(cè)增加驗(yàn)證和確認(rèn)活動(dòng)主要角色各功能模塊負(fù)責(zé)人。 面試常問V 模型和瀑布模型的區(qū)別 答瀑布模型測試只出現(xiàn)在編碼之后V 模型中每個(gè)開發(fā)階段都有對(duì)應(yīng)的測試階段測試與開發(fā)并行。三、測試原則7 大原則測試原則是建立正確測試思維的基石面試高頻考點(diǎn)逐條背下來#原則解讀1測試能夠顯示缺陷的存在測試只能證明缺陷存在不能證明軟件沒有缺陷2窮盡測試是不可能的不可能 100% 窮舉測試 → 引出測試設(shè)計(jì)方法的重要性3測試要盡早介入從需求階段開始介入利用缺陷放大原理降低修復(fù)成本4缺陷的聚集效應(yīng)80/20 原則80% 的缺陷存在于 20% 的模塊中5殺蟲劑悖論同樣的測試用例執(zhí)行多次后很難發(fā)現(xiàn)新 Bug → 用例要持續(xù)更新6沒有缺陷的系統(tǒng)并不代表是有用的系統(tǒng)軟件還要滿足用戶的實(shí)際需求7測試越來越依賴于具體的商業(yè)背景測試活動(dòng)要結(jié)合業(yè)務(wù)場景四、測試分類測試分類的全景圖如下一圖看懂所有分類維度一按測試階段分類測試階段說明常用技術(shù)檢驗(yàn)依據(jù)單元測試UTUnit Testing針對(duì)軟件基本組成單元的測試多用白盒測試技術(shù)詳細(xì)設(shè)計(jì)說明書集成測試ITIntegration Testing將所有模塊按照概要說明書組裝成系統(tǒng)測試模塊/組件之間的接口多用黑盒測試技術(shù)概要設(shè)計(jì)說明書、需求說明書系統(tǒng)測試STSystem Testing對(duì)整個(gè)系統(tǒng)進(jìn)行測試檢驗(yàn)是否滿足需求黑盒為主需求規(guī)格說明書各種功能規(guī)范、UIUE等驗(yàn)收測試軟件開發(fā)完成后用戶對(duì)產(chǎn)品投入使用前進(jìn)行的質(zhì)量檢驗(yàn)活動(dòng)—需求規(guī)格說明書、UIUE等二按測試技術(shù)分類黑盒測試又稱數(shù)據(jù)驅(qū)動(dòng)測試把程序看作一個(gè)不能打開的黑盒子不關(guān)心內(nèi)部實(shí)現(xiàn)只關(guān)注輸入與輸出。 舉例自動(dòng)售貨機(jī)——不需要看清內(nèi)部的機(jī)械結(jié)構(gòu)需要確認(rèn)的是付錢后能取出預(yù)期的商品白盒測試又稱結(jié)構(gòu)測試或邏輯驅(qū)動(dòng)測試測試對(duì)象是源程序以程序內(nèi)部邏輯為基礎(chǔ) 舉例自動(dòng)售貨機(jī)——需要把最外層的蓋子拿開看清內(nèi)部的機(jī)械邏輯結(jié)構(gòu)和零件組成。灰盒測試只有概念介于黑盒與白盒之間既關(guān)注輸入輸出也關(guān)注部分內(nèi)部邏輯。三其他測試分類分類說明回歸測試缺陷被修復(fù)后進(jìn)行的測試目的是驗(yàn)證缺陷得到了正確的修復(fù)冒煙測試測試前的測試對(duì)軟件基本功能進(jìn)行快速驗(yàn)證確認(rèn)動(dòng)態(tài)測試需要運(yùn)行程序的測試。在車載領(lǐng)域這個(gè)術(shù)語的意思是駕駛車輛動(dòng)態(tài)測試。靜態(tài)測試不運(yùn)行程序通過走查、評(píng)審等方式檢查代碼和文檔。在車載領(lǐng)域這個(gè)術(shù)語的意思是在測試車上靜態(tài)測試不需要駕車。國際化測試測試軟件對(duì)不同時(shí)區(qū)、文化習(xí)慣例如朝拜功能、貨幣格式等國際差異的支持能力五、系統(tǒng)測試類型與評(píng)估基準(zhǔn)系統(tǒng)測試的 9 大類型系統(tǒng)測試ST包含以下類型也是日常測試工作中最常接觸的功能測試界面測試性能測試安全測試兼容性測試壓力測試負(fù)載測試容量測試電量測試移動(dòng)端特有各測試階段的評(píng)估基準(zhǔn)測試階段評(píng)估基準(zhǔn)單元測試邏輯覆蓋率集成測試接口覆蓋率系統(tǒng)測試測試用例對(duì)需求規(guī)格的覆蓋率 記憶技巧越靠前的階段越看代碼內(nèi)部邏輯 → 接口系統(tǒng)測試階段則回歸需求本身。六、測試流程重要完整的測試流程是每個(gè)測試工程師的日常工作閉環(huán)務(wù)必牢記順序面試常問測試需求分析→ 確定測試策略、制定計(jì)劃測試計(jì)劃、方案→ 主要角色測試經(jīng)理、測試組長測試用例設(shè)計(jì)→ 編寫、評(píng)審測試用例搭建測試環(huán)境→ 開發(fā)提測后進(jìn)行冒煙測試→ 確認(rèn)沒有低級(jí)問題或黑屏等嚴(yán)重問題執(zhí)行測試用例→ 冒煙測試通過后開始批量執(zhí)行用例測試提交并跟蹤 BUG→ 將發(fā)現(xiàn)的 Bug 提交給開發(fā)并跟蹤修復(fù)后進(jìn)行回歸測試撰寫測試報(bào)告測試總結(jié)。七、驗(yàn)收測試細(xì)分類型特點(diǎn)非正式驗(yàn)收測試α 測試 / β 測試針對(duì)早期的、不穩(wěn)定的軟件進(jìn)行測試介入更早正式驗(yàn)收測試針對(duì)相對(duì)穩(wěn)定的、后期的軟件進(jìn)行測試八、總結(jié)本文搭建了軟件測試入門的知識(shí)框架回顧一下核心內(nèi)容?軟件生命周期8 個(gè)階段 各階段角色與產(chǎn)出物?開發(fā)模型瀑布模型單流程不可逆、V 模型開發(fā)測試一一對(duì)應(yīng)?7 大測試原則建立正確的測試思維面試必背?測試分類按階段UT/IT/ST/驗(yàn)收、按技術(shù)黑盒/白盒/灰盒、其他分類?系統(tǒng)測試 9 大類型 各階段評(píng)估基準(zhǔn)?測試流程 8 步閉環(huán)從需求分析到測試總結(jié)。掌握以上內(nèi)容你就建立了對(duì)軟件測試的整體認(rèn)知為后續(xù)學(xué)習(xí)測試用例設(shè)計(jì)方法等價(jià)類、邊界值、判定表……、自動(dòng)化測試打下堅(jiān)實(shí)基礎(chǔ)。分割線??寫在最后 如果這篇文章對(duì)你有幫助歡迎點(diǎn)贊 收藏 關(guān)注歡迎評(píng)論區(qū)留言交流~ 下一篇預(yù)告《軟件測試?yán)碚摰诙霣ug屬性和測試用例常識(shí)》