作者:京東零售 吳聰
目前京東實行BigBoss機制以及積木型組織,同時現階段再次強調了「經營」理念,以上均是比較大的組織層面的綱領和引導,核心是為了激發大家owner意識可以更好更快為公司產出價值和貢獻。落到具體執行層面,與測試崗位息息相關的那便是「測試1號位」職責。
借用Paul總在開年戰略會上的話:「職責有邊界、思考無邊界、擔當無邊界」
測試1號位一般由大型專案中拆分出來的角色(產品1號位、研發1號位、測試1號位等),也叫主測試,是該專案的質量架構師,負責把控整體的資源協調、測試計劃、用例評審,風險預判以及問題解決等,保障專案高質量交付。
1. 自身想象成一個樞紐,可以連線多個測試個體、模組、業務線甚至團隊機構,是一個化零為整、力出一孔的角色定位,凝聚大家的力量共同作業並完成目標,需要在測試內橫向拉通,有較強的協調組織能力。
2. 是該角色的代言人,本身攜帶了半個專案經理的屬性。需要與其他角色(業產研設項)有橫向溝通,協商,甚至談判等能力,能主動去前置思考,遇到事情有擔當,能發言,邏輯思維能力強。
3. 職能上具有向上彙報和向下管理的能力。可以快速總結抽象進展進行彙報和覆盤,或丟擲問題、申請資源等。當有下屬時學會管理整體工作安排,或繼續拆解多個分1號位協助管理等,將自身的思想和價值觀感染他人,需要有縱向溝通和管理能力。
總而言之,測試1號位是一個虛擬崗位,通常伴隨專案而生,是變化的。但是在某個專案中,1號位承擔的責任和權利也是非常重要和關鍵,是實實在在的實體,是不變的。上述三點重點圍繞「溝通」展開,可見身為1號位溝通是相當的關鍵。同樣一名測試1號位的培養也離不開價值觀的加持,比如拼搏、共同作業、擔當、誠信、感恩、客戶為先都是身為1號位應體現出的人格魅力。
從接到一個專案開始,測試1號位就開始了相關工作,以下9條工作指導可按序進行。
身處專案之中,當明確了自己1號位的職責後,第一反應不是馬上扎入其中「拆解」而是應該先了解「背景與環境」,比如為什麼要做這個專案,帶來哪些收益,涉及哪些團隊,涉及哪些業務系統,有哪些關鍵角色和其他1號位,里程碑節奏和交付時間等等,總而言之是「情報」,打好一場仗先要將情報工作做到位。用一個全盤視角去系統性的看待事情,這就是系統論的思想。瞭解這些資訊有了整體認識便於更好的去做各類溝通,制定策略和戰術,把控風險,所謂「磨刀不誤砍柴工」。
專案三要素告訴了我們「時間、成本、範圍」,在專案中範圍是非常重要的概念,專案不能一直往裡塞東西,需要有始有終有邊界有範圍。而在資源有限,時間節點不可更改的情況下,範圍就顯的更為重要。與業產研明確範圍後,開始進行相應的資源預估和排期評估,在這個過程中通常已進行了prd和brd評審,建議1號位儘量多參與brd評審,更前置的瞭解業務思路和邏輯。遇到排期和資源緊張和風險時,學會提前協調和佈局,或者上升申請而不是等到後面或者進入測試了再考慮,那樣就會比較被動。
我們通常在一些小專案或者內部專案時,涉及幾個模組系統都是比較清晰的,鏈路也較短大家也容易忽略。而一旦涉及到大型專案,跨多個團隊專案,會涉及到幾十個系統。此時業務之間的互動邏輯,系統之間的互動邏輯,必須要嚴格梳理出來。這就是1號位存在的樞紐價值,各個單位節點難以看到的全域性需要你來看,難以識別的風險需要你來識別,難以想到的上下游問題需要你來提問。此時可以組織各個系統節點首先畫出自身的邏輯,然後進行串聯輸出一個完整的系統鏈路,並且需要細化些可以到介面級別,其次到應用級別,最粗顆粒度到系統級別,越細緻越能挖掘的透徹越能把控住風險。基於該鏈路圖測試可以與研發一起評審,參與系統設計,同樣基於該鏈路才可以制定下一步的測試策略和計劃。
上述得到的鏈路邏輯圖仍然只是個研發語言,我們需要將其轉化成測試語言,即測試計劃(也就是測試需要做的事情)。其中包括
a. 大型專案時鏈路過長,可以拆解成多個子鏈路跟進,但需要確認每個子鏈路的耦合性。小型專案直接拆解到具體模組負責人跟進即可。
b. 每個子鏈路/模組①確定好介面人或負責人,②確定內部的主要測試工作範圍和內容,相關干係人,③確定可測性(測試環境或預發環境,測試物料的邏輯,上下游依賴邏輯),④確定高可用性(相關質量保障的舉措的進一步明確),⑤確定自動化特性(主要用於測試執行的提效,靈活運用,平臺和工具的使用)
c. 在上述的計劃中進一步識別一些核心攻堅或業務特殊專項,比如測試物料專項、壓測專項、相容性測試專項、體驗保障專項、安全專項等等。
把上述要做的事情基於現有資源,合理的安排進整體專案的排期中,從而制定出測試的里程碑計劃。該點通常需要和專案經理保持強溝通,並將結果同步。
總之測試計劃是拆解的產物,需要細化成一項項每個執行單元(個人、模組、團隊)可執行的語言,同時給出時間計劃,最好的方式是利用清單思維,輸出一張清單表格,接下來就是按計劃執行打鉤即可。
下面就進入到了測試階段了,這裡單獨把測試物料的事情提了出來。就目前行銷平臺域的專案為例,測試物料的訴求具有便捷性、可塑性、時效性、多維性、安全性的特性。便捷性需要更方便快捷的構造,而目前我們許多造數流程很冗長,成本和時間極高(需要用自動化或回放解決);可塑性是需要能構造滿足測試場景的物料,面對不同的業務大家的測試物料訴求是不一樣的,也決定了這塊的物料需求多而且雜(需要有自主的造數工具解決);時效性和多維性是從時空的角度解讀,行銷的屬性帶來很多物料會失效(促銷、預約、預售),因此對時效要求較高。而從物料分層來看,大家需要單一型測試物料(商品、券、賬號、內容等),更需要複雜型測試物料(在單一型基礎上疊加了使用者行為或業務邏輯的場景化產物,如設促、策略、訂單等),面對不同的維度需要有不同的解決辦法。最後的安全性,更需要我們把控好各類許可權和合規,避免影響到線上或者造成事故。
因此我們需要分析不同業務的特性,根據不同的特性情況有針對性的提出解決方案和長期的能力建設。然而最初還是需要設計好相關邏輯和表格,能前置收集整理好大家的測試物料訴求,避免到了最後再提出。這裡梳理完畢也方便研發自測,和業務的走查,有必要時也可以組織物料評審。
用例評審是非常核心的內容,也是大家執行的標準和質量的標準。特別在大型專案中,不同系統之間的聯呼叫例評審更是一種渠道,幫助大家識別是否有遺漏的地方。這裡務必需要業務、產品、研發多角色都要參與,因為這是一個難得的資訊彙總點,如果這裡遺漏的資訊,或者不對齊,將會直接導致後續的質量下降。測試1號位在這個環節也是一個把控質量的核心節點,1號位應充分理解全鏈路邏輯圖,在評審會上大膽發言和質疑,儘量排除每一個不確定因素。
評審後需要將會議的結果通過郵件的形式輸出,明確每一個待辦項都需要得到結論。另外評審會並不是結束,由此引發大家的思考會提出更多的風險點,這裡需要測試1號位持續收集大家提出的可能的問題和風險,列出風險表並一一跟進結論。只有我們提前識別越多的問題和風險,專案後續的質量才能有所保證。一個專案最大的風險就是沒有風險,或沒人提問。
在執行過程我們使用現有公司內統一的測試工具,自動化工具和平臺進行幫助規範操作和提效。這裡重點梳理下大專案過程中1號位需要關注的一些資訊和機制。其實這裡最核心還是把控風險進一步識別和解決,如果我們前置的分析和預判到位,這裡會輕鬆很多。
日例會機制:配合專案進行,每日將測試執行階段的風險項及時丟擲並尋求解決辦法,和專案保持強溝通。這裡要明確好風險的內容、影響是什麼、需要誰協助,要清晰明確。
風險升級或者跨系統溝通:當專案日例會難以解決的問題或者內部無法解決時,需要及時升級解決,讓更多的角色以及老闆參與進來進行決策提高解決效率,千萬不能藏在自己手裡。
BUG日清機制:面對系統複雜,問題眾多而又臨近交付節點,需要各角色加強協同而且提高要求,達到BUG日清,便於保障在規定時間內高質量交付。
測試記錄收集:過程中的測試記錄留痕,需要彙總做好記錄便於追蹤、覆盤、歸檔或者賦能給其他專案。這裡包括了物料的評審記錄,風險評審記錄,用例評審記錄,各系統測試報告,大聯調記錄或者全鏈路迴歸等。如果是要求比較高的專案,測試1號位也需要發出每日的測試進度報告,這裡需要收集各個系統的進展、風險、卡點等(有的跟隨專案日報可以cover)。
緊急需求與變更把控:專案中難免會遇到各類變更,其中最大的風險就是緊急需求的插入,需要與專案制定准入機制,對ROI高的緊急需求進行評估按照現有資源合理安排,同時當有大量緊急需求,已經嚴重影響到交付質量時,需要進行多輪review或其他方式保障交付質量。「變更」是引入問題的根源。
與業產設協同:與前鏈路角色進行協同,及時邀請進入UAT走查或者驗收,提前發現問題。如果使用預發環境或測試環境,需提前準備好相關物料和使用手冊說明。
小型專案時各個模組各司其職,容易忽略全鏈路視角的迴歸或者演練,當然因為涉及模組少因此質量容易把控。但是「全鏈路」思想是一名測試1號位必須要具備的,我們舉個軍演壓測的例子,每年大促的軍演其實也是一個基於流量的專案,捲入了公司內的所有系統,因此我們的軍演一定是全鏈路的,只有全鏈路才能模擬線上真實的流量情況。大型專案同理,即使我們每個系統、模組完成了自己的測試工作,並不意味著整體鏈路就沒問題了,我們需要模擬線上使用者和業務最真實的場景和習慣,進行全鏈路演練或迴歸。
具體的操作離不開全鏈路聯呼叫例,這裡建議從上述的評審用例中挑選P0級涉及到核心主幹的用例作為劇本用例,在一個規定的時間範圍內,組織各個角色一同參與劇本演練,及時發現問題,如果能邀請業務、使用者等種子選手參與更好,此時很有可能提出我們意想不到的場景和問題,而這樣的問題就是我們劇本演練最大的價值。
上線切量與監控:與專案經理、產品1號位、研發1號位等核心角色一同確認好研發的上線順序和機器灰度策略,避免出現上線順序問題,發現問題後及時回滾,準備好降級開關和預案。確定好業務的灰度策略,或者使用時間點,做好及時響應和解決。另外上線後的巡檢和監控必不可少,需要第一時間加入至巡檢體系,巡檢是我們的眼睛,可以代替我們發現很多問題。同時用表格記錄線上發現的各類問題,及時跟進問題修復進展。
總結與覆盤:對新業務需要基於全鏈路邏輯圖以及各個節點的業務知識點進行彙總,進行知識庫的沉澱;對專案好的測試實踐進行沉澱並形成通用能力進行賦能;對專案中的測試卡點進行分析,避免犯同樣的問題。大部分1號位容易忘記覆盤,每一個專案都是一個寶貴的經歷,如何讓經歷變成自己的財富,需要進行反思和覆盤,並且進行輸出。
百億補貼專案是2023年初零售最核心的專案,涉及系統範圍之廣,相關人員之多,上線交付時間之急,也是前所未有的。各個團隊犧牲了較多的春節和假期時間,測試同學們在這個專案中也收穫了良多,分拆了多鏈路和專項1號位,一起攜手最終保障的交付。
百補的測試1號位細分了6大子鏈路(創促鏈路、導購鏈路、交易鏈路、資金鍊路、申訴鏈路、渠道遮蔽)基本覆蓋了全部專案範圍並設立各鏈路測試1號位,而這些鏈路幾乎也涵蓋了京東APP的核心業務,每個子鏈路1號位下繼續對接各系統介面人。同時設立了7大專項(物料統籌、頻道效能、B端體驗、版本保障、風控保障、壓測保障、眾測保障)測試1號位,後期也引入了安全團隊介入,從測試鏈路的每個階段,從B到C各個系統,各個維度加強質量保障舉措。
隨著時代的進步,我們面臨的業務會越來越複雜,面臨的技術也會越來越進化,對測試1號位的要求同樣也會越來越高,職責邊界越來越擴大,更需要有思考,有擔當,有owner意識扛起整體專案的質量與交付。最後這裡再列舉一些tips分享。
1. 與專案經理的共同作業:測試1號位需要與專案經理緊密共同作業,上述也提到了多次,之所以說本身帶有半個專案經理屬性,是因為測試和專案都對「質量」關注,這是相通點。由該點引發的各類舉措,大家是可以互相理解互相幫助的。
2. 與主測試的共同作業:在目前的團隊中會並行多個專案,同時存在多個專案的測試1號位,同時這些專案又捲入了多個系統測試(模組測試)的主測。這裡就形成了專案的測試1號位與系統主測之前的關係協同與矛盾點。其實還是經營理念的差異,系統主測或者產品線主測關注的是長期,而專案測試1號位關注的是該專案本身。一個專案測試1號位會協同多個系統主測,共同交付這個專案。而一個系統主測可能會承接多個專案,需要合理安排好自己模組的資源和時間,與多個測試1號位溝通協調,保障每個專案的交付。這裡是「多對多」的關係,因此更需要大家齊心協力,遇到排期資源上的問題時,多溝通多協調;遇到專案統籌層面的問題時,需要參考專案測試1號位的意見;遇到具體執行實施時,要多深入瞭解系統主測的情況和現狀。這裡我建議從系統主測的角度需要立版本,定節奏,幫助長期的迭代和質量把控;從專案測試1號位角度需要立機制,定規範,幫助專案敏捷高質量交付。
3. 1號位的並行策略:每個測試1號位類似大家長角色,需要看到專案裡所有和測試相關的事情,任何問題都要去管理,一定會存在大量並行的事務,這裡非常考驗大家對並行的處理。建議大家把事情「寫下來」,同時排好優先順序,自己不要亂,確保自己能聚焦精力集中處理一件事。
4. 重點把握結果,解決核心問題:多數1號位同學在跟進專案時,有著測試人員的特性會很細心,有時對執行過程很細緻。這不是壞事,但是會大量浪費精力,特別面臨大型專案時,測試1號位要學會設卡點,看結果,輕過程,這樣才能把精力用在刀刃上。另外專案中一定會發生多數問題,有業務層面有資源層面等,要學會優先解決核心問題,抓大放小。
5. 與擔當相對應的解壓:1號位是有責任感的,是有擔當的,必然肩膀上會承擔很多壓力。特別是第一次做1號位的同學,或多或少會不適應感覺壓力巨大,一定要學會解壓釋放,好的方法包括與上級溝通傾訴,與小夥伴吐槽,尋求他人幫助與援助,吃吃吃等。但是請相信,每一次1號位經歷都是很好的成長機會,勇敢挑戰,希望大家都能借此收穫自己的感悟與改變。