【摘要】 引子質量是產品的生命線,質量問題不僅會導致企業財產損失,還可能引發業務中斷、客戶滿意度下降、企業品牌聲譽受損等負面影響。如何在軟件開發過程中全方位構建產品質量防護盾,是各行業保障產品高質量的重要課題。如何保障軟件質量?保障高質量的產品研發,需要在軟件開發生命周期中實現有效的質量管理與控制,讓缺陷在開發、測試、部署各階段無處遁形。從華為公司自身實踐來看,需要從代碼質量、CI/CD 流程質量、持...
1 引子
質量是產品的生命線,質量問題不僅會導致企業財產損失,還可能引發業務中斷、客戶滿意度下降、企業品牌聲譽受損等負面影響。如何在軟件開發過程中全方位構建產品質量防護盾,是各行業保障產品高質量的重要課題。
2 如何保障軟件質量?
保障高質量的產品研發,需要在軟件開發生命周期中實現有效的質量管理與控制,讓缺陷在開發、測試、部署各階段無處遁形。從華為公司自身實踐來看,需要從代碼質量、CI/CD 流程質量、持續反饋與改進三個方面入手,構建全流程質量管理能力。
3 1、代碼質量如何保障?
首先,要對代碼進行檢視。《代碼大全》的研究結果顯示,各種研發活動中,代碼檢視的代碼檢測率高達 60%,可以有效提前發現顯而易見的錯誤隨代碼上庫,提升代碼質量,并且實現高級開發人員的知識傳遞,增強團隊意識。
其次,要建立代碼上庫流程。在軟件生命周期中,缺陷發現越早、修復越早,缺陷的影響和修復代價就越小。數據顯示,產品發布后每個缺陷的平均修復成本是驗證階段的 6 倍以上。為提前攔截產品缺陷,避免有缺陷的代碼合入主干,同時保證代碼符合不同企業的流程規范,靈活有效的門禁控制是必不可少的。
然后,作為門禁看護的重要步驟,要進行代碼檢查。軟件開發事前預防的成本遠低于事后補救。如果程序員在代碼編寫階段能夠及時修正軟件缺陷和安全隱患,避免缺陷流向后端,就可以有效提升產品質量。
1. 提前發現問題:代碼檢查能發現邏輯、語法錯誤和性能問題,預防系統崩潰。
2. 提高代碼質量與安全性:確保代碼符合標準,通過自動化檢查工具快速定位并修復問題,增強系統穩定性和安全性。
3. 持續集成與預防:作為 CI/CD 流程的一部分,代碼檢查有助于快速響應修復,同時積累經驗預防未來問題,提升軟件長期穩定性。
最后,要進行單元測試。單元測試是軟件開發過程中的一種重要測試方法,可以針對程序模塊進行測試從而檢驗其正確性。。
1. 確保功能正確:單元測試驗證代碼單元功能,確保預期輸出,提高代碼質量。
2. 早期發現與自動化:早期發現問題,自動化回歸測試,支持持續集成,減少系統級問題。
3. 促進維護與重構:增強代碼可維護性,支持重構,提高開發效率,提升用戶信心。
4 2、CI/CD 流程質量如何保障?
首先,要建立分層的質量門禁措施。Policy As Code(策略即代碼)是一種通過代碼來定義和管理自動化策略的方法,基于代碼的自動化而不是依賴手動流程來管理策略,允許團隊更快地交付并減少人為配置錯誤的可能性,是一種提高軟件交付質量的最佳實踐。
其次,針對開源軟件要進行風險治理。據調查,全球超過 90%的企業在其軟件開發過程中使用了開源軟件,開源軟件的風險直接影響到產品軟件。開源軟件使用面臨 3 大威脅:網絡安全,開源軟件供應鏈面臨持續漏洞/惡意代碼攻擊風險,過去三年針對軟件供應鏈的攻擊平均年增長高達 742%;供應安全,部分場景下無法繼續參與或獲取開源軟件;合法合規,違反開源 License 會引發相應法律糾紛或訴訟。除了使用軟件成分分析工具對軟件進行掃描,識別使用的開源軟件,進行風險治理,從前端開源軟件引入階段進行開源管控可以更有效的進行開源風險管理。同時要對開源軟件進行漏洞掃描。軟件漏洞不僅會帶來嚴重的安全隱患,還會給企業和用戶造成巨大的損失。
最后,通過灰度發布,企業可以在保持發布效率的同時降低潛在的負面影響。灰度發布模式包括藍綠發布、金絲雀發布、滾升發布等。同時整個發布過程可視化,通過發布單實時觀測微服務的健康情況,異常情況可一鍵回滾至舊版本;從而全方位保證發布的質量和安全。
5 3、如何通過測試持續改進軟件質量?
首先,通過啟發式測試策略與設計,生成高質量用例。及時識別并修正軟件中的缺陷至關重要,因為這些缺陷如果在產品推向市場后才被察覺,其修復成本將顯著上升。統計數據表明,修復市場發布后發現的缺陷的成本是產品測試階段的六倍。這不僅會加大企業的財務壓力,還可能損害產品形象和客戶滿意度。因此,增強測試的全面性,確保在產品發布前捕捉到所有潛在缺陷,是企業必須重點關注的戰略問題。
其次,第一時間攔截現網問題,實時看護運行態質量。功能測試是質量保證中的重要環節,主要目的是驗證軟件的各項功能是否按設計要求正常運行。在功能測試的范疇內,冒煙測試是一種快速檢查關鍵功能是否正常工作的方法,通常用于盡早發現可能影響主要功能的嚴重缺陷,保障測試環境與現網環境部署的質量。
然后,全面質量度量與評估,讓質量管理不開盲盒。科學的質量管理離不開成熟的測試質量評估模型和規范,讓產品質量可視化、可度量,“讓質量暴露在陽光下”,達成高質量的目標。
最后,持續集成自動化測試,保障高質量部署。出色的自動化測試可以提高測試效率、覆蓋率、降低成本,提供快速反饋,幫助開發團隊了解代碼更改的影響,快速定位問題并修復。自動化測試在持續集成環境中也是不可或缺的一部分,它可以在代碼每次提交后自動運行,確保新代碼不引入新的錯誤。
6 華為云軟件質量保障方案
華為云軟件開發生產線CodeArts是華為 30 年研發實踐的沉淀,其端到端質量保障的流程與方法一直在華為研發團隊中打磨、精進,深入軟件開發各環節,助力提升代碼質量、DevOps 流程質量、產品質量,為企業打造可持續改進的、保障高質量產品的平臺,助力企業效率提升,業務無憂。以下幾個重點產品在軟件生命周期質量管理中起到重要作用。
7 代碼檢視
華為云CodeArts Repo提供多維度的代碼檢視能力,以合并請求為維度,提供分散式協同檢視,配合門禁系統保證檢視意見的閉環,從局部層面確保在每次代碼入庫前的質量;以倉庫為維度,提供團隊集中檢視,從全局層面對入庫后的代碼進行檢視,持續保證代碼質量。其檢視功能支持多種角色協同配合,保證檢視意見能夠在不同的角色間靈活的流轉,并且通過權限控制,確保檢視意見可跟蹤,有效閉環。
8 代碼檢查
華為云CodeArts Check為用戶提供深度代碼檢查服務。從開發編碼、代碼合入、版本發布等多個研發階段提供代碼掃描服務,及時發現研發過程中出現的代碼問題或潛在風險。不僅提供了開箱即用的 DevOps 解決方案,還提供了友好的 API 接口,為 CI/CD 提供快速接入能力。
9 測試計劃
華為云CodeArts TestPlan提供需求覆蓋率、需求通過率、用例執行率、遺留缺陷指數等 10 多個質量度量指標,支持按照功能、性能、可靠性等維度評估質量,還支持按照需求、缺陷等維度評估,測試評估從天級縮短到小時級。同時還提供了分支和測試計劃兩級測試質量看板和實時質量報告,全方位、可視化呈現研發測試過程和結果數據,支持產品研發階段隨時評估質量,方便研發團隊及時、高效、準確的掌握產品質量現狀,實時掌控產品的研發進度和風險。
10 灰度發布
華為云灰度發布提供模板化管理,可將發布流程預置為模板,提升發布編排效率,規范發布流程;支持多場景灰度發布模式,包括藍綠發布、金絲雀發布、滾升發布等多種灰度策略編排。提供發布流程控制,將一次發布任務分解為多個步驟,發布與測試同步,通過監控浸泡進行步驟流轉,降低發布風險。同時整個發布過程可視化,通過發布單實時觀測微服務的健康情況,異常情況可一鍵回滾至舊版本,從而全方位保證發布的質量和安全。
從數字世界邁向智能世界,軟件已經成為企業越來越重要的資產。守護軟件質量,也就是守護企業長期構筑“值得信賴”的品牌。“軟件質量”絕非一時興起,而應該在企業中形成“軟件質量”文化,并將質量保障相關的研發工具融入到企業軟件生產過程中,使其每時每刻發揮作用,才能真正將“軟件質量”落地。
審核編輯 黃宇
-
華為云
+關注
關注
3文章
2770瀏覽量
18299
發布評論請先 登錄
小匠物聯亮相廣州建博會:以硬件為觸點,深挖智能家居生態技術護城河

安富利:30載深耕中國市場,長期主義構筑可持續發展護城河

以創新守護未來,用尊重定義價值——金升陽知識產權保護宣言

浙江華遠IPO啟動發行:0.01毫米的“中國精度”,如何卡位全球汽車產業鏈

SPC系統哪家好?邁斯軟件SPC系統值得推薦
徐工汽車榮獲2025年度值得用戶信賴創新城市物流裝備鼎新獎
選擇SOLIDWORKS正版代理商:確保投資安全與服務質量
信雅達入選2024年度中國軟件高質量發展前百家企業
華為云軟件質量保障方案構筑企業值得信賴的護城河
哲訊智能:蘇州SAP代理,引領企業智能化轉型
MES里面有質量模塊,為什么還要實施質量管理軟件QMS

評論