為測試管理正名,華為雲CodeArts TestPlan的守護之道。

2023年1月5日,華為雲CodeArts TestPlan服務正式上線,它沉淀了華為30年高質量的測試工程方法與實踐,覆蓋測試計劃、測試設計、測試執行和測試評估等全流程,能夠確保企業協同、高效、可信地開展測試活動,保證產品質量。

今天,我們繼續來講一講華為雲CodeArts TestPlan的故事。

測試『左移』

時光回溯到上個世紀90年代,隨著中國經濟快速發展,固定電話開始進入尋常百姓家,電話撥號采用按鍵式,而且還能顯示來電號碼,這讓很多家庭興奮不已。

當時,華為公司推出了一款具有自主知識產權的經典產品——C&C08程控數字交換機

你知道,它是如何測試同時接入2000門電話的嗎?

2000人提前約好在某一天的晚上6點半同時撥打電話,先聽聽電話有沒有雜音,然後再嘗試撥通電話,測試完畢後再逐一統計結果。

這就是最原始的人工測試,在今天看來似乎是天方夜譚。

在人工測試階段,由於缺乏測試目標,也沒有專業的測試工具,大多數的測試以功能測試為主,性能測試幾乎很少涉及。

隨著技術的發展,以及測試的規范化、專業化,逐漸規模化的測試活動變得更有計劃性,驗證軟件是否符合需求是測試的主要工作。

之後,獨立測試團隊的出現,使得測試工作更加有序,並開始根據需求寫用例,測試貫穿整個軟件的生命周期,一些自動化的測試工具也被廣泛應用。

測試進入成熟階段的標志是,大規模自動化測試成為常態,旨在提高效率,在有限的時間和大並發的情況下,更好地滿足大規模測試的需求,由此也產生了對端到端測試工具、專項的自動化缺陷管理與閉環工具的迫切需求。

當前,我們正在經歷智能化和在測試中充分應用大數據技術的階段,由數據驅動的測試可有效推動整個測試流程不斷優化,產品質量持續改善。

毋庸置疑,測試則是產品質量的生命線

在軟件研發中,測試是一個包含計劃、準備和測量活動的過程,其目的是確認被測系統的特性,並指出需求和實現之間的差異。

是保障軟件產品質量、提高產品可靠性的重要手段。

以前,一個新產品的推出,從最初的設計、開發、測試直到上市,測試在其中扮演的是『兜底』的角色,從整個流程上看是產品質量把控的最後一道關。

但是現在,隨著測試模式的變化,各類企業都在強調全功能團隊以及測試的前移。

換句話說,測試的作用及發生的時間已經發生了改變,不是產品開發完畢才介入,而是與開發並行,測試前移到了整個研發過程的最前端,即『測試左移』

在現代化的產品開發模式中,由於需求是實時變化的,因此要求持續測試、持續交付,測試不僅要更早地介入到產品研發過程中,而且要融入企業整個的質量工程,不是按照規格和要求完成測試工作就萬事大吉了,將發現的質量問題再反饋給研發人員,而是測試也要主動承擔起產品性能或質量屬性優化的責任,為其提供優化的方向和指引。

如今,企業已全面步入雲時代,從傳統的瀑佈式開發到敏捷開發,自動化、智能化、大數據技術等已經成了最好的助力和發展趨勢。

越來越多的軟件實現了微服務化,這就要求架構解耦,在交付時間上能夠滿足軟件單獨部署和上線的需要。

很多人可能都有過這樣的切身體會,之前一兩個月才能推出一個新的軟件版本,現在開發周期只要兩周,甚至更短。

研發形態的轉變要求測試必須快馬加鞭,而且隨著產品迭代的持續進行,測式也要如影隨行,隨時測試、隨時發佈。

在這種情況下,如何做到分層測試、自動化測試,以及按照應用最細顆粒度發佈的要求完成測試就成了最大的挑戰。

測試隨需應變

軟件測試已經有四五十年的發展歷史。

隨著軟件技術的發展,及其結構、形態的不斷變化,測試也在求新求變。

雲計算、微服務、組件化等的流行,再加上嵌入式架構的廣泛應用,推動了測試技術不斷向前演進。

原來緊耦合的『一塊鐵板』式的軟件,與現在松耦合、組件化的軟件,對於測試的要求肯定大相徑庭。

微服務化後,每個軟件模塊能否獨立驗證,模塊間的集成有沒有問題,整體系統的可靠性、性能和韌性能否得到充分保障?這些新的需求無疑增加了測試的復雜度。

近些年,新的產品形態不斷湧現,比如AI、AR、區塊鏈等,它們和傳統的軟件是完全不同的。

以AI為例,它的應用場景越來越豐富,包括自動駕駛、物體識別、智能音箱、智能問答等,保證AI產品的質量、可信、可靠,需要更加深入的研究和測試來驗證。

除了技術層面的挑戰以外,企業對產品質量內涵的認知,也是影響測試演進的一個重要因素。

不同的企業因交付的產品形態不同,對於產品質量的把控,以及在測試上投入的多寡程度也是有差異的。

比如,一些互聯網企業和創業企業會要求新產品快速上線、盡快變現。

因此很多測試是在產品上市之後,以在線的方式廣泛邀請用戶來參與測試。

在很多互聯網應用的場景下,這種測試模式是沒有問題的,即使在測試中發現了一些問題,可以及時回退,並不會造成嚴重的負面影響。

但是這種測試模式如果放到制造業或者關系到人民生命財產安全的領域,則是萬萬行不通的,而是必須在產品研發過程中建立層層的質量防護網,以確保產品上線後的絕對安全和質量可靠。

舉例來說,2019年12月,某航空公司新一代載人飛船發射升空。

就在運載火箭工作結束後,飛船卻出現了故障,最終導致無法與國際空間站對接,不得不提前返回地面。

經調查,因為測試載人飛船軟件系統的程序存在嚴重缺陷,在測試階段隻是將整個飛行過程分成了幾個小單元分別進行測試,而沒有對飛船進行從發射到國際空間站對接再到著陸的全流程集成測試,才導致了事故的發生。

隨著企業的業務規模迅速擴張,軟件代碼量會越來越大,產品的架構也會趨於復雜,同時組件之間並發的分支項目也會增加,相互之間協調協同的效率就比較低。

為了應對上述挑戰,華為致力於通過一種啟發式的設計,最大程度提升測試的完備度,避免一些問題流入到現網中,導致事故發生。

另外,華為希望通過像華為雲CodeArts TestPlan這樣的一站式測試管理平臺,助力企業輕松驗證產品的特性和功能。

華為雲CodeArts TestPlan適用於多種場景,既能滿足大型企業全功能團隊的測試需求,也能很好地支持『雙披薩團隊』《Two-pizza teams)的測試需求。

CodeArts TestPlan的前世今生

華為雲CodeArts TestPlan經歷了華為內部應用並反復打磨,然後形成通用的平臺和能力,上線華為雲對外輸出,賦能企業的現代化開發。

無論是從技術成熟度、平臺的穩定性和適應性,還是應用的商業化、服務的全面性等方面衡量,華為雲CodeArts TestPlan完全能夠滿足各類企業的產品測試需求。

大約在1994~1998年間,當時還是手工測試階段,華為內部就開始嘗試采用測試管理工具,對手工測試用例進行管理。

不過,由於華為內部業務部門眾多,測試需求各異,各業務線或自建,或采用開源軟件,或直接購買商用測試軟件,以實現對測試的管理。

眾所周知,華為一向視產品質量為生命。

但是當時,華為雖然設有質量部,但是在產品出口還缺少一個統一的抓手,即一個權威的、標準化的,能夠對測試進行可視化管控的平臺。

隨著業務規模逐漸擴大,協同的要求越來越高,以前在測試管理上各自為政、『野蠻生長』的方式已經不合時宜,華為亟需從整個公司的層面,建立一個統一的測式管理平臺。

2004~2005年間,華為從各條產品線抽調了一些精英,成立了測試工具部,負責構建統一的測試管理平臺,並且制定了測試管理的相關標準。

之後便有了雲龍平臺,它收編了各個產品線用到的測試管理工具。

華為還在其中融入了對大規模測試用例的管理,包括測試設計、測試執行、測試度量等,從而將整個測試活動可視化地呈現出來。

在這個平臺之上,『產品質量暴露在陽光之下』,相關各方可以清楚了解別人在做什麼,以及質量把控進展到了哪個階段等。

大約在2015~2016年間,像電力、交通等企業對產品質量的要求越來越高,但市場上缺乏端到端的測試管理平臺。

華為敏銳地察覺到了這一訴求,從多維度進行綜合評估,認為有必要將雲龍平臺的能力對外輸出,以滿足更多行業用戶的需求。

這之後又經過五六年的完善和打磨,華為雲終於在2023年正式發佈了CodeArts TestPlan,它能夠端到端管理所有的測試活動,不僅包括手工的測試活動,還有大量自動化的測試,並且在所有測試活動結束後能夠匯總輸出一份完整的報告,從中可以洞察測試迭代的情況以及測試質量等。

以華為雲CodeArts TestPlan的發佈為裡程碑,華為雲致力於打造產品質量的『守護神』,以高效、協同、可信的測試管理,守護產品質量之魂

未來,華為將進一步開放其測試管理平臺,比如提供插件市場,更好地對接合作夥伴或第三方公司,引入更多的測試能力,共建測試管理平臺,服務更多開發者,打造一個繁榮的開放的測試生態環境。

測試管理的根與魂

測試管理也是有『靈魂』的。

華為雲CodeArts TestPlan一站式測試管理平臺的靈魂就是華為30年來對高質量的嚴格要求,以及不斷積累的相關測試工作方法和實踐。

完全自主研發的華為雲CodeArts TestPlan的最大特色就是『全』,它覆蓋了從測試計劃到測試設計、用例、執行、評估的全流程,不僅可以用於小型的敏捷化項目,而且也能支持大規模的,產品架構復雜的多組件、多分支的項目。

組織人員多、人員之間的測試協同效率較低、測試人員流動性大、無法有效沉淀測試資產,以及流程無法固化等是困擾企業開發效率和質量提升的『魔咒』。

華為雲CodeArts TestPlan具有五大特性

  • 采用啟發式測試策略與設計,測試完備性不再遙不可及;
  • 億級測試資產管理、大規模團隊測試協同,保障產品特性不丟失;
  • 內置IPD測試流程與規范,讓高質量從偶然到必然;
  • 全方位測試質量評估,杜絕『盲人摸象』;
  • 建立測試雙向追溯鏈,通過過程的可信保障結果可信;

能夠實現測試全流程標準化、測試經驗復用及基線化,以及測試端到端過程動態實時監控,不僅可以有效保障測試過程可信,而且能夠保證產品和服務的高質量交付,破除『魔咒』。

特別值得一提的是,華為雲CodeArts TestPlan中內置了IPD測試流程與規范,在測試的全流程中融入了IPD高質量實踐精髓,這是其獨有的功能。

為保障產品研發活動中的測試流程有序、高質量開展,華為在IPD中定義了從需求分析到版本發佈間的詳細測試活動流程、規范,通過流程規范保障測試驗證的高質量。

在IPD方面,華為擁有20多年的技術和經驗積累。

在測試的不同階段,比如概念階段、計劃階段、開發階段、驗證階段、發佈階段,通過內置的IPD固化了一些『規定動作』。

比如在概念階段和計劃階段,涉及測試策略、測試需求分析、測試設計等一系列動作;

再比如,在驗證階段,提供系統驗證測試來滿足質量評估要求,以確定產品最終能否上線。

這些固化的『規定動作』都是經過千錘百煉和實踐驗證的華為測試經驗之大成,能夠讓測試工作事半功倍。

另外,華為雲CodeArts TestPlan在測試報告的呈現上也有自己的獨到之處,主要體現在以下四個方面:

  • 第一,全面。

    報告中提供了多個維度的質量指標,包括需求的覆蓋率、需求通過率、用例執行率、缺陷指數等,並且能夠從功能、性能、可靠性等維度全面評估軟件或雲服務的質量;

  • 第二,報告中融入了華為30年對軟件雲服務的質量評估經驗,這套規范和模型可以讓用戶更加科學、客觀地評估產品,並且讓產品的質量可視化、可度量;
  • 第三,提供兩種測試報告方式,不僅可以實時地評估整個項目的測試質量,而且提供了測試質量看板,讓測試人員或開發人員能隨時看到當前時刻測試的過程數據以及相關的結果數據,方便他們及時高效地掌握產品的質量及研發的進度和風險;
  • 第四,報告非常靈活,看板數據提供了多維度、自定義報表功能,在固定的報表無法滿足需求時,用戶可以通過自定義的方式,靈活創建一個定制化的看板。

當前,TestPlan還是華為雲CodeArts的一項子服務,以充分保障基於CodeArts開發的軟件的高質量上市,盡量避免缺陷的產生。

『內外』兼修,高質量交付立竿見影

截至2022年年底,華為雲CodeArts TestPlan已經高效支撐了華為超過4萬測試人員的測試作業,測試用例月執行超過2億次,月API調用量超過12億次,累計管理10億以上的測試用例,覆蓋華為終端、網絡、雲計算、芯片、汽車等諸多業務場景。

從整體用戶反饋來看,采用華為雲CodeArts TestPlan之後,在測試設計階段,效率平均提升30%以上;在測試評估階段,效率平均提升超過50%

華為汽車部門原來采用線下方式,通過Excel表格來跟蹤產品測試情況,但可追溯能力遠遠不足。

現在包括測試策略、測試車機等在內都采用了華為雲CodeArts TestPlan,極大地提升了測試效率和產品質量。

從L1到L4的智能駕駛解決方案以及MDC、中控等組件,還有智能座艙等,在產品測試時都采用了華為雲CodeArts TestPlan,確保華為與智能駕駛相關的產品和組件都順利通過了ASPICE的各級認證。

另一個例子,華為數通路由器業務擁有豐富的產品系列,其超大規模、高復雜度的產品測試,需要與之相適應的大規模測試團隊和工具。

華為雲CodeArts TestPlan幫助華為數通路由器產品繼承復用十餘萬存量特性用例,累計管理近百萬用例,並且支撐大規模測試團隊高效協作,快速開展測試活動,將全量測試執行周期從周縮短至天,並確保了路由器產品高效率、高質量交付。

國內物流行業某頭部企業采用了雲原生開發模式,400多人的研發團隊在測試中主要采用了華為雲CodeArts TestPlan的接口測試和性能測試相關服務。

結果顯示,接口測試速度提升5倍以上,業務全流程的上線時間也從之前平均兩天縮短到最快一個小時

基於華為雲CodeArts TestPlan,長安汽車搭建了統一的測試質量平臺,實現了測試活動的標準化,以及質量控制的大屏可視化,進一步增強了管控能力,攔截了70%的接口問題,早於用戶發現了30%的潛在問題

測試不僅僅是為了發現問題,更重要的是深度融入產品開發流程,為改進產品的架構設計、提升產品質量添磚加瓦。

為此,華為雲率先提出了『性能工程』的概念,旨在將性能測試變成一個工程化的場景,讓用戶對於產品性能的改進有一個歷史性的、全面性的把控,從而做出正確的決策。

獨特的基因,品質守護無處不在

國內開發測試市場頭部效應顯著,測試平臺提供商主要包括國內主流的雲服務商、國外知名的軟件平臺企業,以及一些專業的測試方案提供商。

從橫向比較來看,公有雲服務商主要是在其公有雲上提供核心的測試管理功能,但不具備自動化測試的相關內容,形態較為單一。

國外軟件平臺企業提供的測試服務主要面向敏捷開發與交付,功能相對簡單,主要包括測試計劃、測試用例管理,以及一些探索性測試。

而那些專業測試方案提供商的服務過於垂直,並不能深度滿足企業大規模測試的需求。

華為雲CodeArts TestPlan既有公有雲版本,也有下沉到私有雲的版本。

包括中經社在內的很多大型企業都采用了華為雲CodeArts TestPlan的私有雲版本。

華為雲CodeArts TestPlan的初衷,也是希望既能對接開發者以及小微企業,幫助他們實現敏捷開發、持續測試與反饋,同時又能很好地支撐大型企業復雜的開發流程,成為測試管理領域的『金字塔尖』。

與其他測試方案提供商不同,華為雲CodeArts TestPlan背後依靠的是華為強大的制造基因,以及30年積累的豐富的產品開發經驗。

在組網條件復雜,測試形態、測試方案多樣的情況下,華為雲CodeArts TestPlan按照思維導圖的方式輸出其測試設計,提供全面而強大的測試管理能力。

比如華為雲CodeArts TestPlan獨有的內置IPD流程,凝結了華為多年的品控經驗,即使在百萬級別的用例規模管理中也能做到遊刃有餘,從而確保產品高質量上線。

產品質量控制貫穿從產品設計到上市的全流程,而華為雲CodeArts TestPlan就是無處不在的『守護神』,能夠幫助用戶全面、高效、精準地開展測試驗證活動,提前在研發階段攔截缺陷,並加速缺陷發現和閉環,從而保障產品上市質量,持續提升滿意度。

本文轉載自公眾號:雲報

關注@華為雲,了解更多資訊