用敏捷測(cè)試象限來(lái)打造你的無(wú)敵艦隊(duì)

敏捷測(cè)試象限基于Brain Marick在2003年創(chuàng)立的矩陣,測(cè)試專家Lisa Chrispin & Janet Gregory在《敏捷軟件測(cè)試:測(cè)試人員與敏捷團(tuán)隊(duì)的實(shí)踐指南》一書(shū)中進(jìn)行了更新,最新的矩陣中將測(cè)試技術(shù)劃分到Q1~Q4四個(gè)象限中。

Q1:面向技術(shù)的、支持項(xiàng)目團(tuán)隊(duì)的自動(dòng)化測(cè)試,例如單元測(cè)試、組件測(cè)試等。
Q2:面向商業(yè)的、支持項(xiàng)目團(tuán)隊(duì)的自動(dòng)化和手工測(cè)試,包括功能測(cè)試、樣例、用戶故事測(cè)試、原型、模擬等。
Q3:面向商業(yè)的、考驗(yàn)產(chǎn)品的手工測(cè)試,包括探索式測(cè)試,情景測(cè)試、可用性測(cè)試、用戶驗(yàn)收測(cè)試、Alpha測(cè)試及Beta測(cè)試等。
Q4:面向技術(shù)的、考驗(yàn)產(chǎn)品的、使用工具的測(cè)試,例如性能測(cè)試、負(fù)載測(cè)試、安全性測(cè)試、質(zhì)量特性測(cè)試等。
敏捷測(cè)試象限.jpg

象限矩陣的左側(cè)一欄是關(guān)于在編碼前和編碼中預(yù)防缺陷的,而右側(cè)一欄是關(guān)于找缺陷和發(fā)展特性缺失的,但我們都希望盡快找到它們。

象限一

左下方的象限代表測(cè)試驅(qū)動(dòng)開(kāi)發(fā),是一個(gè)核心的敏捷開(kāi)發(fā)實(shí)踐。

單元測(cè)試驗(yàn)證系統(tǒng)的一小部分的功能,例如一個(gè)對(duì)象或方法。組件測(cè)試驗(yàn)證系統(tǒng)的一大部分的行為,例如提供某些服務(wù)的一組類[Meszaros,2007]。所有這兩類測(cè)試一般都使用自動(dòng)化工具的xUint家族的一個(gè)成員進(jìn)行自動(dòng)化。這些測(cè)試被認(rèn)為是程序員測(cè)試、面向開(kāi)發(fā)人員的測(cè)試或者面向技術(shù)的測(cè)試。程序員使用它們確保Kent Beck所謂的代碼的內(nèi)部質(zhì)量[Beck,1999]。

象限一的測(cè)試的主要目的是測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)或者測(cè)試驅(qū)動(dòng)設(shè)計(jì)。首先編寫(xiě)測(cè)試的過(guò)程幫助程序員更好的設(shè)計(jì)代碼。通過(guò)這些測(cè)試,程序員可以自行的編寫(xiě)代碼來(lái)實(shí)現(xiàn)用戶故事的功能,而不用擔(dān)心對(duì)系統(tǒng)引入意外的改變。這些測(cè)試可以驗(yàn)證他們的設(shè)計(jì)和架構(gòu)決定是否恰當(dāng)?shù)?。單元測(cè)試和組件測(cè)試是自動(dòng)化的,使用與應(yīng)用相同的編程語(yǔ)言編碼。業(yè)務(wù)專家不能通過(guò)直接閱讀而理解他們,但是這些測(cè)試不是打算讓客戶使用的。實(shí)際上,內(nèi)部質(zhì)量不是通過(guò)客戶判斷的,而是由程序員定義。程序員測(cè)試通暢是自動(dòng)化過(guò)程的一部分,在每次代碼導(dǎo)入的時(shí)候運(yùn)行,即時(shí)的持續(xù)的向團(tuán)隊(duì)反饋內(nèi)部質(zhì)量。

象限二

象限二的測(cè)試也是支持開(kāi)發(fā)團(tuán)隊(duì)的工作,但是是在一個(gè)更高的層次上。這些面向業(yè)務(wù)的測(cè)試也叫做面向客戶的測(cè)試或者客戶測(cè)試,他們確定外部質(zhì)量和客戶需要的功能。

像象限一中的測(cè)試那樣,他們也是驅(qū)動(dòng)開(kāi)發(fā),但是是在一個(gè)更高的層次上。在敏捷開(kāi)發(fā)中,這些測(cè)試來(lái)源于客戶團(tuán)隊(duì)提供的實(shí)例。他們描述每個(gè)用戶故事的細(xì)節(jié)。面向業(yè)務(wù)的測(cè)試在功能層運(yùn)行,每個(gè)測(cè)試驗(yàn)證一個(gè)業(yè)務(wù)滿足條件。他們使用業(yè)務(wù)領(lǐng)域語(yǔ)言以一種業(yè)務(wù)專家可以容易理解的方式編寫(xiě)。實(shí)際上,業(yè)務(wù)專家使用這些測(cè)試來(lái)確定產(chǎn)品的外部質(zhì)量并幫助他們。這個(gè)象限可能與單元級(jí)別完成的某些測(cè)試重復(fù)。但象限二的測(cè)試是面向?qū)嵗f(shuō)明的,并在一個(gè)更高的層次確認(rèn)期望的系統(tǒng)行為。

  1. 評(píng)價(jià)產(chǎn)品的測(cè)試

如果你曾經(jīng)是客戶,需要描述軟件功能的需求,那么應(yīng)該知道知道看到軟件才能確切的知道需要什么是多么的痛苦。即使你對(duì)功能應(yīng)該如何工作很有信心,描述它使程序員完全理解也是很困難的。

單詞“評(píng)價(jià)”不是否定的意思。評(píng)價(jià)可以包括贊揚(yáng)和改進(jìn)建議。評(píng)價(jià)軟件產(chǎn)品需要藝術(shù)性和科學(xué)性。我們以建設(shè)性的方式評(píng)論軟件,目的是研究我們?nèi)绾稳绾胃倪M(jìn)它。通過(guò)研究,我們可以提出新的需求和測(cè)試或者實(shí)例來(lái)支持團(tuán)隊(duì)和指導(dǎo)開(kāi)發(fā)。

象限三

面向業(yè)務(wù)的實(shí)例幫助團(tuán)隊(duì)設(shè)計(jì)期望的產(chǎn)品,但是至少我們的某些實(shí)例可能是錯(cuò)誤的。業(yè)務(wù)專家可能遺漏了某些功能,或者如果該功能不是他們的技術(shù)領(lǐng)域的,而沒(méi)有正確的了解這個(gè)功能。團(tuán)隊(duì)可能至少誤解了某些實(shí)例。即使程序員變形的代碼可以使面向業(yè)務(wù)的測(cè)試通過(guò),他們也可能沒(méi)有產(chǎn)生客戶真正想要的東西。

這就是使用第三象限和第四象限中的評(píng)價(jià)產(chǎn)品的測(cè)試的地方。象限三屬于面向業(yè)務(wù)的測(cè)試,這些測(cè)試使用運(yùn)行的軟件來(lái)查看它是否沒(méi)有達(dá)到期望或能否對(duì)抗競(jìng)爭(zhēng)。當(dāng)通過(guò)面向業(yè)務(wù)的測(cè)試來(lái)評(píng)價(jià)產(chǎn)品時(shí),要盡力模仿真正用戶使用應(yīng)用的方式。這是只有人類可以從事的手動(dòng)測(cè)試??赡苁褂媚承┳詣?dòng)化腳本來(lái)幫助配置需要的數(shù)據(jù),但是需要憑我們的感覺(jué)、我們的大腦和直覺(jué)來(lái)檢查開(kāi)發(fā)團(tuán)隊(duì)是否交付了客戶需要的業(yè)務(wù)價(jià)值。

可用性測(cè)試是本身具有完整的理論的一類測(cè)試的示例??梢砸虢裹c(diǎn)小組,在他們使用應(yīng)用的時(shí)候研究它,并與他們交談以獲取他們的反應(yīng)??捎眯詼y(cè)試也可以包括頁(yè)面間的切換或者甚至是像Tab鍵順心這樣的簡(jiǎn)單功能。了解人們?nèi)绾问褂孟到y(tǒng)是測(cè)試可用性時(shí)的優(yōu)勢(shì)。

探索測(cè)試是這個(gè)象限的重點(diǎn)。在探索測(cè)試階段,測(cè)試人員同時(shí)設(shè)計(jì)和執(zhí)行測(cè)試,使用評(píng)論的思想來(lái)分析結(jié)果。這比腳本測(cè)試提供了研究應(yīng)用的更好的機(jī)會(huì)。這不是即興、簡(jiǎn)易的隨機(jī)測(cè)試。探索測(cè)試是比隨機(jī)測(cè)試更深思熟慮的方式。它通過(guò)策略和確定現(xiàn)在的動(dòng)作來(lái)指導(dǎo)。在每個(gè)項(xiàng)目和用戶故事的開(kāi)始,測(cè)試人員開(kāi)始思考需要嘗試的場(chǎng)景。在有了一小部分可以測(cè)試的代碼后,測(cè)試人員分析測(cè)試結(jié)果,并隨著他們的了解,發(fā)現(xiàn)新的探索的領(lǐng)域。探索測(cè)試使用最終用戶操作系統(tǒng)的方式。測(cè)試人員使用他們的創(chuàng)造性和直覺(jué)。結(jié)果,許多嚴(yán)重的缺陷通過(guò)這種類型的測(cè)試被發(fā)現(xiàn)。

象限四

第四象限中的測(cè)試類型對(duì)敏捷開(kāi)發(fā)和對(duì)許多其他類型的軟件開(kāi)發(fā)一樣重要。這些測(cè)試的目的是面向技術(shù)的,我們使用技術(shù)而不是業(yè)務(wù)來(lái)討論它們。象限四的面向技術(shù)的測(cè)試的目的是評(píng)價(jià)產(chǎn)品的性能、健壯性和安全性等特性。


2014年開(kāi)始,IT技術(shù)上已經(jīng)產(chǎn)生非常巨大的變化,持續(xù)交付,DevOPs,大數(shù)據(jù)分析,精益創(chuàng)業(yè)交付和探索式測(cè)試已經(jīng)廣為流行,最近甚至聽(tīng)到AI測(cè)試被頻繁談?wù)?,是時(shí)候?qū)@個(gè)象限進(jìn)行一些修整了。

Gojko Adzic,一名作家和軟件交付戰(zhàn)略顧問(wèn),更新了此象限。使其看起來(lái)現(xiàn)在類似以下的模樣:

敏捷測(cè)試象限Gojko Adzic版.jpg

更多的革新往往發(fā)生在這個(gè)模型的第二坐標(biāo)軸:差異在于尋找預(yù)期結(jié)果還是分析未知結(jié)果,不定義是/否的問(wèn)題,這些結(jié)果需要分析解析的能力。

安全性關(guān)注點(diǎn)會(huì)集中于針對(duì)加密,數(shù)據(jù)保護(hù),認(rèn)證等合規(guī)性的功能測(cè)試(預(yù)知結(jié)果),和滲透或調(diào)查(未預(yù)先定義的)。這樣,交付團(tuán)隊(duì)和業(yè)務(wù)贊助商可以更好的圍繞功能性的安全部分展開(kāi)討論。

性能關(guān)注點(diǎn)可劃分為通過(guò)運(yùn)行業(yè)務(wù)場(chǎng)景來(lái)證明雙方協(xié)定的服務(wù)水平和能力,持續(xù)交付方式(預(yù)知結(jié)果)和負(fù)載測(cè)試(未知拐點(diǎn))。

敏捷測(cè)試象限實(shí)際是從項(xiàng)目的各個(gè)方面和各個(gè)層級(jí)上對(duì)測(cè)試需要觸碰到的點(diǎn)進(jìn)行了一個(gè)分類,按照Michael Huttermann的話來(lái)說(shuō),他在所有象限的中心增加了“由外而內(nèi),無(wú)障礙,協(xié)作”的標(biāo)簽。

比如BDD作為無(wú)障礙測(cè)試的示例,可以用自然語(yǔ)言“Given_when_Then”的方式來(lái)編寫(xiě)測(cè)試或者進(jìn)行測(cè)試用例的設(shè)計(jì)。這樣不僅便于和開(kāi)發(fā)人員之間的溝通交流,也方便和客戶進(jìn)行交流,同時(shí)更方便于邀請(qǐng)業(yè)務(wù)團(tuán)隊(duì)與交付團(tuán)隊(duì)之間進(jìn)行交流。

總體來(lái)說(shuō),以上的敏捷測(cè)試象限圖都僅僅是一個(gè)分類或者模型,在實(shí)際運(yùn)用中,你可以按照自己項(xiàng)目的背景或者當(dāng)時(shí)的情況參照此象限圖來(lái)打造你的測(cè)試堡壘和無(wú)敵艦隊(duì)。

四象限.jpg
最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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