天天看點

得物品質管理體系的建設與應用

作者:閃念基因

背景

品質保障是一門基于軟體測試的系統化工程,遵循漸進式的發展規律。通過因地制宜地制定落地政策,設計場景方案,擷取試驗結果,并加以循環往複。最終,在每一位得物測試工程師的共同努力下,積累出一套适應得物技術的品質保障方法論,即本文介紹的得物品質管理體系。

建設“四化”體系

得物品質管理體系,曆經三年的建設,現已擁有了完備的機制、流程、方法以及工具。目标是通過實作标準化、線上化、自動化以及智能化,最終形成立體的得物品質管理體系。其中:

  • “機制”即:(研發)品質保障機制。以“疊代品質評審機制”為基礎,每疊代開展,上線風險可控,方可準出。
  • “流程”即:測試&協同流程。分為測試流程以及協同流程。測試流程的應用,用于不偏不倚地反映研發品質;輔以測試品質校準。協同流程的有效應用則會幫助測試品質提升。是以,引入協同品質,用以穩定測試品質,保障最終線上穩定。
  • “方法”即:落地實施方法。以業務域“品質月”活動為主要載體,持續優化研發過程品質,包括跨域評審、CR合并、準時提測、冒煙通過、缺陷日清、缺陷引入、缺陷逃逸等基礎名額。
  • “工具”即:品質工程工具。圍繞穩定、品質、效率、安全、體驗、合規為核心,完善工具支撐能力。每個工具的最終都會指向到核心的一項中去,如:RDC 用于使得研發流程标準化、線上化以及部分自動化,以提升協同效率,進而優化傳遞“效率”;品質大盤作為研發過程品質洞察的可觀測性工具,服務于過程“品質”。現有的工具(研發工具鍊)如下圖所示:
得物品質管理體系的建設與應用
  • “疊代品質評審機制”是品質平台全域統一的評審機制。依托于品質大盤為主要工具,結合各業務域的品質保障組合政策,聚焦于每個疊代版本的品質與效能下鑽分析。識别目前疊代内,影響到傳遞的風險以及相對應的規避措施,確定在低風險或者風險可控的情況下釋出上線。
  • “内建品質”俗稱“研發品質”,提測後正式固化。“測試品質”通過缺陷逃逸水準,反應測試覆寫的全面性,同時,可校準研發品質。“協同品質”用以穩定測試品質,保障最終的線上穩定。舉例說明如下:
    • 需求未能準時提測,帶來的測試執行進度風險;
    • 頻繁過程變更帶來估時偏差,返工損耗,甚至遺漏的變更覆寫。
  • “品質月”專項活動在得物技術各業務域全面推廣,通過“事前”應用跨域 用例評審機制,拉通上下遊協同技術實作與驗證覆寫場景;“事中”應用“疊代品質評審機制”,有效評估過程品質風險,嚴格把控準出的需求品質;“事後”應用“線上事件複盤機制”,形成結果校驗,以指導下一疊代在開發、測試、釋出、生産各階段的細節優化與改進。在取得全面結果後,該活動所倡導的“品質”關鍵詞,早已融入到每一位得物技術人的意識中,日常踐行高品質地傳遞标準。
  • “機制、流程、方法、工具”的關系,定義為機制設定了品質管理的總體架構和目标,流程定義了達成這些目标的具體步驟,方法是在流程的每個步驟中采取的具體實施技術,而工具則是執行方法和流程所需的輔助裝置或軟體。這四個概念互相依賴,互相促進,共同構成了研發品質管理的整體體系,確定産品和服務從設計到傳遞的每個環節都能滿足預定的品質标準。

機制的目标與架構

品質是品質保障機制的立身之本,穩定是有效品質活動的自然結果。通過合理的故障定義與分級作為牽引目标,遵從不出大問題(故障),小問題快速恢複(冒煙點/事件),将故障影響盡可能最小化(故障影響 = 故障影響面 x 故障修複時長)的原則加以校驗。

随着得物業務規模的迅猛發展,得物App可用率、資損防控、隐私合規、資料安全等方面面臨着嚴峻挑戰。得物技術依據業務特性分而治之,同時,依據生産故障等級逐層降級達到化整為零的效果,取得生産故障總數連續下降的佳績。如下圖所示:

得物品質管理體系的建設與應用

品質保障機制的架構描述為:以品質管理白皮書 V2.0澄清階段的品質目标,具象化地定義相應的執行規範與配套要求。在疊代過程中應用疊代品質評審,于準出前識别風險并做下鑽歸因診斷,形成風險降級或風險規避的具體措施,并加以在上線前落實;最終,通過疊代品質複盤,還原過程典型現場,舉一反三;同時,以線上營運結果校準/修正目标及其配套規範的适配性。整個過程如下圖所示:

得物品質管理體系的建設與應用

進而通過重複上述循環,形成螺旋式的上升效果,有節奏地遞進到更高的目标。

得物品質管理體系的建設與應用
得物品質管理體系的建設與應用

值得指出的是,經過上百個疊代的優化,研發品質顯著提升超60%,技術債務大量減少70%;過程基礎品質名額,如準時提測率、冒煙通過率穩定在99%以上。

得物品質管理體系的建設與應用
得物品質管理體系的建設與應用

流程與規範

得物項目管理,通過Sponsor 區分業務與技術兩種類型的需求類型;同時,依據需求複雜度、規模等考量落入疊代或項目中,進行傳遞。針對四種組合,即業務疊代、業務項目、技術疊代以及技術項目。測試的流程與規範略有差異,分别制定了業務/技術疊代需求品質保障流程與規範、業務/技術獨立項目品質保障流程與規範(含小項目)。下圖為通用測試流程與規範:

得物品質管理體系的建設與應用

其中,特别制定品質平台業務/技改需求品質保障方案,定義測試關鍵Action、準出标準、以及工具平台,細化指導測試團隊開展工作,如下圖所示:

得物品質管理體系的建設與應用

過程中,基于case驅動優化改進,沉澱出跨域用例評審流程與規範品質平台跨域用例評審機制實施方案V2.0,以規避多業務域橫向協作引起的邊界問題未覆寫情況。

此外,針對業務/技術項目,制定品質平台業務/技改項目品質保障方案,細化測試Owner的職責與執行規範。針對業務刷數的場景,制定業務刷數測試方案,明确流程規範,降低高頻的業務刷數變更帶來的變更風險。

方法與工具

測試用例,是最基礎的測試資産,正如代碼之于API,API之于分布式系統。借助各類工具平台可轉化或加工成多種形式的“測試産品”。而各類“測試産品”的應用依托于得物業務域的研發、測試同學的落地實踐,通過三年的連續積累,形成了百家争鳴,蓬勃發展的态勢。以下是一些典型的實踐:

  • 接口自動化測試,作為回歸測試的主要方法,也是經典的測試執行提效方法。通過接口自動化平台,應用于開發自測、冒煙(準入)以及內建回歸階段。ROI呈現線性關系,對于高頻疊代的模式下,自動化測試能夠做到核心鍊路的可用保障;尤其在服務/接口遷移,架構治理等技改項目中收益最大化,為技術債務清償保駕護航。
  • 流量回放,作為上線前的測試兜底方法,通過流量錄制回放平台,應用于預發階段。通過簡單的生産錄制,預發回放方式,較低成本獲得一次較真實的使用者場景覆寫。結合接口覆寫率,挑選或構造增量流量到流量池,使得分布更全面。由于其低成本的應用方式,可低成本地應用于釋出前的兜底測試;另外,針對服務/資料遷移,局部重構等變更極其應用友好,大大降低測試投入。
  • 精準測試,作為輔助測試分析與執行方法,查漏補缺提升測試覆寫率,測得更準。通過精準測試平台,應用于冒煙階段(提測後),依據代碼變更,配合已維護的标簽及綁定關系,如資損字段、資損碼、(越權)敏感等。推薦測試用例執行覆寫。如果出現差集,即未有關聯的接口,往往需要CR 并評估覆寫計劃。其應用既能校驗變更Scope評估準确性,又能評估測試分析的全面性,對于業務/系統子產品的了解形成了正回報。
  • 監控告警,作為線下輔助測試執行的方法,查漏補缺攔截異常缺陷,測得更細。通過監控平台,應用于線下測試執行階段。開發、測試同學共同制定業務告警規則,以實作告警聚合與收斂;在此基礎之上,實作告警洞察與缺陷轉化,以T或T+1日清方式加以良性應用。
  • 前端巡檢,作為使用者體驗的主動響應方法,每日巡檢關注使用者側使用回報,早發現早修複。通過前端巡檢平台,針對存量URL 通過近xx日TOP通路記錄導入,設定定時任務巡檢;增量通過精準URL推薦導入,巡檢覆寫。在預發階段可以提前攔截JS Error異常,在生産營運階段可以做到早發現早介入,先于使用者主動攔截。
  • 資損防控Dcheck,作為資損攔截的有效辦法,實時對賬,早發現早止血。通過Dcheck平台,以線上線下結合的方式應用。線下演練資損場景,并能起到腳本規則的保鮮作用;線上實時監聽,異常告警。
得物品質管理體系的建設與應用

在工具應用方面,值得關注的是,有三個成本需持續優化以逐漸降低:

  • 測試用例的“轉化”成本(開發投入度)
  • 工具間互相“支援”成本(內建費力度)
  • 各類工具的“應用”成本(工具易用度)

下圖是一些效率優化點及優化思路。

得物品質管理體系的建設與應用

最終,有了工具原子能力清晰,組合應用便捷的效果,讓測試工程師逐漸專注于對業務系統的深入了解,對技術實作的精細評審,進而完成合理的測試政策制定與靈活實施。

聚焦“關鍵詞”

得物技術“關鍵詞”作為官方劃的重點,是紛繁複雜工作開展的價值判斷依據,亦是階段複盤總結的中心思想,更是有效業務支撐的前哨與燈塔,指引技術工作做對、做好。以終為始,圍繞“關鍵詞”不懈實踐,持續收獲。

得物品質管理體系的建設與應用
  • 穩定,一般情況下是有效品質保障的自然結果。往往由穩定性或運維團隊主導,對線上進行實時監控,故障應急響應。生産故障數及其分布是主要核準名額。政策上遵從:不出大問題,小問題快速恢複,将故障影響盡可能最小化,即:故障影響 = 故障影響面 x 故障修複時長。
  • 效率,通過業務傳遞能力、計劃保障能力以及過程協同能力自底向上逐級支撐與保障以實作高效的目的,也就是用資料呈現“多”與“快”,結合NPS 拟合業務體感。
  • 體驗,面向使用者改善使用得物産品的體驗。使得App更好逛,商品更好買/賣,售後更放心等。針對得物App進行啟動、首響、性能、包體積、安全隐私合規等多方面的度量,基線防劣化以及競品評級追蹤。
  • 成長,軟體工程是一門重實踐學科,實踐、持續實踐,實踐中獲得的積累就是工程師成長的獲得。依據費曼學習法,結合部落格想清楚、寫出來、通過分享講明白。
  • 創新,通過“組合創新”、“AI創新”在穩定、效率方面深入挖掘找到有效的場景。穩定方面,聚焦覆寫全面性及覆寫顆粒度;效率方面,聚焦實施、營運降低。

總結

  • 機制設定了品質管理的總體架構和目标,流程定義了達成這些目标的具體步驟,方法是在流程的每個步驟中采取的具體實施技術,而工具則是執行方法和流程所需的輔助裝置或軟體。這四個概念互相依賴,互相促進,共同構成了研發品質管理的整體體系,確定産品和服務從設計到傳遞的每個環節都能滿足預定的品質标準。
  • 品質保障機制的架構描述為:以品質管理白皮書澄清階段的品質目标,具象化地定義相應的執行規範、要求;在疊代過程中應用疊代品質評審,于準出前識别風險并做下鑽歸因診斷,形成風險降級或風險規避的具體措施,并加以在上線前落實;最終,通過疊代品質複盤,還原過程典型現場,舉一反三;同時,以線上營運結果校準/修正目标及其配套規範的适配性。
  • 測試用例,是最基礎的測試資産,正如代碼之于API,API之于分布式系統。借助各類工具平台可轉化或加工成多種形式的“測試産品”。
  • 有了工具原子能力清晰,組合應用便捷的效果,讓測試工程師逐漸專注于對業務系統的深入了解,對技術實作的精細評審,進而完成合理的測試政策制定與靈活實施。
  • 得物技術“關鍵詞”作為官方劃的重點,是紛繁複雜工作開展的價值判斷依據,亦是階段複盤總結的中心思想,更是有效業務支撐的前哨與燈塔,指引技術工作做對、做好。以終為始,圍繞“關鍵詞”不懈實踐,持續收獲。

作者:布魯斯

來源-微信公衆号:得物技術

出處:https://mp.weixin.qq.com/s/OxclNIXYXV--uozr1z3QWw

繼續閱讀