本文字?jǐn)?shù):2597 字
閱讀時(shí)間:8 分鐘
測試左移的由來
缺陷的修復(fù)成本逐步升高
內(nèi)文的標(biāo)題設(shè)計(jì)有兩款她渴,一款是細(xì)線搭配粗線的設(shè)計(jì)茅坛;另一款是同樣的細(xì)線搭配“空心的粗線”。這兩款線的設(shè)計(jì)都可以運(yùn)用XX的布局蜈块,可嵌套和可設(shè)置單邊邊框這兩個(gè)特性就能做出來忌傻。本段文字是Bug盔性,請(qǐng)從下段開始閱讀。
下面是質(zhì)量領(lǐng)域司空見慣的一張圖,看圖說話欠动,容易得出:大部分缺陷都是早期引入的,同時(shí)大部分缺陷都是中晚期發(fā)現(xiàn)的贾漏,而缺陷發(fā)現(xiàn)的越晚候学,其修復(fù)成本就越高。因此纵散,為了降低缺陷修復(fù)成本梳码,我們期望在更早的時(shí)間發(fā)現(xiàn)缺陷。
那么上圖是否完全沒問題呢伍掀?不是的掰茶,這張圖來源于1996年的一本書《Applied Software Measurement》,這張圖畫成的時(shí)候蜜笤,敏捷宣言還沒誕生呢(敏捷宣言誕生于2001年)濒蒋。在傳統(tǒng)背景下,需求是明確且相對(duì)固定的把兔,需求產(chǎn)生的缺陷可以忽略不計(jì)沪伙。同時(shí),在需求階段產(chǎn)生的問題可能會(huì)引起整體方案的返工县好,因此围橡,需求產(chǎn)生的問題不太會(huì)以軟件缺陷的形式來體現(xiàn)。
需求質(zhì)量呼喚測試左移
隨著軟件生態(tài)的發(fā)展缕贡,軟件需求越來越復(fù)雜多變翁授,需求的有效性和傳遞效率也備受挑戰(zhàn)拣播。受大環(huán)境影響,需求階段引入的缺陷就對(duì)軟件的研發(fā)成本造成了影響收擦。同時(shí)贮配,軟件的研發(fā)過程越來越成為一個(gè)需要高效協(xié)作的整體,各角色之間的界限也變得相對(duì)模糊炬守。
為了讓質(zhì)量理念更早的介入軟件研發(fā)過程牧嫉,也為了降低缺陷修復(fù)的成本、減少不必要的返工减途,需求的質(zhì)量變得尤為重要酣藻。測試左移因此而生,需求分析人員與測試人員需要協(xié)同工作鳍置,共同保證需求的質(zhì)量辽剧。
加上需求階段重畫一下上面的圖,理想情況下税产,我們?nèi)菀椎贸鲆韵陆Y(jié)論:
缺陷的引入從需求階段就開始持續(xù)怕轿,到研發(fā)階段達(dá)到峰值,然后趨于平緩
缺陷從需求階段就開始陸續(xù)被發(fā)現(xiàn)辟拷,到測試階段達(dá)到峰值撞羽,然后趨于平緩
從需求階段到研發(fā)初期,缺陷修復(fù)的成本極低
開發(fā)后期到上線衫冻,缺陷修復(fù)成本一路攀升至高點(diǎn)
-
缺陷發(fā)現(xiàn)的數(shù)量少于引入的數(shù)量诀紊,但在上線前后,缺陷發(fā)現(xiàn)數(shù)量大于引入數(shù)量
因此隅俘,為了獲得更經(jīng)濟(jì)的資源投入產(chǎn)出比邻奠,我們認(rèn)為應(yīng)該在需求階段和編碼初期更多的發(fā)現(xiàn)缺陷,從而減少修復(fù)成本和返工为居,這也正是測試左移的價(jià)值所在碌宴。
那么,該如何保證需求的質(zhì)量呢蒙畴?我們?cè)诓煌臅r(shí)期面臨的需求贰镣,其形態(tài)是有差異的,所以需要深刻理解這些差異忍抽,并有針對(duì)性的設(shè)計(jì)質(zhì)量活動(dòng)加以驗(yàn)證八孝。
需求的三個(gè)層次
一個(gè)很現(xiàn)實(shí)的例子
一天,大老板說:“微信小程序不錯(cuò)鸠项,我們內(nèi)部OA流程得做一個(gè)干跛,你們安排一下,年內(nèi)發(fā)布就行祟绊÷ト耄” 這就是一個(gè)來自大老板的一句話需求哥捕。
項(xiàng)目經(jīng)理拿到這個(gè)需求,看到“年內(nèi)發(fā)布”嘉熊,需求管理看板上就可以多一張卡遥赚,只有幾個(gè)字“OA小程序”,排期可能暫時(shí)安排在第三季度阐肤。
過了倆月凫佛,送走了一批艱難的需求,暫時(shí)松口氣的項(xiàng)目經(jīng)理掃到這張卡孕惜,瞬間頭皮發(fā)麻愧薛,這還有一個(gè)老板親生的大坑呢,得盡快填上衫画。喊來產(chǎn)品經(jīng)理毫炉,快出一版方案,再找技術(shù)經(jīng)理大致估一下工作量削罩。
只有一句話顯然是沒法出方案的瞄勾,產(chǎn)品經(jīng)理和技術(shù)經(jīng)理各自焦頭爛額的研究了兩天,又花了半天暫時(shí)碰出了OA小程序的初版方案弥激。一周后进陡,方案通過評(píng)審。這時(shí)微服,根據(jù)既定方案四濒,產(chǎn)品經(jīng)理細(xì)化了一些需求:用戶管理,組織管理职辨,流程管理,表單配置戈二,權(quán)限配置舒裤,審批配置,微信登錄等觉吭。
即將進(jìn)入研發(fā)階段腾供,需求又會(huì)被再次細(xì)化。以用戶提交請(qǐng)假單的場景為例鲜滩,需求可被細(xì)化如下圖伴鳖。進(jìn)入研發(fā)后,開發(fā)以一定的優(yōu)先級(jí)順序來領(lǐng)取需求進(jìn)行研發(fā)徙硅。
需求的三種粒度
在上面的故事中榜聂,為了服務(wù)產(chǎn)品規(guī)劃和不同的管理訴求,需求呈現(xiàn)出以下三個(gè)粒度:
史詩故事 > 特性故事 > 用戶故事
史詩故事 Epic:粗粒度的描述需求嗓蘑,通常需要多個(gè)迭代才能完成须肆,主要用于版本規(guī)劃時(shí)記錄和跟蹤該功能
特性故事 Feature:也叫主題故事匿乃,是一系列相同主題用戶故事的集合,主要用于迭代規(guī)劃豌汇、優(yōu)先級(jí)排序和整體估算
用戶故事 Story:迭代開發(fā)的最小單元幢炸,是細(xì)粒度的需求描述,主要用于迭代交付過程中的估算拒贱、跟蹤和管理
不同粒度的需求保障
史詩故事:方案驗(yàn)證 & 測試設(shè)計(jì)
在產(chǎn)品演進(jìn)過程中宛徊,當(dāng)面臨的需求還是一句話時(shí),測試人員能做的事情并不多逻澳。當(dāng)史詩故事即將進(jìn)入迭代規(guī)劃闸天,進(jìn)行方案設(shè)計(jì)時(shí),測試人員就可以參與進(jìn)來了赡盘。
方案成型初期号枕,測試人員可以參與方案討論和技術(shù)可行性研究,貢獻(xiàn)既有業(yè)務(wù)流程或潛在業(yè)務(wù)邏輯陨享,針對(duì)有較大質(zhì)量風(fēng)險(xiǎn)的方案葱淳,測試人員有責(zé)任提出質(zhì)疑,并給出建議抛姑。
方案確定后赞厕,測試人員就可以著手進(jìn)行測試設(shè)計(jì)了,測試設(shè)計(jì)包括但不限于:針對(duì)該功能的質(zhì)量預(yù)期定硝,大致的測試規(guī)劃皿桑,現(xiàn)有的測試資源評(píng)估,主要的質(zhì)量風(fēng)險(xiǎn)及響應(yīng)方式等蔬啡。
特性故事:需求評(píng)審 & 測試計(jì)劃
臨近迭代诲侮,需求會(huì)以特性的形式體現(xiàn),此時(shí)測試人員可以參與需求評(píng)審:
針對(duì)功能需求箱蟆,測試人員先驗(yàn)證需求是否有效沟绪,包括需求價(jià)值確認(rèn),需求涉及場景是否完備空猜,與現(xiàn)有業(yè)務(wù)邏輯是否有沖突
針對(duì)功能需求背后的支撐性需求進(jìn)行澄清绽慈,確認(rèn)支撐性需求的范圍、驗(yàn)收標(biāo)準(zhǔn)辈毯、測試方式等坝疼;此外還需要考慮用戶體驗(yàn)
考慮需求的拆分是否合理,是否便于估算和迭代管理
質(zhì)量活動(dòng)方面谆沃,測試人員可以落實(shí)測試計(jì)劃了钝凶,如各種測試活動(dòng)的安排,測試效果的評(píng)價(jià)唁影,測試的重點(diǎn)和難點(diǎn)腿椎,測試階段的輸入和輸出等桌硫,在這個(gè)階段都可以確認(rèn)了。
用戶故事:需求驗(yàn)收 & 測試執(zhí)行
故事啟動(dòng)時(shí)啃炸,測試人員需要補(bǔ)充需求驗(yàn)收的用例铆隘,以及需求影響范圍內(nèi)的回歸用例等。在這以后測試人員主要關(guān)注在需求驗(yàn)收和測試執(zhí)行上南用,按照測試設(shè)計(jì)和計(jì)劃進(jìn)行測試膀钠,確保最終的實(shí)現(xiàn)質(zhì)量。而在此階段裹虫,測試人員尤其需要關(guān)注投入產(chǎn)出比肿嘲,把有限的精力用在刀刃上。行之有效的做法是在測試計(jì)劃階段就明確好各功能的質(zhì)量標(biāo)準(zhǔn)和資源投入筑公,并在測試執(zhí)行階段時(shí)刻回顧雳窟。但計(jì)劃是死的,人是活的匣屡,萬一在測試過程中封救,我們發(fā)現(xiàn)計(jì)劃趕不上變化,就需要隨時(shí)跟團(tuán)隊(duì)溝通并進(jìn)行靈活調(diào)整了捣作。
當(dāng)然誉结,質(zhì)量活動(dòng)并不是以功能測完上線為結(jié)束,而是需要完成一個(gè)完整的閉環(huán)券躁。測試階段以后的質(zhì)量活動(dòng)不在本文討論的范圍內(nèi)惩坑,在此就不做過多展開了。
# 小結(jié)
測試左移之所以重要也拜,是因?yàn)槲覀円谌毕菀氲淖畛蹼A段就發(fā)現(xiàn)它以舒,把缺陷扼殺在搖籃里,而不是等著它像雪球一樣越滾越大慢哈。而這里的誤區(qū)在于稀轨,測試左移要求的是測試活動(dòng)盡早介入,而不僅僅是把測試人員進(jìn)行左移岸军。因此,團(tuán)隊(duì)里的每個(gè)成員瓦侮,都需要有測試左移的思想艰赞,都可以從一開始就繃緊質(zhì)量這根弦,確保每個(gè)人的工件質(zhì)量肚吏。
而在需求的質(zhì)量保證活動(dòng)中方妖,測試人員也需要時(shí)不時(shí)換帽子,有時(shí)可能是終端用戶罚攀,有時(shí)可能是產(chǎn)品經(jīng)理党觅,也有時(shí)可能是產(chǎn)品負(fù)責(zé)人雌澄。不管戴什么帽子,保證各個(gè)工件的質(zhì)量杯瞻,以及各工件的順暢集成镐牺,都是測試人員可以關(guān)注的事。質(zhì)量相關(guān)魁莉,我們責(zé)無旁貸睬涧。
文章來自網(wǎng)絡(luò)