梁興輝 趙志剛 齊連秀 張少娜 中國移動通信集團河北有限公司
隨著移動通信業務的不斷發展,日常需求數量和復雜度日益增加,日常需求支撐以及版本上線關鍵業務測試工作量都大大增加,如何提高需求支撐效率,保證需求及時、高效、高質量上線,成為IT系統落實公司轉型發展的關鍵問題之一。信息技術中心堅持以客戶為中心,積極推進改革創新,以“三個滿意”為目標,高效響應需求,加強能力儲備,建立業務支撐系統標準化、透明化、自動化的需求支撐體系。通過明確需求全生命周期流程,形成標準化需求模板,建立需求分級管理體系,實現需求支撐進度線上透明,搭建自動化測試平臺等一系列措施,確保需求高質量上線同時,有效提升需求支撐效率和需求測試自動化程度。
建立需求支持體系主要包括三個關鍵過程,分別是:1.建立標準化需求管理體系;2.建立透明化需求支撐流程;3.建立自動化需求測試平臺。下面針對以上三個關鍵過程進行深入的分析和闡述。
需求支撐全生命周期主要包括需求提出、方案設計、需求排版、需求開發、需求測試、需求上線、需求轉維和需求后評估8個主要流程。在明確需求全生命周期流程基礎上,結合日常需求各環節耗時統計,建立需求的標準化過程各環節時限要求。
為更好地實現需求支撐,根據業務需求重要程度和需求復雜度對需求進行分級管理。需求分級評定從需求重要程度和需求復雜度兩個維度出發,需求重要程度包括重要/普通兩級,由需求提出部門需求管理人員對本部門內的需求進行重要程度評定;需求復雜度包括高/中/低三級,根據“需求涉及到的平臺數量”“需求涉及到的渠道數量”“需求涉及到的菜單/接口數量/進程數”“預估工作量”四個維度評估復雜度,由需求主管在完成需求澄清后評定。根據需求緊急程度和需求復雜度對需求進行分級管理,不同等級需求各環節時限要求不同,更靈活、高效的支撐需求上線。
為更好的支撐需求提出部門突發的緊急需求支撐,信息技術中心與需求提出部門共同建立了標準的緊急需求支撐流程,協調開發、測試資源保障緊急需求重點快速支撐。緊急需求需要經過需求提出部門領導審批,緊急需求總工作量一般不能超過該部門需求規劃工作量的8%。
針對部分需求提出時需求描述過于簡單,需求澄清時需要反復溝通和討論的情況,信息技術中心結合需求開發經驗,制定標準化的需求模板和需求澄清模板。需求提出作為需求整個過程的源頭,是需求生命周期的開始。此階段必須對需求進行清晰、準確的描述。基于業務線條和業務形態,梳理設計形成5類45個需求模板,固化至需求管理平臺中使用;結合需求澄清關鍵要素和需求模型,設計4類需求澄清模板,固化至需求管理平臺中使用。各業務主管提需求時首先要選擇對應的標準化需求模板,并將模板中的關鍵要素填寫完整。信息技術中心通過標準化模板的不斷完善,統一需求溝通語言,提高雙方溝通效率。
需求版本管理主要包含以下流程:1.版本計劃:版本主管月底制定下月版本計劃,并進行中心內報備。2.版本排版:根據需求澄清完成時間和版本容量情況,組織版本預排版、版本排版、版本定版,版本定版后啟動版本內需求開發。3.版本跟蹤:定期對版本內所有需求的開發進展和測試進展進行通報,督促所有需求按時完成開發和測試工作,各需求主管應做好排入版本需求的全流程跟蹤。4.版本封版:在版本上線前1天封版版本上線內容,針對上線內容明確影響領域、操作步驟和各環節時間安排。5.版本發布:按照提前報備時間啟動版本升級操作,運維人員負責前臺、中間件、后臺代碼和配置的發布,DBA負責數據庫腳本的發布。6.版本總結:版本上線后,版本主管牽頭對版本上線后的情況、版本開發過程管理情況進行綜合分析、衡量和評估,并組織版本總結會議。7.版本轉維:版本上線后,開發主管根據版本上線情況,以及涉及菜單、進程、接口、短信情況進行轉維。
為確保需求提出人、需求主管、開發團隊、測試團隊等相關人員可以及時了解需求支撐進度,包括需求開發測試進度、需求排版情況、需求上線計劃等,信息技術中心通過需求管理平臺將需求處理流程透明化展示,以版本管理為中心,重點打造版本內需求歸版、開發任務燃盡情況、版本缺陷管理、版本測試日報等功能模塊。
版本內需求歸版包括預排版、定版和版本需求調整。預排版由需求提出部門和支撐部門共同完成,支撐部門結合版本容量、各部門需求量給各需求提出部門劃分需求配額限制,需求提出部門結合本部門需求緊急程度進行預排版,支撐部門根據開發能力、需求復雜度、需求重點性等多種因素對版本內需求進行調整和定版。開發任務燃盡情況體現版本內所有需求的開發進度與預期進度的對比。版本缺陷管理實現需求測試環節中缺陷的全生命周期線上管理,包括缺陷識別、分派、解決、復測、關閉等流程,通過建立缺陷、分派開發主管解決、復測等環節,確保所有缺陷及時處理,同時需求主管、開發人員、測試人員等多角色相關人員能夠第一時間了解需求的缺陷情況和缺陷解決情況,缺陷線上管理還有助于做好缺陷統計分析工作,分析缺陷產生原因,并針對性的制定解決措施,提升需求開發質量,進而提升需求支撐效率。版本測試日報根據需求的測試進度每日自動記錄當日“轉測情況”“測試用例執行情況”“缺陷情況”等測試相關的數據信息,生成工作日報數據,精細化做好版本內所有需求的測試進度跟蹤。
傳統的上線模式需要對應用服務進行暫停,影響客戶感知,故一般選擇晚上操作,上線時間受限。灰度發布模式通過將新版本發布到灰度環境,逐步擴大試用客戶范圍,根據客戶的反饋進行優化,最終使系統平滑升級過渡的一種版本發布方式。灰度發布全程不中斷業務,用戶無感知,上線時間相對靈活,是實現版本快速迭代升級的有利措施。
信息技術中心借鑒互聯網公司先進的灰度發布理念,進行支撐系統架構改造,實現雙中心業務承載,建立灰度發布機制。灰度環境支持按照具體操作員、營業廳、地市等多維度進行放開。灰度發布步驟包括:1.將所有業務切換到單中心(以A中心為例),預留另一中心(B中心)作為灰度環境;2.將新版本代碼發布到B中心,實現B中心的功能升級;3.將單一地市業務切換到B中心,對該地市業務進行關鍵業務驗證,同時通過業務監控和一線使用情況對新版本的功能和穩定性進行生產環境驗證,并針對發現的問題進行解決完善;4.版本穩定后,逐漸將其他地市業務切換到B中心,實現所有地市的功能升級;5.將新版本同步發布到A中心節點,實現AB雙中心功能升級;6.將所有業務按照原來的負載均衡方式,平均分配到兩個中心進行承載,灰度發布結束。灰度發布過程中中心切換不影響用戶業務受理,用戶無任何感知即可切換到新業務版本上,即使是用戶正在辦理中的業務也不會中斷。因此,通過灰度發布方式可以在白天進行版本升級,降低版本升級影響,提升版本迭代升級頻率。
為提高測試自動化覆蓋率,信息技術中心引入Sweetest自動化測試框架,Sweetest框架使用Python語言,具有無需編碼能力,在 Excel 中以文本編寫測試用例,測試人員可輕松上手的優點,而且維護成本低。搭建自動化測試平臺,采用“客戶端→服務端→執行機”的模式,所有的腳本通過服務器管理,多個執行機并發執行,不斷提升自動化測試覆蓋率。
測試用例庫包括關鍵業務測試用例和需求測試用例。關鍵業務測試用例是指每次版本升級后對系統的關鍵功能進行遍歷測試的用例,關鍵業務測試用例需要根據業務的發展而不斷更新,確保系統基本功能全覆蓋。需求測試用例根據需求功能點進行設計,要求包括正常情況下測試用例和異常情況下測試用例。測試用例庫線上管理可以實現測試用例的累積、共享、引用等,豐富測試場景儲備。測試用例包括測試步驟、預期結果、實際執行結果等,測試執行環節支持線上執行,從用例直接生成測試報告,并支持報告導出,提高測試效率。
產品測試是新增產品在放開商用前進行的必要環節。產品測試包括產品配置檢查、前臺產品辦理準確性檢查、辦理成功后數據記錄準確性檢查、計費批價準確性檢查等環節,是驗證產品配置準確性和需求匹配度的重要步驟。為有效提升產品配置準確性,壓縮測試時長,從傳統測試痛點出發,建立產品全流程自動化測試驗證,提升產品測試效率。產品配置檢查通過建立自動化配置腳本稽核,實現對產品配置需求模板信息和實際配置腳本的自動化比對稽核,直接輸出比對結果,有效提升配置信息檢查的準確性,節約配置檢查時長;前臺業務流程驗證通過錄入前臺UI腳本,實現自動化商品訂購流程驗證及客戶資料信息準確性驗證,并同步進行業務流程截圖存留,節約測試人力,減少重復工作量;計費批價準確性驗證通過自動化測試平臺模擬計費和賬單出賬,實現自動化語音、流量撥測,自動化租費及賬詳單出賬,自動化月結低消等結算,實現當天可以進行賬單驗證,不用等待按照自然出賬周期,節約測試時間,提升測試效率。
移動通信公司將著力建立完善的開發、配置、測試機制,以標準化、透明化、自動化為目標,以《信息技術中心需求管理辦法》為指導,以需求管理平臺為抓手,打造“需求響應快、交付質量高”的需求支撐體系,縮短需求交付周期,提升需求交付質量。