1.軟件開發(fā)流程與項(xiàng)目管理
軟件開發(fā)流程的演變
傳統(tǒng)瀑布模型->敏捷開發(fā)模型->DevOps開發(fā)模型
瀑布模型
瀑布模型的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
開發(fā)的各個(gè)階段比較清晰
強(qiáng)調(diào)早期開發(fā)和需求調(diào)查
適合需求穩(wěn)定的產(chǎn)品開發(fā)
缺點(diǎn):
由于開發(fā)模型是線性的敛摘,增加了開發(fā)的風(fēng)險(xiǎn)
早期的錯(cuò)誤可能要到開發(fā)后期才發(fā)現(xiàn)
敏捷開發(fā)模型
XP
SCRUM
XP
SCRUM
敏捷開發(fā)模型特點(diǎn)
增量迭代
小步快跑
大概2周迭代一個(gè)版本富俄,現(xiàn)在大部分公司的主流
DevOps開發(fā)模型
DevOps生命周期
DevOps對發(fā)布的影響
減少變更范圍
加強(qiáng)發(fā)布協(xié)調(diào)
自動化
可以1天發(fā)布一個(gè)小版本
CI/CD
持續(xù)集成(CI)
持續(xù)交付(CD)
CD與DevOps的關(guān)系
項(xiàng)目管理
軟件項(xiàng)目管理的方法
制定項(xiàng)目計(jì)劃
執(zhí)行該計(jì)劃并監(jiān)控跟蹤管理
項(xiàng)目風(fēng)險(xiǎn)應(yīng)對與問題解決
項(xiàng)目收尾
跨部門溝通合作
1.與產(chǎn)品溝通
需求評審會
分析需求
測試用例編寫階段
測試過程中
2.與研發(fā)溝通
分析需求
測試用例編寫階段
測試過程中
線上監(jiān)控發(fā)現(xiàn)bug時(shí)
3.上下游測試配合
測試計(jì)劃溝通
環(huán)境對接
熟悉業(yè)務(wù)
2.測試流程體系
軟件測試基本概念
軟件測試
通過手工或工具對”被測對象“進(jìn)行測試混蔼,驗(yàn)證實(shí)際結(jié)果與預(yù)期結(jié)果之間是否存在差異。
軟件測試原則
測試顯示缺陷的存在
窮盡測試是不可能的
測試應(yīng)盡早介入
缺陷集群性(2/8原則)
殺蟲劑悖論
測試活動依賴于測試內(nèi)容
沒有錯(cuò)誤是好是謬論
軟件測試對象
需求分析階段:需求文檔集乔、接口文檔
編碼實(shí)現(xiàn)階段:源代碼
系統(tǒng)功能使用:應(yīng)用程序
測試用例
為特定的目的而設(shè)計(jì)的一組測試輸入、執(zhí)行步驟和預(yù)期的結(jié)果凉泄,以便測試產(chǎn)品滿足某個(gè)特定需求的文檔比勉。
軟件測試模型
1.V模型
V模型是瀑布模型的一種改進(jìn)
V模型標(biāo)明了測試過程中的不同階段
V模型優(yōu)缺點(diǎn)
2.W模型
W模型明確表示出了測試和開發(fā)的并行關(guān)系
W模型中測試伴隨著整個(gè)開發(fā)周期埋同,并且測試的對象不僅僅是程序州叠,需求和設(shè)計(jì)同樣需要測試
W模型優(yōu)缺點(diǎn)
3.H模型
把測試活動完全獨(dú)立起來,形成一個(gè)完全獨(dú)立的流程莺禁,將測試準(zhǔn)備活動和測試執(zhí)行活動清晰的體現(xiàn)出來
H模型優(yōu)缺點(diǎn)
軟件測試工作流程
1.傳統(tǒng)測試流程
2.系統(tǒng)測試流程
3.bug管理流程
測試左移
測試左移是往測試之前的開發(fā)階段移
在軟件開發(fā)周期早期就開始介入
對代碼進(jìn)行測試
從發(fā)現(xiàn)bug到預(yù)防bug
測試右移
右移是往發(fā)布之后移
產(chǎn)品上線之后進(jìn)行線上監(jiān)控
3.測試技術(shù)體系
軟件測試分類
分層測試體系
單元測試
單元測試方法
java:JUnit留量、TestNG
python:Unittest、pytest
接口測試
接口哟冬,簡稱API
是針對軟件對外提供服務(wù)的接口的輸入輸出測試
接口測試方法
UI測試
UI測試方法
4.常用測試平臺
常用測試平臺
1.測試用例管理平臺和bug管理平臺
2.代碼管理平臺
gitlab用的企業(yè)較多
3.流程管理平臺
5.黑盒測試方法論
1.常用測試方法
等價(jià)類劃分
邊界值分析
因果圖
判定表
決策樹
探索式測試
等價(jià)類
邊界值
因果圖和判定表
決策樹
探索式測試
是一種軟件測試的風(fēng)格
6.白盒測試方法論
白盒測試的度量
代碼覆蓋率常見概念
覆蓋率統(tǒng)計(jì)工具
例如Java工具:
Emma
cobertura
jacoco
流程覆蓋
利用代碼執(zhí)行流代表流程
流程覆蓋用路徑覆蓋率表達(dá)
對流程進(jìn)行裁剪獲得一個(gè)適合業(yè)務(wù)的小規(guī)模的業(yè)務(wù)子集
流程覆蓋率=測試經(jīng)過的路徑/業(yè)務(wù)子集的路徑
精準(zhǔn)化測試
代碼調(diào)用鏈與黑盒測試用例的關(guān)聯(lián)
根據(jù)代碼變更自動分析影響范圍
黑盒測試中借助代碼流程覆蓋數(shù)據(jù)指導(dǎo)探索式測試
利用線上數(shù)據(jù)推導(dǎo)有效測試用例
代碼流程分析和覆蓋率統(tǒng)計(jì)
7.測試經(jīng)典書籍推薦
1.全程軟件測試-朱少民
2.探索式測試-史亮
3.Google的測試之道
4.持續(xù)交付-喬梁
5.不測的秘密-騰訊TMQ