持續測試的興起:寫在 MeterSphere 開源專案 GitHub Star 數量突破 1000 之際
6月15日,FIT2CLOUD飛致雲在GitHub上正式釋出了MeterSphere專案,這是一個開源的一站式持續測試平臺專案。這是FIT2CLOUD在測試領域的首次嘗試,在專案釋出後,我們收到了社群非常積極的響應。
專案官網:https://metersphere.io
程式碼倉庫:https://github.com/metersphere/metersphere
尤其是在7月的最後一週,MeterSphere專案在程式碼託管平臺GitHub上的Star數量和下載數量持續創出新高,連續多日登上GitHub趨勢榜。7月31日,MeterSphere專案的GitHub Star數量突破了1000個。
▲ MeterSphere專案GitHub Star數量增長趨勢
我們也在思考,一款開源的持續測試平臺為何能在短時間內從開源社群獲得如此積極的反饋。我們將這些思路整理成這篇文章,與大家共同探討。由於時間有限(原本計劃在8月底成文,沒想到專案發展遠遠超出了我們的預期),思考和行文難免倉促,如有不夠深入或者不夠準確的地方,希望大家多多指正和溝通。
背景:數字業務的爆發和DevOps的廣泛採納
過去幾年間,企業的數字化轉型成為IT領域中不同角色都在共同關注的熱點。在中國市場,由於網際網路應用領域的深度發展以及極其慘烈的市場競爭,企業的數字化轉型現在不僅是很多企業謀發展的關鍵支點,同時也正在成為企業生存的根基。在這種情況下,無論是企業在營銷端的高效獲客、產品端的研發製造,還是運營端的業務支撐,都在迅速地向數字化演變。
數字業務的爆發,必然會導致企業對軟體研發的強烈需求。更有一種聲音認為,在21世紀所有企業都會成為一家軟體企業。
但是,回顧軟體發展的歷程,毫不誇張地說,軟體研發對於很多企業來說是一場高風險的投入,面臨著非常多的不確定因素和較高的失敗率。所以,過去的幾十年,整個軟體行業都在尋找降低軟體生產風險和提升軟體生產效率的有效方法,這種現實的需求驅動了DevOps的廣泛採納。
DevOps在整個軟體生產流程中的每個環節都引入“持續”的理念,包括如“持續開發”、“持續整合”、“持續測試”、“持續部署”,以及“持續監控”等一系列具體實踐。
▲ DevOps與持續測試
所謂“持續”理念,就是把軟體生產流程中的每個環節都實現“反覆、高效地做”,從而讓每個環節的反饋效率得以提升,讓完整的迭代流程儘快走完。為了達到“持續”的效果,DevOps要求軟體生產的每個階段儘可能地提升自動化能力,並且鼓勵實現不同環節之間的高效銜接與溝通。
緣由:持續測試成為DevOps領域的關注熱點
作為在測試領域落地DevOps實踐的載體,持續測試可以理解成為自動化測試的一種執行過程。一方面,持續測試高度依賴自動化測試的能力落地;另外一方面,持續測試還強調自動化測試能力在整個DevOps軟體生產流水線的融入,實現測試左移和右移。
總結來說,持續測試在DevOps實踐中的定位如下圖所示:
▲ 持續測試在企業DevOps實踐中的定位
目前,持續測試成為DevOps領域的關注熱點。這主要是因為,相比於軟體生產流程的其他階段,測試已經在很多企業和領域成為落地DevOps方法論的事實瓶頸和關鍵限制。這具體體現在以下幾個方面:
■測試階段幾乎是把人力浪費在重複過程中最多的環節。由於軟體質量管理的需要,測試階段有很多需要回歸和重複驗證的工作。而持續測試的理念又加重了這種重複工作在整個工作中佔比。基於這個原因,“如何在這些環節釋放人力,提升自動化能力”成為DevOps方法論能夠完整落地的關鍵;
■ 測試工具平臺發展的滯後是一個不爭的事實。相比程式碼管理、持續構建、持續部署等其他環節,測試工具的發展是明顯滯後的。傳統軟體測試平臺儘管有比較好的測試管理及整合功能,但它們普遍在提供現代化軟體測試的自動化工具能力方面表現不佳,對於微服務化介面測試、網際網路化壓力測試,以及新型技術棧適配上都還不盡如意。
正因為如此,開源社群出現了像JMeter、Postman這樣的明星測試工具。但是,大家使用後會發現,這些新興專案基本都定位在解決單點測試能力的問題上,尚未承擔起持續測試落地的任務。
正是基於這些觀察和思考,我們有了構建一站式持續測試平臺的想法。我們希望這個平臺能夠幫助企業解決持續測試在企業環境落地所面臨的現實問題,從而在整體上提升企業內測試團隊的運營效率。
具體來說,我們希望從以下幾個方面來構建這個一站式的持續測試平臺:
■ 整合當前最普遍使用的自動化測試能力工具。如前所述,持續測試是自動化測試一種執行過程。自動化能力永遠是持續測試的基礎。相比之下,市面上常見的測試管理平臺(例如TestLink、JIRA等)目前僅停留在測試流程的跟蹤和管理,普遍缺少對於自動化測試能力的對接。沒有這一環節支援,很難提升自動化測試在整個測試工作中的佔比,也就很難達成持續測試的初衷。
■ 實現測試團隊內部活動的全生命週期線上化管理。除了整合各種自動化測試能力工具外,同樣需要提供完整的測試流程跟蹤能力,並且實現測試設計、測試計劃、測試執行和測試報告等不同階段工作的關聯和整合,從而實現測試團隊內部活動的全面線上化管理,增強測試團隊內人員的溝通協調效率。
■ 協作測試能力的外溢,幫助落地測試左移和測試右移。如前所述,持續測試除了強調測試團隊內部的協調外,還希望能夠支援跨階段的協作。具體表現為測試左移和測試右移兩個方面。
所謂測試左移是指將測試手段向DevOps流水線的左側階段蔓延,從而達到利用測試手段更早地獲取軟體需求、開發階段設計及質量反饋。與之類似,測試右移也是通過將測試手段向業務系統運營階段延伸來儘快地獲取軟體在滿足業務目標能力上的反饋。
落地:MeterSphere一站式開源持續測試平臺
正是基於以上的觀察和思考,我們產生了構建MeterSphere一站式的開源持續測試平臺的想法。在成功運營了JumpServer和KubeOperator這兩個開源專案之後,我們對開源軟體的模式有了更加深入的理解。而開源也正在深刻地影響著測試軟體市場。
Gartner預測,到2023年,DevOps的創新將會驅動75%的企業採用開源框架和工具來落地持續測試。
MeteSphere專案遵循GPL v2開源許可協議,涵蓋了測試跟蹤、介面測試、效能測試、團隊協作等功能,相容JMeter等開源標準,有效助力開發和測試團隊充分利用雲彈性進行高度可擴充套件的自動化測試,加速高質量的軟體交付。
MeterSphere 開源持續測試平臺的特性包括:
■ 全生命週期支援:覆蓋用例管理、測試計劃到測試執行、測試報告分析的不同階段,提供從手動功能測試生成介面測試、從介面測試生成效能測試的一站式功能支援。比方說,MeterSphere支援測試用例與自動化測試場景的關聯,並且能夠通過對自動化測試場景的測試結果跟蹤來反饋相關測試用例的執行結果;
■ 自動化&擴充套件性:支援介面和效能的自動化測試,可以充分利用雲的彈性實現超大規模的效能測試。在自動化測試方面,MeterSphere成功地降低了自動化測試工具的使用門檻,儘可能地隱藏掉相關的工具使用細節。MeterSphere可以幫助使用者完整地管理效能測試的發壓端環境管理工作,整合基於傳統主機、Kubernetes叢集或者雲環境的發壓端,幫助客戶解決分散式壓力發生排程等細節問題。此外,對於各種自動化測試工具的測試結果分析和視覺化也同樣大幅度降低了自動化工具採納的門檻;
■ 持續測試:能夠與持續整合工具無縫整合,支撐企業實現測試左移。持續測試強調在測試階段能夠很好地融合到DevOps流水線之中,所以和DevOps流水線其他階段的整合也是MeterSphere的重要特質。目前,MeterSphere平臺已經支援與持續構建工具Jenkins、常見需求及Bug管理工具JIRA的對接;
■ 團隊協作:可支援不同規模的測試團隊,從小到幾個人的測試團隊,到數百人的測試中心均可基於MeterSphere實現團隊協作。MeterSphere支援常見使用者源的對接,提供“組織-工作空間-專案”三級管理體制,支援完善的基於角色的許可權管理機制等。這些機制保證平臺有能力將測試能力和手段有效應用於公司內的測試左移和測試右移場景。
以上特性讓MeterSphere不同於其他測試領域的工具和平臺,相信這也是它能夠在開源社群受到廣泛歡迎的關鍵所在。社群內不少JMeter的客戶都在積極嘗試使用MeterSphere,以升級其對於效能及壓力測試的管理。
相比JMeter,MeterSphere在以下五個方面實現了功能增強:
▲ 有了JMeter,為什麼還需要MeterSphere?
展望:不忘MeterSphere的初心
MeterSphere v1.0版本釋出至今已經有6周的時間了。在此期間,我們快速釋出了v1.0和v1.1兩個版本,並且穿插釋出了多個缺陷修復的小版本。
我們短期將專注於已釋出功能的完善與增強,即現有介面測試、效能測試和測試跟蹤上的功能增強和使用者體驗完善。未來,我們會依據社群反饋加入UI自動化測試、Mock服務、安全測試等新功能模組,向著“打造一款真正意義上的一站式開源持續測試平臺”的目標不懈努力。
▲ MeterSphere在企業DevOps實踐中的定位
伴隨著企業數字業務的快速發展,整個軟體行業的人員和市場規模會繼續快速膨脹。在這種情況下,快速提升整個行業的執行效率會帶來巨大的社會效應和市場價值。
MeterSphere解決了當前企業面臨的一個通用問題——如何幫助企業內的測試團隊更好地適應軟體生產流程DevOps化的這個潮流。任何有意進行軟體生產流程現代化轉型的企業都有機會從MeterSphere這個專案中獲益。
開源模式已經被軟體行業實踐證明是當前最為高效的軟體分發途徑。我們希望能夠複用我們基於JumpServer堡壘機、KubeOperator容器平臺等開源專案的運營經驗,實現MeterSphere在測試市場的快速普及,幫助更多的中國企業提升其測試團隊的運營效率。
MeterSphere專案的旅程剛剛開始。我們在這個專案上還有很多事情需要去做,無論是產品自身的迭代、開源社群的運營,以及持續測試理念的推廣普及。我們將在MeterSphere專案上進行長期、持續的投入,保證其能得到快速發展。
無論如何,我們都不會忘記我們建立MeterSphere專案的初心,這就是做出一款好的工具和平臺,幫助企業中不同規模的測試團隊去落地持續測試的理念,最終的目標是提升測試行業的執行效率。
如果說雲端計算已經成為中國未來經濟的新型基礎設施,那麼在其上的軟體生產過程就將成為中國未來經濟的“新廠房”。MeterSphere致力於改進這個“新廠房”的質量管理品質和效率,讓從這裡生產出來的每個產品和服務都能夠給中國數字經濟帶來最好的品質,為使用者傳遞更多的業務價值。
相關文章
- Github 上那些開源專案的 star 數Github
- 開源測試平臺--MeterSphere
- GitHub Star 數量前 12 的開源無程式碼工具Github
- GitHub Star 數量前 5 的開源應用程式生成器Github
- 在github上優雅管理star專案Github
- .net持續整合測試篇之Nunit引數化測試
- Github 上 Star 最多的個人 Spring Boot 開源學習專案GithubSpring Boot
- 使用 github action 在多個環境中快速地測試你的開源專案Github
- 我是如何把 GitHub 開源專案做到 5300+ star 的Github
- 82天突破1000star,專案團隊梳理出軟體開源必須注意的8個方面
- Android開源專案以及開源庫集合(持續更新中)Android
- 京東卡拿不停!開源測試平臺 MeterSphere 眾測啦!
- Golang優秀開源專案彙總(持續更新。。。)Golang
- 一週漲 15k Star 的開源專案「GitHub 熱點速覽」Github
- 10大Python開源專案推薦(Github平均star2135)PythonGithub
- 聊聊持續測試
- 測試管理新增檢視與高階搜尋功能,測試計劃支援一鍵生成缺陷詳情,MeterSphere 開源持續測試工具 v3.3 版本釋出
- 一天漲 23k Star 的開源專案「GitHub 熱點速覽」Github
- 如何寫出優雅的程式碼?試試這些開源專案「GitHub 熱點速覽」Github
- 打造 10000 Star 的前端開源專案 ⭐前端
- Github 上的 iOS 開源專案GithubiOS
- Arthas 開源一週年,GitHub Star 16 K ,我們一直在堅持什麼?Github
- .netcore持續整合測試篇之測試方法改造NetCore
- 尋找在 GitHub 上參與開源專案的方法Github
- 在持續測試中使用哪種測試?談談DevOps在測試策略中的實踐!dev
- GitHub實用開源專案Github
- Flutter實際專案開發中踩坑大合集(持續更新..)Flutter
- GitHub專案大多不是開源專案Github
- 聊聊持續測試的進階
- Jmeter測試工具的實際專案測試案例JMeter
- 我用golang重寫了2300+star的開源node專案.Golang
- .net持續整合測試篇之Nunit that斷言
- Vue 專案推薦,GitHub 過萬 StarVueGithub
- 盤點Github所用的開源專案Github
- vue+jest 專案中的單測,持續更新..Vue
- SAP開源的持續整合-持續交付的解決方案
- Git在專案中的那些實操(持續更新...)Git
- 如何打造一個上千Star的Github專案Github