偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

測試策略是什么?在團隊開發(fā)過程中如何落地?

開發(fā) 前端
業(yè)務(wù)體量大=業(yè)務(wù)質(zhì)量要求高,并且一定已經(jīng)有了一些基礎(chǔ)測試體系,新啟動,代表有新功能新特性甚至新產(chǎn)品新業(yè)務(wù)模式出現(xiàn)。戰(zhàn)略項目說明重要程度,也代表了對質(zhì)量、效率(交付進度)的高標準要求。

一、測試策略是什么?

引自查字典:

策略:

基本含義:指為達到某種目的而制定的行動方案或計劃。

詳細解釋:策略是指在特定情況下為達到某種目的而采取的有系統(tǒng)性的行動方案或計劃。它通常包括分析、決策和執(zhí)行三個階段。策略的制定需要綜合考慮各種因素,包括目標、資源、環(huán)境和競爭等。策略的好壞直接關(guān)系到目標的實現(xiàn)效果。

策略是為目的/目標服務(wù)的,且策略是自帶背景/特定情況的,一定要識別到背景形勢的發(fā)展和變化,然后才能制定針對性的謀略、計策。

測試策略有兩層背景疊加:業(yè)務(wù)大背景和項目小背景。下文提到的測試策略有時指代業(yè)務(wù)級測試策略,有時指代項目級測試策略,如果無特指強調(diào),則是在探討兩類測試策略的共同特點。

1.1 什么前提下開始探討測試策略呢?

當你有多種測試方案時。如果你只有一個測試方案一條路,那就沒什么選擇余地;只有當多種測試方案都滿足基本要求,但又各有優(yōu)劣時,才會涉及到如何選擇、取舍。每一次的選擇取舍,抽象出的方法論,就是策略。就像棋類大師在每一步棋的選擇上各有理由,但背后都有著同一套分析和決策思路,那套思路就是策略。

1.2 什么時候迫切需要測試策略呢?

當你的測試方案差異比較大的時候。測試方案有三個方向的指標:質(zhì)量、效率、成本,這三者同時也是一個不可能三角:

質(zhì)量,先結(jié)合業(yè)務(wù)發(fā)展和研發(fā)模式綜合制定質(zhì)量標準,再以多維度指標衡量質(zhì)量結(jié)果。(敲黑板:質(zhì)量是被定義出來的。)

效率和成本,要放在人工和機器兩個視角下同時看:

效率通常以項目為衡量單位,即人工效率和機器執(zhí)行效率雙重影響下的項目交付/發(fā)布效率。除此之外,效率也包括了自動化研發(fā)效率、自動化運行效率、協(xié)同效率等局部效率。

成本則包括了項目內(nèi)成本和項目外成本,效率驅(qū)動下,質(zhì)量同學(xué)大多會追求自動化率,自動化率就體現(xiàn)了項目內(nèi)成本從人工轉(zhuǎn)化到機器的程度。從人成本看,項目外的成本主要是平臺工具的開發(fā)運維投入,這部分成本會大幅高于單次項目使用時的人力成本,從機器成本看,則涉及多次多方使用的平攤,追求環(huán)境利用率也就是盡可能攤薄單次使用成本。另外,成本還有時間因素,初期建設(shè)成本要在后面多次使用中逐步攤平。大家吐槽的重復(fù)造輪子,問題不是輪子不好用,而是反復(fù)付出的建設(shè)成本和使用者的學(xué)習(xí)成本太多。

圖片圖片

不可能三角的相互影響舉例:

1)提升質(zhì)量=>提高測試覆蓋率=>增加測試點,其他條件相同情況下,會導(dǎo)致效率降低,增加成本

2)提升效率=>提升執(zhí)行效率=>提升自動化程度,其他條件相同情況下,會導(dǎo)致項目外的自動化建設(shè)成本增加。

3)降低成本=>降低人成本或降低機器成本,兩種方式通常都會對質(zhì)量產(chǎn)生負向影響,效率有可能提升也可能下降。

以上例子可以看到,三角的任一角正向提升時,都對另外一角或兩角產(chǎn)生了負向影響,工作中,我們需要讓三角關(guān)系處于平衡狀態(tài),每一角的表現(xiàn)都保持在可接受范圍。

綜上,當你具備多種測試方案/路徑,且他們的質(zhì)量、效率、成本三角指標表現(xiàn)差異明顯時,你需要分析并決策測試策略,使三角保持在適當?shù)钠胶鈶B(tài)。

1.3 測試策略和測試方案的關(guān)系是怎樣的?

前文提到,測試策略是用來選擇測試方案的,那么是現(xiàn)有測試方案,再抽象出選擇原則作為測試策略?還是先有測試策略,再生成測試方案?

我們先把測試策略和測試方案拆分到業(yè)務(wù)級和項目級兩個語境之下,探討業(yè)務(wù)級測試策略、業(yè)務(wù)級測試方案(業(yè)務(wù)級測試方案這個概念不常用,可以等同于日常工作中講的業(yè)務(wù)質(zhì)量體系)、項目級測試策略、項目級測試方案四者的關(guān)系。

以我的個人經(jīng)驗來看,在新業(yè)務(wù)(新產(chǎn)品或新技術(shù)棧)初始期、發(fā)展期、成熟期:這四者的關(guān)系分別對應(yīng)下面三張圖:

圖片圖片

圖片圖片

如果是成熟質(zhì)量團隊承接新業(yè)務(wù),就可以直接進入下圖四象限循環(huán)、螺旋式上升狀態(tài)。這也是大公司在新開業(yè)務(wù)時,都會主動調(diào)撥一些經(jīng)驗豐富同學(xué)的原因,這時候,個體經(jīng)驗需要從項目抽象到業(yè)務(wù),從測試方案抽象到測試策略,才能更快的做遷移復(fù)用。

圖片圖片

小結(jié):測試策略是測試方案的抽象,測試策略又指導(dǎo)了測試方案的具象化。兩者就是雞生蛋,蛋生雞的關(guān)系。    

1.4 測試策略的要素包括哪些?

測試策略包括的維度很廣,核心要素是測什么:即測試范圍、測試目標;向內(nèi)細分怎么測,即測試工作的時空分布,什么時候,以什么測試方法測;向外要求測試基礎(chǔ)設(shè)施支撐:環(huán)境、工具、數(shù)據(jù);

測什么、怎么測、測試基礎(chǔ)設(shè)施支撐、這三個要素都和質(zhì)量、效率、成本三目標有相關(guān)性,但側(cè)重點有所區(qū)分:測什么和質(zhì)量強相關(guān),怎么測,目標是為了質(zhì)量,同時也影響了效率成本的表現(xiàn)。測試基礎(chǔ)設(shè)施則同時關(guān)聯(lián)三個維度,能不能測(質(zhì)量),測的快不快(效率),測的費不費勁(成本)。

說到這,測試策略的全景就呼之欲出了:

先從質(zhì)量維度,定義測什么(測試范圍、測試目標),同時也就定義了不測什么(極端異常測不測?用戶體驗是不是目標?)質(zhì)量維度要求越高,測試范圍越大,測試目標越高。放在業(yè)務(wù)背景下:如金融業(yè)務(wù)和搜索業(yè)務(wù)相比,質(zhì)量要求高,測試覆蓋率要求高,測試精準度要求也更高。

從質(zhì)量目標和當下能力確定怎么測(從多種方案中選擇)之后,再從效率成本角度,進行平衡評估。同樣考慮到背景信息:如果當下業(yè)務(wù)對效率要求更高,那么可以增大成本提高并發(fā)執(zhí)行效率,如果成本有上限,那么為了效率可以對質(zhì)量目標打一點小折扣,或者為了質(zhì)量可以接受一定程度的低效率,把三者調(diào)整成符合業(yè)務(wù)需求的平衡狀態(tài)。

測試基礎(chǔ)設(shè)施呢?測試基礎(chǔ)設(shè)施為了同時支撐質(zhì)量效率成本三目標,以技術(shù)的方式,綜合提升三目標的整體表現(xiàn),即用技術(shù)做到:質(zhì)量更好,效率更高,同時成本持平甚至更低。這也是為什么對測試團隊考核時,測試工程能力的權(quán)重會日益增加。就是因為靠人只能做到三目標的相對平衡,靠工程(測試基礎(chǔ)設(shè)施)才能做到三目標絕對總分的提升。

細心的同學(xué)可能會看出,三角指標中,我總是會把質(zhì)量放在最前面。因為質(zhì)量是測試的首要職責(zé),是測試工作存在的基礎(chǔ)前提。也更因為質(zhì)量是業(yè)務(wù)存活以及發(fā)展的前提。大家日??赡軙虏壅f某某團隊不重視質(zhì)量,仔細回想下,這個團隊能接受質(zhì)量極差,天天故障的狀態(tài)嗎?不可能的。換句話說,有什么業(yè)務(wù)會嫌棄質(zhì)量太好嗎?。。。如果你感知到你的主管或業(yè)務(wù)方對質(zhì)量的要求不高,和你標準不一致,可以細細分析下,是不是高質(zhì)量標準帶來的效率、成本,有點拖后腿了?如果我們能解決效率成本問題,高質(zhì)量絕對是我們的一貫追求。所以在三角指標中,我會把質(zhì)量放在引領(lǐng)地位。

最后,測試策略還有一個非常重要的要素:組織協(xié)同:什么角色測,其他角色如何協(xié)作。

可能有讀者看到“什么角色測”,會覺得多此一問:不就是因為測試人員負責(zé)測試,我們才來探討測試策略么?這個問題的答案太顯而易見了吧。注意,如果有這種想法,可以把此處作為一個提醒,要先練習(xí)跳出測試角色看測試工作。

業(yè)務(wù)級測試策略是為業(yè)務(wù)服務(wù)的,項目級測試策略是為項目服務(wù)的。既然測試策略是服務(wù)于業(yè)務(wù)、項目的,那么所有業(yè)務(wù)、項目的干系人,都有責(zé)任和義務(wù)支持最優(yōu)的測試策略落地應(yīng)用,那么“什么角色測”,取決于各角色知識、技能、工作流程的最優(yōu)匹配,而不應(yīng)被已有分工所限定。

比如單元測試,為什么通常是開發(fā)在測?不是因為測試做不了單元測試,而是測試負責(zé)單元測試的信息成本太高(開發(fā)寫代碼自然知道代碼的設(shè)計細節(jié),而測試需要額外付出了解成本)。

再比如為什么要有pd/業(yè)務(wù)驗收環(huán)節(jié)?是因為驗收過程不僅能驗證產(chǎn)品實現(xiàn)是否符合prd設(shè)計,還能兼顧prd沒有覆蓋的用戶體驗部分,pd/業(yè)務(wù)在這方面也比技術(shù)角色更擅長。

最后還有開發(fā)自測項目這個經(jīng)典場景。我個人始終如一的支持部分項目由開發(fā)自測,原因是,對于改動小,風(fēng)險小的項目,開發(fā)、測試完全能夠達成一致的質(zhì)量結(jié)果,且如果測試方法明確,測試工具易用,開發(fā)也能夠做到和測試持平的效率表現(xiàn),兩角表現(xiàn)相等情況下,開發(fā)還能夠節(jié)省一份溝通協(xié)作成本(類似單元測試,節(jié)省自我溝通成本),那么這部分協(xié)作成本就是開發(fā)自測在不可能三角的正向收益。那么什么樣的項目不適合開發(fā)自測?從上文可以看出,適合的項目前提是兩個角色在質(zhì)量、效率表現(xiàn)相同,如果這個前提被打破(由于崗位職責(zé)、專業(yè)能力差異,測試比開發(fā)表現(xiàn)更優(yōu)),這類項目就需要做取舍:成本的正向收益 Vs 質(zhì)量效率的負向收益。這也就是為什么:復(fù)雜、大體量業(yè)務(wù)中只有部分項目能夠開發(fā)自測,高風(fēng)險項目一定需要專職測試團隊承接。(有些外部公司據(jù)說是沒有專職測試團隊的,那么需要確認業(yè)務(wù)風(fēng)險類型,以及是否有專職保障此類風(fēng)險的團隊。)

小結(jié):測試策略的四大要素:測什么,怎么測,測試基礎(chǔ)設(shè)施支撐,組織協(xié)同,共同服務(wù)業(yè)務(wù)、項目的三角指標(質(zhì)量、效率、成本)

二、測試策略背后的boss:三角指標

2.1 測試策略如何保持三角平衡?

既然測試策略是服務(wù)于三角指標,那么三角指標的整體表現(xiàn)就是測試策略的評價標準。好的測試策略能做到三角表現(xiàn)平衡,特別是業(yè)務(wù)級測試策略,它能持續(xù)作用于業(yè)務(wù)發(fā)展各階段,跨越周期更長。在這個過程中,外部壓力或內(nèi)部發(fā)展變化都會擾動三角的平衡態(tài)。我們要做的是先感知到失衡,并且判斷具體失衡位置和程度,再通過測試策略進行調(diào)整,回歸平衡。

質(zhì)量維度:如果線上出現(xiàn)重大質(zhì)量問題,即質(zhì)量表現(xiàn)嚴重偏離預(yù)期時,需要以質(zhì)量為牽引,先要讓質(zhì)量回歸到穩(wěn)定態(tài),這時候通常組織會投入更多成本(包括不限于人、組織、機器資源),不論是手工測試還是自動化測試,都以增加質(zhì)量覆蓋率為目的,同時容忍效率的降低。

效率維度:當研發(fā)效率或業(yè)務(wù)發(fā)布效率被頻繁提及時,說明效率維度偏離了組織預(yù)期,可能是預(yù)期提高了,也可能是效率表現(xiàn)降低了,在重新明確效率預(yù)期后,不可能三角要圍繞效率做再平衡。這時候先通過增加成本,即增加人或機器的并發(fā)工作來提高執(zhí)行效率,如果還不能達到要求,則需慎重考慮質(zhì)量預(yù)期是否可調(diào),以減少執(zhí)行時間,提高效率。注意,如果要下調(diào)質(zhì)量預(yù)期,一定要得在所有角色層面達成一致。

成本維度:如果質(zhì)量效率都表現(xiàn)ok,成本就是默認的內(nèi)在驅(qū)動力。由于成本可以細分為人、機器兩個視角,組織期望降低人成本或降低機器成本時,都需要調(diào)整測試策略,進行再平衡。

總結(jié)來說,當組織內(nèi)部的聲音開始在三角的某一角上逐步聚集時,特別是有一些badcase出現(xiàn)時,就說明三角開始失衡,需要我們主動去做再平衡。而再平衡的策略也很簡單:質(zhì)量優(yōu)先,效率其次,最后由成本作為持續(xù)驅(qū)動。

還有一個反向小技巧:如果在某一個角上頻繁獲獎或獲得高度評價,說明此處表現(xiàn)已經(jīng)顯著超出預(yù)期,需要適當多考慮一下其他兩個角。

2.2 不可能三角真的不可能嗎?

三角指標真的不可能一起提升嗎?其實從前面分析已經(jīng)提供了線索:技術(shù)。只有通過技術(shù)創(chuàng)新,才有可能整體性提升質(zhì)量、效率、成本表現(xiàn)。技術(shù)的成本收益的規(guī)律如圖所示:

圖片圖片

新技術(shù)在初期付出研發(fā)成本,在后期應(yīng)用時收回收益,質(zhì)量領(lǐng)域的技術(shù)不論是質(zhì)量收益(不可測變可測),還是效率收益(同等交付下效率更快),都遵循上述投入、回本、持續(xù)收益三大階段的規(guī)律,如果我們能到持續(xù)收益期,那么不可能三角就可以全局性提升。如何在長周期變化情況下,選擇正確的技術(shù)方案,在未來的某日能夠通過質(zhì)量效率收益收回技術(shù)投入成本,進入持續(xù)收益期,這就是測試負責(zé)人的終極考驗。反之,如果技術(shù)無用或技術(shù)本身投入或維護成本過大,要么平白增加投入成本,要么回收期就會很長,而且很可能碰到業(yè)務(wù)變化,等不到回本的那一天。

從上圖可以看出:成本相比質(zhì)量效率,需要更長的周期才能全面衡量,同時成本有項目內(nèi)和項目外兩種成本(類似表內(nèi)和表外),最典型的測試工具平臺開發(fā)、技術(shù)架構(gòu)改造,這類工作有時會包含在某一個業(yè)務(wù)項目內(nèi)完成,有時獨立為技術(shù)項目自運作,更多時候,這類成本會散落在項目間隙中,比如工具維護,排查,答疑等等。

對于測試負責(zé)人,除了關(guān)注項目內(nèi)成本,更要關(guān)注整體性成本。一是長周期下收益的變化,一些技術(shù)效果會逐步腐化削弱,是否還能提供足夠的收益沖抵成本,需要持續(xù)關(guān)注,二是成本積累效應(yīng),散落成本會隨時間逐步積累到一定規(guī)模,要考慮歷史積累到現(xiàn)在的維護成本,組織是否還能支撐。

2.3 有沒有成本減少后,質(zhì)量效率降低的情況?

這種情況可接受嗎?

有。

舉兩個質(zhì)量表現(xiàn)降低的例子:一種情況是某種原因?qū)е聹y試投入被動減少(比如出現(xiàn)測試人員離職轉(zhuǎn)崗),線上問題有增加,但沒有出嚴重故障。另一種情況是業(yè)務(wù)發(fā)生變化,如業(yè)務(wù)量下降,線上問題的嚴重程度下降,組織主動減少了測試投入,線上問題有增加。這兩種情況都出現(xiàn)了投入成本的降低和質(zhì)量表現(xiàn)的下降,唯一區(qū)別是因果順序,主動被動之分),兩種情況的共同點是,質(zhì)量表現(xiàn)仍在業(yè)務(wù)允許范圍內(nèi)。請注意:質(zhì)量指標是多維度指標,問題數(shù)量、問題影響面(時長、用戶量)、問題對客表現(xiàn)等質(zhì)量子指標都是獨立變動的。如果有某個質(zhì)量子指標下降時,就需要考慮這個子指標對全局質(zhì)量影響的權(quán)重,以及具體下降程度,來判斷質(zhì)量整體表現(xiàn)是否可接受。畢竟我們的質(zhì)量表現(xiàn)不是每天都在生死存亡線上勉強維持,所以總有一部分空間是可以接受波動的。這個話題更適合總結(jié)為“業(yè)務(wù)質(zhì)量標準制定”, 本文不做過多展開。

成本降低時,如果原本資源就很緊張,那效率一定會體現(xiàn)出降低,而且更容易體現(xiàn)在主觀體感上:不論是投訴測試太慢的聲音變多,或是測試排期開始變得困難,或是大家感覺測試周期比預(yù)期長了,這些都是短期效率下降的信號。注意:主觀體感和客觀指標的差異在于,主觀體感對個別異常case會感受強烈,放大短期表現(xiàn),而客觀指標觀察的是一段時間周期內(nèi)的均值表現(xiàn),通常不會劇烈變化,如發(fā)布周期、測試周期、回歸周期、測試開發(fā)周期比等指標,也就更適合做中長期評價。那么短期效率表現(xiàn)降低時,是否一定要解決呢?是否一定要補充資源(增加投入成本)來解決呢?我個人的思路是,先觀察分析當下成本結(jié)構(gòu)(人、機器)和效率要求的沖突點在哪里,未來發(fā)展趨勢是什么,是短期波動還是長期影響,客觀效率指標變化趨勢如何,整體效率表現(xiàn)(主觀+客觀)是否仍在大組織可接受范圍內(nèi),再決策是否解決以及如何解決。對解決方法的探討更適合總結(jié)為“測試模式與測試梯隊能力建設(shè)”,本文也不做過多展開。

從以上的探討可以看出,對質(zhì)量、效率來說,都沒有絕對客觀的衡量標準,即使各個維度都有客觀指標,最終也需要有一個主觀定義的目標值。而目標值的設(shè)定和業(yè)務(wù)發(fā)展、組織要求息息相關(guān),有時還要參考同行表現(xiàn),以保持團隊競爭力。

三、測試策略怎么落地?

就像把大象關(guān)進冰箱一樣,三個步驟:

1.打開冰箱門=瞄準目標:確定三角指標的具體衡量指標和目標值。這一步是在制定質(zhì)量標準、團隊kpi/OKR時就應(yīng)該已經(jīng)完成的。重點是冰箱(業(yè)務(wù))本身。

2.評估測試策略在三角指標的表現(xiàn)。這個步驟就是“把大象放進去”,即問題的本質(zhì)步驟。上文講了很多測試策略和三角指標的聯(lián)動關(guān)系、觀測信號、調(diào)優(yōu)方式等,但每個測試策略的實際表現(xiàn)必須放在具體的業(yè)務(wù)、技術(shù)、團隊中衡量,即對應(yīng)到具體的大象、冰箱實例場景中。

3.選擇匹配度最高的測試策略。像關(guān)冰箱門一樣簡單直接。如果這一步?jīng)]法對比匹配度,請回到上一步。

舉幾個場景:

1. 大體量業(yè)務(wù)上新啟動了一個戰(zhàn)略項目,如何制定項目級測試策略?

先解題,幾個關(guān)鍵詞:大體量、新、戰(zhàn)略項目。

業(yè)務(wù)體量大=業(yè)務(wù)質(zhì)量要求高,并且一定已經(jīng)有了一些基礎(chǔ)測試體系,新啟動,代表有新功能新特性甚至新產(chǎn)品新業(yè)務(wù)模式出現(xiàn)。戰(zhàn)略項目說明重要程度,也代表了對質(zhì)量、效率(交付進度)的高標準要求。

接下來就是先明確項目質(zhì)量目標和發(fā)布時間目標,再參考目前團隊人員,初步判斷是否能以現(xiàn)行業(yè)務(wù)級測試策略支撐。如果新功能部分所需要的人員技能是目前人員技能無法支撐的,那么招聘、借調(diào)、培訓(xùn)都需要盡快做起來,如果以現(xiàn)有人員配置能夠支撐質(zhì)量工作,但效率目標和質(zhì)量目標有沖突,那么一定要確認成本、效率、質(zhì)量三角權(quán)重關(guān)系。對戰(zhàn)略項目而言,優(yōu)選增加成本投入,保障質(zhì)量效率目標,其次選擇微調(diào)質(zhì)量或效率目標。微調(diào)質(zhì)量效率目標都需要以質(zhì)量為key:按照功能或按照質(zhì)量風(fēng)險的表現(xiàn)型,區(qū)分出重大風(fēng)險和小風(fēng)險,優(yōu)先保障重大風(fēng)險,小風(fēng)險則可以進行風(fēng)險報備、風(fēng)險緩釋(灰度觀察)、延后保障(發(fā)布后補測)等。

實際上,戰(zhàn)略項目的重要程度,通常值得團隊做一些前置工作,比如在開發(fā)階段同步做自動化測試用例開發(fā),或提前開發(fā)測試工具,都可以提升測試階段的執(zhí)行效率。本質(zhì)是把一部分測試階段的工作量折疊到開發(fā)階段同步進行,減小測試階段質(zhì)量效率目標的沖突程度。

2. 新啟動的業(yè)務(wù),如何制定初始期業(yè)務(wù)級測試策略?

新啟動業(yè)務(wù),如果完全沒有可繼承的三角目標、標準、質(zhì)量體系積累,甚至團隊都還在組建過程,那么先恭喜你,這是一個沒有技術(shù)負債的場景。沒有歷史包袱,就大膽的追求完美吧!

首先基于業(yè)務(wù)形態(tài),分析業(yè)務(wù)質(zhì)量表現(xiàn)維度,定義指標和目標值,可以參考同類業(yè)務(wù)的現(xiàn)行指標和目標值,然后和業(yè)務(wù)、研發(fā)團隊探討業(yè)務(wù)研發(fā)模式,確定效率目標,如項目制、班車制、獨立發(fā)布or全局發(fā)布。最后參考技術(shù)棧和業(yè)務(wù)經(jīng)驗兩類能力要求搭建測試梯隊。

定好了目標,就在實踐中進行迭代優(yōu)化。每一個項目的測試方案都是我們迭代的基礎(chǔ),每一個bug都是我們優(yōu)化的線索。項目測試方案不僅是為了保障單個項目,還要在項目后復(fù)盤總結(jié)測試方案的優(yōu)劣,從質(zhì)量、效率、成本三個角度綜合評價。漏測指標是質(zhì)量的抓手,重復(fù)性的工作量是效率的抓手,測試方案優(yōu)化后也不僅是用于當下的項目測試,還可以用過往的項目做回溯分析,時刻記住,除了當下的項目,更重要是面向未來交付業(yè)務(wù)級測試策略。參考業(yè)務(wù)復(fù)雜度和人員經(jīng)驗,一般3-6個月內(nèi)就可以完成初版業(yè)務(wù)測試策略了。

3. 成熟業(yè)務(wù)順利運轉(zhuǎn)中,如何定期刷新業(yè)務(wù)級測試策略?

既然是成熟業(yè)務(wù),潛臺詞是目前三角表現(xiàn)平衡,那么此時需要分析未來半年、一年甚至三年期間,業(yè)務(wù)會面臨什么樣的變化,質(zhì)量效率目標會有什么變化。比如市場中出現(xiàn)了新的強大競對,競爭態(tài)勢會對迭代效率提出更高要求;比如業(yè)務(wù)進入高增長期,用戶量業(yè)務(wù)量急遽增加,此時會對穩(wěn)定性、性能提出更高要求;再比如產(chǎn)品形態(tài)發(fā)生變化,從原本異步交互轉(zhuǎn)為實時交互,這也是對質(zhì)量的挑戰(zhàn)。識別到三角目標的變化趨勢,才能提前布局,建設(shè)技術(shù)能力,在業(yè)務(wù)需要時就能直接落地應(yīng)用,產(chǎn)生收益。

在預(yù)判未來趨勢過程中,尤其要注意業(yè)務(wù)模式或產(chǎn)品形態(tài)的變化,它們通常會帶來風(fēng)險類型的變化。如原本獨立經(jīng)營的金融業(yè)務(wù),引入了合作機構(gòu),轉(zhuǎn)變?yōu)槠脚_生態(tài)型時,風(fēng)險引入和風(fēng)險表現(xiàn)都增加了機構(gòu)端,會對三角指標都帶來顯著影響。再比如原本免費的業(yè)務(wù)開始對某些場景進行收費,或營銷活動增加了現(xiàn)金類優(yōu)惠,這些業(yè)務(wù)變化都代表著業(yè)務(wù)有了資金屬性,那么相應(yīng)的資金類風(fēng)險也應(yīng)全盤考慮。

除了分析未來變化趨勢,還需要對現(xiàn)狀有更全面細致的了解,雖然是三角平衡,但三角不可能都是完美表現(xiàn),針對每一角的具體表現(xiàn)提出更高要求,分析現(xiàn)狀的差距,也能夠指明我們的提升方向:質(zhì)量優(yōu)先、效率其次、成本持續(xù)驅(qū)動。

這個場景說來簡單,實操最難。因為成熟業(yè)務(wù)下,從業(yè)務(wù)團隊、研發(fā)團隊傳導(dǎo)到質(zhì)量團隊的壓力相對可控,如果質(zhì)量負責(zé)人自驅(qū)力不足,很容易陷入戰(zhàn)術(shù)性的忙碌中,畢竟項目一個接一個,peer只關(guān)心我們交付的結(jié)果,對測試策略難以感知、也很少提出建議和要求。質(zhì)量負責(zé)人必須要持續(xù)跟蹤質(zhì)量、效率、成本表現(xiàn),定期回溯分析質(zhì)量策略執(zhí)行情況,主動刷新測試策略,調(diào)優(yōu)三角表現(xiàn)。

4. 再舉一個極端場景,有一個大項目(開發(fā)+測試工時>1000人日),因為種種原因需要倒排發(fā)布,倒排后只有正常周期的一半,怎樣保證發(fā)布質(zhì)量和發(fā)布時間?

這個場景的問題本質(zhì)是效率和質(zhì)量的明確沖突,最簡單方案是調(diào)整第三角 -- 成本目標,也就是加人/加班增加投入時間來解決。此處極端場景強調(diào)了倒排只有一半周期,基本已經(jīng)無法通過單純加班解決(個人經(jīng)驗值:加班極限是同等自然日內(nèi)增加50%工作量,很難做到增加100%)。加人也有可能無人可加,或即使有其他項目人員可以借調(diào),如果沒有匹配的經(jīng)驗積累,加人并不能等比例提高效率,還會因為新加成員需要有經(jīng)驗成員的傳幫帶,更加占用原有項目人員的投入。

所以如果增加成本不能解決效率和質(zhì)量沖突時,我們還有哪些策略可做?

倒排等同于效率目標中的交付日期鎖定。那么效率目標的其他目標是否有可調(diào)空間?列舉幾個可調(diào)整角度:

1)提測日期提前,把測試周期盡可能拉長。分批提測也是類似思路,都是把實際測試工作執(zhí)行的時間盡可能往前提。把測試時間窗口拉長,以容納工作量。

2)在開發(fā)階段提前準備測試工具,提高測試執(zhí)行階段效率。

3)在開發(fā)階段提前準備測試自動化用例,提高測試case并發(fā)效率。還能充分利用夜間時間,擴展case執(zhí)行周期。

以上兩條的測試工具和自動化用例就不用再遵從默認的成本收益回收策略,而是專注于解決此次項目交付要求,增加執(zhí)行并行度。這也是通過增加投入解決效率問題,只不過不是增加新人,而是用項目原有測試人員,在研發(fā)階段進行提前投入。

如果調(diào)整成本、效率,都不能解決,就需要慎重考慮質(zhì)量目標這個角了。同樣列舉幾個可調(diào)整角度:

1)部分功能延后發(fā)布。如理財業(yè)務(wù)中,有一種最低持有期的理財產(chǎn)品,申購后一定日期后才能贖回,那么可以和業(yè)務(wù)技術(shù)協(xié)商,先保證申購功能的測試覆蓋,再在項目發(fā)布后,贖回功能尚未打開這個短短的小窗口內(nèi),補充保證贖回功能的測試覆蓋。這樣可以把一些功能的質(zhì)量保證工作后置,減少倒排周期的影響。

2)評估后裁剪部分回歸測試用例集。回歸用例顧名思義是此次變更不涉及修改,仍應(yīng)保持原有功能的用例,如果時間充裕,回歸用例需要實際執(zhí)行并確認結(jié)果,但如果時間非常緊張,且沒有過往成熟的回歸自動化快速執(zhí)行,那么可以通過評估系統(tǒng)實現(xiàn)方案+CR后確認是否有部分回歸功能不受此次變更影響,然后裁剪該部分回歸測試用例。

特別提醒??!評估后裁剪部分回歸用例集,能顯著減小工作量,但評估不全(系統(tǒng)歷史設(shè)計未考慮到,CR不全等)導(dǎo)致這部分回歸用例產(chǎn)生漏測的案例也比比皆是。所以這個策略風(fēng)險極高,對核心回歸功能不建議采用該策略。對非核心回歸功能也要謹慎進行。

3)對核心回歸功能,更建議做功能場景覆蓋調(diào)整。一個功能的用例集可以細分為多種觸發(fā)場景條件的具體用例(case),這里也基本遵循二八原理:80%的用戶場景(用戶操作流量或業(yè)務(wù)數(shù)據(jù)等價類)密集落在20%的場景上,而剩下80%的場景,流量分布更稀疏,觸發(fā)概率更小。舉例某個業(yè)務(wù)功能用例集涉及150個用例:

用戶操作流量或業(yè)務(wù)數(shù)據(jù)等價類占比

場景用例數(shù)

實際執(zhí)行用例占比

100%

150

150/150=100%

99.9%

130

130/150=87%

99%

80

80/150=53%

80%

30

30/150=20%

這種情況下,從150個場景用例中,優(yōu)先選擇用戶操作流量占比最大的用例(如選擇80個用例,可覆蓋99%流量),即可大幅減少測試時間。這樣可以保證大范圍業(yè)務(wù)沒問題,讓可能遺漏的問題只表現(xiàn)在小范圍業(yè)務(wù)流量上,減小影響面。未選擇的用例,是發(fā)布后觀察線上表現(xiàn),還是在發(fā)布后驗證或補測,也可以根據(jù)具體業(yè)務(wù)情況進行策略再確認。

灰度也是類似道理,通過灰度比例控制新代碼生效的業(yè)務(wù)流量占比,以此控制可能問題的影響面。

特別提醒!!該策略僅能用于問題影響在業(yè)務(wù)上可接受的情況,如果是高風(fēng)險場景,如高客單業(yè)務(wù)的資損風(fēng)險,一筆操作可能就會觸發(fā)一個P1,仍然不建議采用該策略。

4)發(fā)布后進行線上驗證。和第一條延后發(fā)布不同,如果存在線下測試成本極高,線上測試成本很低的情況(如一些歷史數(shù)據(jù)構(gòu)造成本大,使用線上數(shù)據(jù)成本?。?,可以基于效率考慮,在發(fā)布后在線上進行驗證。由于項目已發(fā)布,那么一定要同步發(fā)布線上監(jiān)控核對觀察線上表現(xiàn),且第一時間進行線上驗證,把可能的問題影響面控制到最小。

5)以上除了第一條延后發(fā)布不會帶來實際質(zhì)量風(fēng)險外,2,3,4都有質(zhì)量風(fēng)險,那么要補充兩點:

a)已知線下測試裁剪或未覆蓋的場景,必須要有線上主動發(fā)現(xiàn)能力。

b)已知會產(chǎn)生線上問題可能的場景,必須要測算線上風(fēng)險敞口(線上pv *時長 * 影響表現(xiàn),如果涉及客訴的,要計算客訴轉(zhuǎn)化率),并進行相應(yīng)業(yè)務(wù)報備。

以上是比較簡化的幾個場景。其實業(yè)務(wù)的變化時刻在發(fā)生,每個團隊也一直以專業(yè)能力見招拆招,是著眼于一個月的變化,還是預(yù)判一年的變化?對業(yè)務(wù)級測試負責(zé)人而言,需要把視野拉到業(yè)務(wù)全局,把目標放到三角整體,每一個測試策略的決策,要兼顧當下和未來,避免只見樹木不見森林。更重要的是,如果沒有明顯的當下的問題,要把成本作為默認驅(qū)動,用技術(shù)的方法持續(xù)優(yōu)化三角表現(xiàn)。

總結(jié):測試策略對測試中長期布局有著非常重要的意義,對測試負責(zé)人來說,解決問題只是基礎(chǔ)要求,在多種有效方案中選擇最優(yōu)解,才是更大的挑戰(zhàn)。通過三角目標做牽引,對業(yè)務(wù)做預(yù)判,刷新目標,主動規(guī)劃,時刻調(diào)整,和業(yè)務(wù)共同應(yīng)對不確定的未來,才能持續(xù)為業(yè)務(wù)保駕護航。

責(zé)任編輯:武曉燕 來源: 測試開發(fā)技術(shù)
相關(guān)推薦

2010-03-04 09:54:24

Android開發(fā)

2009-11-23 20:39:21

ibmdw敏捷開發(fā)

2015-09-25 10:02:52

BlocksDelegates開發(fā)

2010-06-18 10:21:01

UML建模

2010-06-12 15:41:28

UML建模

2009-06-17 16:10:37

Java網(wǎng)站優(yōu)勢

2011-07-06 16:00:28

ASP

2024-06-30 19:45:11

2011-03-25 14:27:40

數(shù)據(jù)庫開發(fā)程序員

2011-01-26 09:40:42

.NET開發(fā)

2015-09-10 09:55:36

移動web開發(fā)問題

2010-07-05 12:09:10

RationalJazz需求管理

2009-06-10 15:36:25

ubuntu netb開發(fā)過程

2009-06-17 14:33:08

java項目開發(fā)

2016-12-30 11:10:32

Hadoop開發(fā)JVM

2015-07-09 10:36:40

iOS

2011-01-04 10:05:45

敏捷開發(fā)

2010-07-15 14:47:05

Perl開發(fā)

2013-04-03 10:42:46

iOS開發(fā)調(diào)試運行代碼

2020-10-23 10:31:59

開發(fā)開源工具開源
點贊
收藏

51CTO技術(shù)棧公眾號