敏捷測(cè)試總結(jié)(持續(xù)更新)

敏捷(Agile)是一種軟件開發(fā)模式,用限制時(shí)間段的方式,滾動(dòng)周期地交付可用的軟件,旨在靈活地應(yīng)對(duì)改變,包括需求的改變、依賴的改變、計(jì)劃的改變、團(tuán)隊(duì)的改變等等。敏捷開發(fā)模式相較于傳統(tǒng)的瀑布模式而言,具有更高的靈活性,以交付價(jià)值驅(qū)動(dòng)開發(fā),而不是傳統(tǒng)瀑布模式的以計(jì)劃驅(qū)動(dòng)開發(fā)。

在敏捷開發(fā)模式下工作的團(tuán)隊(duì)我們稱之為敏捷團(tuán)隊(duì),敏捷團(tuán)隊(duì)中測(cè)試人員和開發(fā)人員聯(lián)系緊密,通常是同步工作的,注重即時(shí)溝通和質(zhì)量?jī)?nèi)建,保證交付質(zhì)量是每個(gè)人的責(zé)任。面對(duì)軟件的缺陷,敏捷團(tuán)隊(duì)抱有更開放的態(tài)度。

敏捷測(cè)試

由于團(tuán)隊(duì)的工作模式和業(yè)務(wù)交付模式都不同,敏捷開發(fā)模式下的軟件測(cè)試與傳統(tǒng)軟件開發(fā)模式下的測(cè)試也有所不同。

敏捷測(cè)試的核心是質(zhì)量?jī)?nèi)建,簡(jiǎn)而言之就是軟件的質(zhì)量不是測(cè)試人員測(cè)出來(lái)的,而是全團(tuán)隊(duì)共同創(chuàng)建出來(lái)的。所以在軟件開發(fā)的全過(guò)程都應(yīng)該有提高質(zhì)量的思想和行動(dòng),包括在需求階段和生產(chǎn)階段,都需要質(zhì)量?jī)?nèi)建的思想。

測(cè)試在軟件開發(fā)前期的介入叫測(cè)試左移,包括對(duì)需求的評(píng)審、預(yù)IPM、IPM,甚至單元測(cè)試、集成測(cè)試等。

測(cè)試在生產(chǎn)階段的介入叫做測(cè)試右移,也叫做生產(chǎn)環(huán)境的QA(QA in Production),主要包括三個(gè)方面:生產(chǎn)環(huán)境的測(cè)試、監(jiān)控告警、用戶反饋。

將測(cè)試左移、敏捷測(cè)試、測(cè)試右移結(jié)合,并在軟件開發(fā)過(guò)程中,注重測(cè)試人員與開發(fā)人員的溝通協(xié)作,合理管理缺陷,就是DevOps,也是全程軟件測(cè)試(朱少民老師的《全程軟件測(cè)試》)。

測(cè)試分層

測(cè)試分層(測(cè)試金字塔)

分層測(cè)試體系也叫做測(cè)試金字塔,一共將測(cè)試分為三層,每一程的面積代表了建議該種測(cè)試的量。

最底層,也是建議最大量來(lái)做的是單元測(cè)試。由于單元測(cè)試的運(yùn)行速度快,修復(fù)成本低,在CI中單元測(cè)試是代碼合并強(qiáng)有力的質(zhì)量保障關(guān)卡,所以單元測(cè)試的覆蓋率越高,越能把多數(shù)缺陷扼殺在最初,用最低的成本修復(fù)。

中層,服務(wù)測(cè)試?!胺?wù)測(cè)試”這個(gè)名稱不太表意,測(cè)試金字塔的中層目前有很多人進(jìn)行了各個(gè)方面的解讀,最常見的是說(shuō)中層包含了集成API測(cè)試、web API測(cè)試等。中層的測(cè)試種類非常多,界定也不用太糾結(jié),往往根據(jù)軟件系統(tǒng)的需要,將需要團(tuán)隊(duì)較大量來(lái)維護(hù)的測(cè)試放在這一層。

上層,包含UI測(cè)試、探索性測(cè)試或手動(dòng)測(cè)試。目前UI測(cè)試工具發(fā)展已經(jīng)可以做到UI測(cè)試的持續(xù)維護(hù),所以也有很多人不認(rèn)同UI測(cè)試?yán)^續(xù)處于測(cè)試金字塔頂層。金字塔頂層主要是指發(fā)現(xiàn)缺陷修復(fù)成本高、測(cè)試執(zhí)行慢、結(jié)果反饋慢以及大多數(shù)需要手動(dòng)操作的測(cè)試。敏捷測(cè)試建議盡量減少這種測(cè)試,依靠增加底層和中層的測(cè)試來(lái)減小缺陷的修復(fù)成本,加快測(cè)試反饋時(shí)間。

敏捷測(cè)試四象限

敏捷測(cè)試四象限

Q1: 包含單元測(cè)試、組件測(cè)試、集成測(cè)試等。一般要求采用自動(dòng)化方式,并且根據(jù)測(cè)試分層的理念,應(yīng)該是要覆蓋面最廣,運(yùn)行頻率最高。
Q2: 包含功能測(cè)試、用戶故事測(cè)試等。主要基于實(shí)例,并且采用手動(dòng)+自動(dòng)的方式,保證迭代交付業(yè)務(wù)的功能運(yùn)行正常。
Q3: 包含探索性測(cè)試、可用性測(cè)試,以及用戶驗(yàn)收測(cè)試等。主要采用手動(dòng)的方式,關(guān)注產(chǎn)品在交付功能之外的其他表現(xiàn),注重產(chǎn)品是否完成了業(yè)務(wù)價(jià)值的交付。
Q4: 包含性能測(cè)試、安全測(cè)試以及其他的“非功能性”測(cè)試。一般需要采用專業(yè)的工具,對(duì)產(chǎn)品的功能性之外的方方面面進(jìn)行評(píng)估,根據(jù)不同的產(chǎn)品有不同的要求。

Q1和Q4對(duì)執(zhí)行人員的技術(shù)能力要求比較高,需要一定的代碼能力、計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)和底層實(shí)現(xiàn)理解。
Q2和Q3對(duì)軟件所交付的業(yè)務(wù)價(jià)值比較關(guān)注,也是軟件的Owner關(guān)注比較多的部分。

需要注意的是。敏捷測(cè)試的四象限并不是按照時(shí)間來(lái)排序的,并不是說(shuō)軟件交付的前期Q1的測(cè)試比較多,后期Q4的測(cè)試比較多,而是根據(jù)產(chǎn)品的性質(zhì)和需求,在軟件開發(fā)的各個(gè)階段都按需進(jìn)行。比如有一些產(chǎn)品的性能需求非常高,像一些電商網(wǎng)站,在支付、下單等業(yè)務(wù)上,軟件的性能表現(xiàn)直接影響到功能、業(yè)務(wù),具有非常大的影響力,所以在開發(fā)早期就要關(guān)注Q4的測(cè)試。

根據(jù)敏捷測(cè)試四象限制定測(cè)試策略

制定測(cè)試策略是測(cè)試人員職業(yè)生涯需要一直學(xué)習(xí)與精進(jìn)的技術(shù),需要質(zhì)量維護(hù)、缺陷檢查、保障功能交付和凝聚團(tuán)隊(duì)能力等等各方面的大局觀。

一般來(lái)說(shuō),測(cè)試策略主要圍繞三個(gè)問(wèn)題:what、how、why。即:

1、測(cè)什么
2、怎么測(cè)
3、為什么測(cè)

其中what和how,即測(cè)什么和怎么測(cè)這兩個(gè)問(wèn)題,會(huì)在測(cè)試策略中被重點(diǎn)關(guān)注。

敏捷測(cè)試的測(cè)試策略可以根據(jù)測(cè)試分層體系和測(cè)試四象限的指導(dǎo)來(lái)制定,測(cè)試人員可以借測(cè)試策略在產(chǎn)品開發(fā)之初跟團(tuán)隊(duì)約定質(zhì)量?jī)?nèi)建的團(tuán)隊(duì)公約,由此來(lái)提高團(tuán)隊(duì)的質(zhì)量?jī)?nèi)建意識(shí),提高軟件交付質(zhì)量。

簡(jiǎn)單的測(cè)試策略中應(yīng)包括以下測(cè)試級(jí)別:

1、單元測(cè)試(完成人、使用工具、覆蓋面要求、運(yùn)行頻率要求)
2、接口測(cè)試(完成人、使用工具、覆蓋面要求)
3、回歸測(cè)試(完成人、運(yùn)行時(shí)間、運(yùn)行頻率、回歸測(cè)試列表維護(hù))
4、探索性測(cè)試(完成人、運(yùn)行環(huán)境、測(cè)試時(shí)間、覆蓋范圍)
5、驗(yàn)收測(cè)試(完成人、測(cè)試時(shí)間、通過(guò)標(biāo)準(zhǔn))
6、性能測(cè)試(完成人、性能指標(biāo)、工具、測(cè)試頻率)
7、冒煙測(cè)試(完成人、測(cè)試運(yùn)行時(shí)長(zhǎng)、通過(guò)標(biāo)準(zhǔn)、測(cè)試內(nèi)容)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容