工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

OpenAnolis小助手發表於2022-11-14

在剛剛結束的 2022 雲棲大會龍蜥作業系統峰會上,工業和資訊化部電子第五研究所高階工程師李冬博士做了《一站式自動化測試平臺的探索與實踐》的主題演講,以下為演講實錄。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

大家好!今天我將與大家分享一下在龍蜥社群的一站式自動化測試平臺的一些探索和實踐。在過去的 4-5 年裡,我們測試機構的工作受到了一些挑戰,主要特點不僅表現在測試物件的突然增多,例如作業系統、資料庫、雲平臺等,而且對效率和質量的要求也提升了很高。這對傳統手動測試的效率和質量帶來了一些挑戰。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

我們在傳統測試模式下很難去適應效率和質量的新要求的原因,總結來說有以下 6 點:

  • 執行平臺多樣化:測試物件的執行平臺多樣化,執行環境異構、相容性差。

  • 測試物件多樣化:包括計算機、交換機、作業系統、資料庫、中介軟體、雲平臺等。

  • 執行手段多樣化:手動執行測試內容與自動化測試內容融於一個平臺實現。

  • 結果分析多樣化:對測試結果進行的綜合分析、多樣化展示以及橫向對比也面臨多樣化挑戰。

  • 部署模式多樣化:測試物件對部署的要求也有多樣化的模式,包括有網環境、無網環境、公有云、專有云等。

  • 測試工具多樣化:面對不同測試物件的測試工具也有多樣化的趨勢。

由此,我們判定需要一個自動化的測試服務平臺來幫助解決這些問題。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

基於以上訴求,我們對現有業界的一些自動化測試工具平臺做了一些調查,發現應用起來有些困難。

第一是執行環境固化。成熟的自動化測試平臺大都是基於 X86 環境上搭建的,對特殊的指令集和硬體平臺的適配具有一些挑戰。

第二是功能模組固化。面向軟硬體企業的自動化平臺一般會跟自身產品密切相關,因此在介面、UI、效能都做了固化,很難適應多物件多工具多需求的自動化。

第三是測試場景固化。自動化測試平臺大多服務於業務流,比較難支撐多型別測試需求。

第四是業務耦合固化。隨著持續整合、持續交付,測試理念的深入,自動化測試平臺跟業務平臺的耦合度比較高,很難剝離成第三方可用的平臺。這些挑戰使我們產生了研發一個能夠適應業務流程和測試需求的一站式自動化測試平臺的想法。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

我們定義了一下自動化測試平臺的開發願景。我們希望這個平臺可以支援全過程管理(測試需求、測試用例、測試套件、測試執行、結果分析等)、異構環境執行、多環境混合部署(雲上、物理機、叢集、單機)、多型別測試套件的整合和結果採集分析、多人工和自動化混合測試方式、多物件執行時可獨立管理,多工並行。

透過一系列調研,我們在與龍蜥社群的交流過程中發現,社群裡面已經有一個能夠滿足我們自動化測試需求的基礎和工具。當前,龍蜥社群的 T-One 開源測試平臺源於阿里內部專案,已經整合了各種主流的測試工具多達 70 多種,該平臺支援了 30 多個團隊和 40 多個專案的質量協作,每天有 500 多臺測試機器在併發執行各種型別的測試。T-One 開源後,除了服務龍蜥社群之外,T-One 也被多家企業和測評機構的數十個專案在用。T-One 歷經多年的迭代開發,截至目前,job 累計執行時長達 930 萬小時,是一個非常成熟穩定的質量協作平臺。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

透過以上了解,我們認為把 T-One 平臺作為自動化測試平臺,將是一個解決我們多樣化需求的捷徑。基於這個想法,我們在 2021 年 12 月份加入了龍蜥社群 T-One 測試平臺 SIG(Special Interest Group)組,希望透過開放合作的方式來研發攻關。

目前為止,我們的工作取得了以下幾個進展:

第一是測試管理系統。我們基於 T-One 平臺研發了一套測試管理系統,稱之為TestLib(test library),是一個包含了測試規範管理、測試需求管理、測試方案管理、測試用例管理、測試任務管理、測試裝置管理等功能的測試管理系統。

第二是 Agent 平臺適配。為了讓 T-One 能夠適應多個執行環境,我們開發了一系列適配的 Agent,能夠適配目前的 LoongArch、S_W64、ARM(麒麟 990)指令集架構 CPU 平臺,KylinOS、UOS 作業系統。

第三是提交 Issues 共 27 項。在研發過程中,我們參與社群,幫助 T-One 找到一些 BUG,提交了 27 項有效的 Issues,組織 SIG 成員召開討論超 30 次,真正解決了一些問題。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

接下來簡單介紹一下 T-One 自動化測試平臺。T-One 是一個在業界真正支援全場景、一站式的自動化質量協作平臺,打通從測試設計、測試計劃、用例整合、測試工具認證、測試部署、測試執行、結果分析、測試報告等整個測試流程閉環。我們在該平臺原有的 Testfarm 上面做了 TestLib 的開發,在包含 T-One 所有功能的基礎上增加了資料展示和分析。T-One 測試平臺有以下幾個明顯特點:

第一:一站式服務。打通了整個測試流程,測試服務一步到位。

第二:獨立租戶。支援獨立租戶測試空間的部署,實現資料隔離。

第三:通用的用例整合、認證模式。平臺可以提供通用的用例整合模式,可以整合各行業的測試用例(手動用例、自動化用例、基準工具等),這些工具都可以整合到一個測試專案裡面去。同時提供便捷的工具認證流程,方便測評體系建立。

另外,特色功能還包括了基於雲的測試、多環境支援、測試計劃、測試結果分析,還可以根據需要定製測試報告。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

T-One 測試平臺從開源上下游關係來說分為四個版本,分別是開源版、社群版、企業版和機構版,分別定位為不同的用途。開源版屬於源頭上游,提供最基礎的功能,支援獨立部署,其他三個版本都是開源版的下游版本。社群版,為龍蜥社群使用者提供雲上部署,可對提交的程式碼做持續的動態自動化測試,提供一些高可用的支援,實時運維保障。企業版是定製版,可以部署自動化測試平臺,能夠為企業的產品研發和自動迭代做服務,提供高效的支撐。機構版面向的是像五所這樣的三方測試機構,可用來管理所有的評測業務。

T-One 測試平臺有四大元件,如圖所示,包含:

  • Testfarm 是一個測試資料結果的整合平臺。

  • T-One 平臺是集中部署,獨立部署,能夠協調測試主機、執行機構、被測物件的一個平臺。

  • TestLib 是對整個測試計劃、方案、任務的管理。

  • tone-cil 是通用測試工具整合框架。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

如圖是 T-One 自動化測試平臺的主介面,可以建立不同的 workspace 空間,在每個 workspace 建立工作任務,去釋出和執行。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

如圖是 TestLib 測試需求管理板塊,可以根據建立的任務去分配測試用例,分配測試環境和工具。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

如圖是 T-One 結果分析模組,測試後可做各種維度的分析,還可以出定制測試報告。

工信部電子五所李冬:在龍蜥社群的一站式自動化測試平臺的探索和實踐

關於下一步計劃,我們希望持續完善平臺的相關功能:

第一是對測試工具認證模組的開發,主要是對工具的正確性和可靠性做可用性管理。這其實是我們利用平臺高效接入工具,利用平臺的測試資源和物件資源對工具做一個計量和校準。

第二是 AI 技術的引入,對測試結果進行精準分析。

第三是下一代質量測試技術的引入,比如說模糊測試、效能測試與智慧最佳化、程式碼分析掃描、質量資料跟蹤分析等技術。

除此之外,T-One 作為一個開源通用測試平臺,具有很多獨特的功能和靈活的測試場景支援,目前在業內已經具有一定的影響力,我們希望更廣泛去做推廣應用,鼓勵社群合作伙伴和開發者去使用,面向中小企業做技術賦能,幫助他們做測試和質量保障。聯合院校科研院所對一些細節的自動化測試技術、測試工具的研發做一些合作。也希望有興趣的夥伴們積極地加入和參與到龍蜥社群 T-One 測試平臺 SIG 組的工作中來,我們一起維護這個平臺,使它變得更好更優秀。

相關連結地址:

T-One SIG 組連結地址:

T-One 首頁:

資料看板:

影片回放:

關於龍蜥作業系統峰會課件獲取方式:

【PPT 課件獲取】:關注微信公眾號(OpenAnolis),回覆“龍蜥課件” 即可獲取。有任何疑問請隨時諮詢龍蜥助手—小龍(微信:openanolis_assis)。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2923314/,如需轉載,請註明出處,否則將追究法律責任。

相關文章