隨著互聯(lián)網(wǎng)紅利的逐漸消失,互聯(lián)網(wǎng)公司獲取新客戶的難度和成本越來(lái)越高,用戶增長(zhǎng)的運(yùn)營(yíng)同學(xué)需要不斷嘗試不同的拉新策略,并根據(jù)用戶反饋及數(shù)據(jù)反饋快速調(diào)整,同時(shí)能夠快速跟進(jìn)市場(chǎng)熱點(diǎn),快速迭代產(chǎn)品功能。我們所在部門(mén)承接大量的金融業(yè)務(wù)(金白條、支付、小金庫(kù)、基金等)拉新獲客的訴求。為了在滿足快速交付業(yè)務(wù)需求不以犧牲產(chǎn)品質(zhì)量為代價(jià),我們制定了用戶增長(zhǎng)質(zhì)量門(mén)禁體系,通過(guò)規(guī)范化的質(zhì)量活動(dòng)對(duì)需求交付的各個(gè)階段進(jìn)行質(zhì)量準(zhǔn)入和準(zhǔn)出,步步為營(yíng),形成用戶增長(zhǎng)產(chǎn)品需求交付質(zhì)量保證“七重門(mén)”。
TDD(Test-Driven Development)是敏捷測(cè)試的重要實(shí)踐,它強(qiáng)調(diào)在編寫(xiě)代碼之前先編寫(xiě)測(cè)試代碼,以此驅(qū)動(dòng)代碼質(zhì)量的提升以及功能的覆蓋。結(jié)合當(dāng)前平臺(tái)研發(fā)部質(zhì)量保證的現(xiàn)狀,測(cè)試用例絕大部分都是利用XMind編寫(xiě)的文字描述形式的,若完全按照典型的TDD實(shí)踐進(jìn)行落地,編寫(xiě)測(cè)試代碼的成本較高,短時(shí)間內(nèi)難以看到效果,因此我們第一階段優(yōu)先實(shí)現(xiàn)了測(cè)試用例的前置,即測(cè)試用例的編寫(xiě)和評(píng)審前置到設(shè)計(jì)評(píng)審或代碼開(kāi)發(fā)之前,通過(guò)測(cè)試用例進(jìn)一步明確功能需求、性能要求、異常流程、數(shù)據(jù)需求及驗(yàn)收標(biāo)準(zhǔn),并彌補(bǔ)需求評(píng)審環(huán)節(jié)可能遺漏的功能點(diǎn)和流程有欠缺的地方,提前預(yù)防缺陷,減少了在后期測(cè)試階段的返工和修復(fù)成本。通過(guò)在用戶增長(zhǎng)、微電等領(lǐng)域多個(gè)項(xiàng)目的試點(diǎn),各方均給與了正向的反饋,目前正在擴(kuò)大試點(diǎn)范圍,目標(biāo)是80%的需求實(shí)現(xiàn)用例前置。
單元測(cè)試是對(duì)軟件中的最小可測(cè)試單元(即代碼中的函數(shù)、方法、類(lèi)等)進(jìn)行獨(dú)立的測(cè)試。它的主要目的是驗(yàn)證每個(gè)單元是否按照預(yù)期正確工作。單元測(cè)試具有以下幾個(gè)好處:
總之,單元測(cè)試是一種有效的軟件測(cè)試手段,它由開(kāi)發(fā)人員編碼實(shí)現(xiàn)并執(zhí)行,充分體現(xiàn)了全民質(zhì)量保證的理念。在用戶增長(zhǎng)的項(xiàng)目中,研發(fā)較為看中單元測(cè)試,在編碼的同時(shí)寫(xiě)了大量的單測(cè)代碼,尤其是用戶增長(zhǎng)研發(fā)團(tuán)隊(duì)接入了ChatGPT,并聯(lián)合集團(tuán)其他部以JoyCoder聯(lián)合項(xiàng)目組的形式,不斷迭代優(yōu)化,目前已經(jīng)可以快速自動(dòng)生成較為規(guī)范的單元測(cè)試代碼,可以大大降低單元測(cè)試的工作量。
冒煙測(cè)試在產(chǎn)品質(zhì)量保障中起到了早期篩選問(wèn)題、初步評(píng)估待交付需求質(zhì)量的作用。合格的冒煙測(cè)試能夠快速篩選問(wèn)題、幫助團(tuán)隊(duì)優(yōu)化資源和工作分配,并實(shí)現(xiàn)對(duì)產(chǎn)品質(zhì)量的初步評(píng)估,能夠促進(jìn)團(tuán)隊(duì)交付效率的提升。在用戶增長(zhǎng)質(zhì)量保證的實(shí)踐中,我們一般通過(guò)行一組關(guān)鍵功能和核心流程的基本測(cè)試用例來(lái)驗(yàn)證系統(tǒng)在最初階段是否適合進(jìn)行更深入的測(cè)試,一般采用冒煙演示的方式,研發(fā)認(rèn)為具備提測(cè)的條件之后,邀請(qǐng)測(cè)試同學(xué)一起現(xiàn)場(chǎng)進(jìn)行冒煙用例的演示和走查。在我們的實(shí)踐中,一般會(huì)把總用例中30%左右的用例標(biāo)記為為冒煙用例,一般都是主流程、核心功能的驗(yàn)證點(diǎn)。不同的需求冒煙用例的比例可能差別較大,與需求的難易程度、涉及核心主流程的多少等有關(guān)系,一般情況下,研發(fā)和測(cè)試很容易就冒煙用例的內(nèi)容和比例達(dá)成共識(shí)。
在產(chǎn)品、項(xiàng)目和需求交付流程中,測(cè)試的執(zhí)行是產(chǎn)品質(zhì)量保障的第四道防線,也是確保軟件質(zhì)量的最關(guān)鍵步驟之一。通過(guò)有效的測(cè)試執(zhí)行,能夠?qū)a(chǎn)品缺陷盡早發(fā)現(xiàn),缺陷的類(lèi)型包括且不限于:功能問(wèn)題、用戶體驗(yàn)問(wèn)題、性能問(wèn)題、安全漏洞、埋點(diǎn)規(guī)范、兼容性、風(fēng)控防刷等等。測(cè)試執(zhí)行階段是測(cè)試同學(xué)工作時(shí)長(zhǎng)最長(zhǎng)的階段,也是其他角色最為熟悉的測(cè)試工作內(nèi)容。通常在該階段發(fā)現(xiàn)的需求缺陷能達(dá)到95%以上,一般情況下,在測(cè)試執(zhí)行階段的工作量占比總體研發(fā)工作的30%~50%,當(dāng)然,不同的需求,測(cè)試工作量占比可能差別較大,尤其是回歸測(cè)試的比例,以及自動(dòng)化測(cè)試在回歸測(cè)試中的占比,都直接影響測(cè)試執(zhí)行階段的工作量和時(shí)長(zhǎng)。
產(chǎn)品驗(yàn)證是確保軟件質(zhì)量的第五道防線,包括UAT、UI走查以及體驗(yàn)驗(yàn)收三部分。在需求準(zhǔn)備上線之前,我們會(huì)邀請(qǐng)產(chǎn)品經(jīng)理在預(yù)發(fā)環(huán)境或測(cè)試環(huán)境對(duì)待交付功能進(jìn)行驗(yàn)證,此時(shí),測(cè)試人員和產(chǎn)品經(jīng)理一同參與對(duì)產(chǎn)品的系統(tǒng)驗(yàn)證,測(cè)試同學(xué)進(jìn)行主流程演示或者產(chǎn)品經(jīng)理自主驗(yàn)證功能、性能和用戶體驗(yàn)是否滿足最初的需求和預(yù)期,同時(shí)驗(yàn)證運(yùn)營(yíng)配置是否有問(wèn)題。產(chǎn)品驗(yàn)證的結(jié)果分為兩種情況:通過(guò)和不通過(guò)。對(duì)于通過(guò)的情況,我們可以開(kāi)始進(jìn)行最終的發(fā)布和交付工作。對(duì)于不通過(guò)的情況,我們第一時(shí)間反饋給開(kāi)發(fā)團(tuán)隊(duì),以便及時(shí)修復(fù)和優(yōu)化問(wèn)題。在產(chǎn)品驗(yàn)收階段,基于產(chǎn)品設(shè)計(jì)和用戶視角,產(chǎn)品經(jīng)理可以提出各種觀點(diǎn)和意見(jiàn),從而進(jìn)一步完善產(chǎn)品。這種多元化的反饋和意見(jiàn)可以幫助團(tuán)隊(duì)在上線前識(shí)別和解決潛在問(wèn)題,雖然此時(shí)已經(jīng)處于需求交付的后期,但因系統(tǒng)還未面客,仍有一定的時(shí)間修復(fù)問(wèn)題,這樣可以盡量避免問(wèn)題逃逸到線上產(chǎn)生客訴。
另外,若涉及較多前端交互的需求,在產(chǎn)品驗(yàn)證完需要邀請(qǐng)UI設(shè)計(jì)師進(jìn)行UI走查以及用戶體驗(yàn)同事進(jìn)行體驗(yàn)驗(yàn)收。作為上線前用戶操作、用戶體驗(yàn)方面的驗(yàn)收,若因體驗(yàn)存在缺陷導(dǎo)致驗(yàn)收不通過(guò),用戶體驗(yàn)同事有權(quán)決定推遲上線,直至完成了優(yōu)化,或者各方就體驗(yàn)問(wèn)題達(dá)成了共識(shí),可以先上線,并在大范圍投放之前完成優(yōu)化。
運(yùn)營(yíng)驗(yàn)收主要是在需求上線后,邀請(qǐng)運(yùn)營(yíng)同學(xué)在線上進(jìn)行最終的驗(yàn)收,運(yùn)營(yíng)同學(xué)站在業(yè)務(wù)及用戶視角,驗(yàn)證待交付功能是否與最初的預(yù)期一致,運(yùn)營(yíng)驗(yàn)收階段是功能面客前的最后一道防線,基于對(duì)用戶的深刻洞察、敏銳的直覺(jué)以及對(duì)市場(chǎng)上同類(lèi)功能的深入研究,運(yùn)營(yíng)同學(xué)在該階段經(jīng)常能發(fā)現(xiàn)一些大家容易忽略的問(wèn)題或缺陷。同時(shí),更重要的是,可以驗(yàn)證后臺(tái)配置是否有問(wèn)題、預(yù)算是否充足,并決定新舊功能的分流比例、缺陷是否在容忍范圍內(nèi)、是否需要報(bào)備客服,并確定投放后的運(yùn)營(yíng)策略、運(yùn)營(yíng)節(jié)奏及后續(xù)的產(chǎn)品迭代規(guī)劃。在該階段,偶爾會(huì)發(fā)生運(yùn)營(yíng)意見(jiàn)與產(chǎn)品意見(jiàn)、研發(fā)測(cè)試意見(jiàn)不一致的情況,因此,該階段也是一個(gè)互相說(shuō)服、拉齊認(rèn)知的重要階段。
隨著業(yè)務(wù)發(fā)展、微服務(wù)架構(gòu)、分布式架構(gòu)和虛擬化容器技術(shù)的廣泛普及,軟件架構(gòu)的復(fù)雜度在不斷提升,服務(wù)之間的依賴所帶來(lái)的不確定性也成指數(shù)級(jí)增長(zhǎng),在這樣的服務(wù)調(diào)用網(wǎng)中,任何一環(huán)出現(xiàn)的正常或者異常的變化,都有可能對(duì)其他服務(wù)造成類(lèi)似蝴蝶效應(yīng)一般的影響。隨著用戶增長(zhǎng)線上營(yíng)銷(xiāo)活動(dòng)、拉新工具、公共組件的不斷增加,整體鏈路增長(zhǎng)以及數(shù)據(jù)流轉(zhuǎn)復(fù)雜,對(duì)整個(gè)系統(tǒng)的可用性、穩(wěn)定性挑戰(zhàn)也越來(lái)越大,所以非常有必要主動(dòng)找出系統(tǒng)中的脆弱環(huán)節(jié),然后針對(duì)性地進(jìn)行加固、防范,從而避免故障發(fā)生時(shí)所帶來(lái)的嚴(yán)重后果,進(jìn)一步提升業(yè)務(wù)系統(tǒng)的高可用,提高業(yè)務(wù)系統(tǒng)應(yīng)急保障能力。近幾年,國(guó)內(nèi)外已經(jīng)發(fā)生了數(shù)次大規(guī)模的故障導(dǎo)致對(duì)海量用戶的服務(wù)長(zhǎng)時(shí)間中斷,產(chǎn)生了巨大的負(fù)面影響。為有效減少因內(nèi)外部環(huán)境的故障對(duì)系統(tǒng)造成的影響,我們?cè)谌粘9ぷ髦心M各類(lèi)故障,以檢驗(yàn)對(duì)系統(tǒng)的影響及研測(cè)團(tuán)隊(duì)的風(fēng)險(xiǎn)應(yīng)對(duì)能力,我們?cè)谟脩粼鲩L(zhǎng)領(lǐng)域進(jìn)行了兩類(lèi)容災(zāi)演練:
混沌演練是一種通過(guò)有意引入系統(tǒng)隨機(jī)性、不穩(wěn)定性和故障來(lái)測(cè)試和改進(jìn)系統(tǒng)可靠性的實(shí)踐方法,它旨在幫助組織識(shí)別和解決潛在的系統(tǒng)缺陷和性能問(wèn)題,以減少系統(tǒng)故障和提高系統(tǒng)的容錯(cuò)性。混沌演練的關(guān)鍵理念是“通過(guò)引入故障來(lái)發(fā)現(xiàn)故障”。通過(guò)有節(jié)制地引入不穩(wěn)定因素和故障場(chǎng)景,例如關(guān)閉某個(gè)服務(wù)、模擬網(wǎng)絡(luò)延遲、引發(fā)硬件故障等,混沌演練可以驗(yàn)證系統(tǒng)的彈性、容錯(cuò)能力和恢復(fù)能力。它能夠幫助我們發(fā)現(xiàn)隱藏的系統(tǒng)弱點(diǎn),識(shí)別性能瓶頸和獨(dú)立失敗點(diǎn),并提供改進(jìn)系統(tǒng)穩(wěn)定性和可靠性的機(jī)會(huì)。
演練的場(chǎng)景包括運(yùn)營(yíng)商網(wǎng)絡(luò)斷網(wǎng)、京東云機(jī)房斷網(wǎng)、存儲(chǔ)設(shè)備斷網(wǎng)、網(wǎng)絡(luò)流量抖動(dòng)、網(wǎng)絡(luò)流量丟包等,影響范圍可能更廣,因此需要提前梳理好演練內(nèi)容和應(yīng)急方案,具體包括根據(jù)不同場(chǎng)景梳理演練SOP、根據(jù)SOP設(shè)置演練模板、根據(jù)模板評(píng)估系統(tǒng)是否達(dá)到演練要求、根據(jù)演練要求升級(jí)改造系統(tǒng)、根據(jù)演練模板設(shè)計(jì)演練流程及checklist,確保不會(huì)因演練而影響線上系統(tǒng)。通過(guò)對(duì)演練過(guò)程、演練內(nèi)容、風(fēng)險(xiǎn)事項(xiàng)、應(yīng)對(duì)方案的梳理,做到萬(wàn)一發(fā)生類(lèi)似基礎(chǔ)性故障或網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)切換的時(shí)候,有序執(zhí)行SOP操作,系統(tǒng)處于風(fēng)險(xiǎn)可控的狀態(tài)。截止目前,已經(jīng)完成了針對(duì)用戶增長(zhǎng)領(lǐng)域掛獎(jiǎng)、發(fā)獎(jiǎng)、資金組件等三個(gè)核心應(yīng)用的數(shù)據(jù)庫(kù)、緩存切換演練,達(dá)到了預(yù)期效果。總結(jié)
本文介紹了用戶增長(zhǎng)領(lǐng)域在快速交付產(chǎn)品的同時(shí)為保證交付質(zhì)量所設(shè)置的七道防線,每道防線都像一道門(mén)禁,只有滿足了準(zhǔn)入要求,才能進(jìn)入下一個(gè)階段,以此來(lái)規(guī)范各個(gè)階段的質(zhì)量活動(dòng),并作為質(zhì)量保證全流程的執(zhí)行標(biāo)準(zhǔn)。需要指出的是,在實(shí)際的質(zhì)量實(shí)踐中,不是形而上的、簡(jiǎn)單粗暴的執(zhí)行以上質(zhì)量活動(dòng),我們會(huì)根據(jù)產(chǎn)品和業(yè)務(wù)需求的實(shí)際情況進(jìn)行一定范圍的靈活調(diào)整或裁剪,在質(zhì)量和效率之間達(dá)到一個(gè)動(dòng)態(tài)的、適度的平衡。
本文鏈接:http://www.www897cc.com/showinfo-26-14338-0.html產(chǎn)品需求交付質(zhì)量保證的“七重門(mén)”
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com