為什么需要用于NEO-CLI的自動化測試框架?正如我們所知,測試通常可分為3個級別:單元測試、集成測試和系統測試。NEO-CLI已經覆蓋了單元測試
為什么需要用于NEO-CLI的自動化測試框架?
正如我們所知,測試通常可分為3個級別:單元測試、集成測試和系統測試。
NEO-CLI已經覆蓋了單元測試,團隊也在不斷提高單元測試的覆蓋率。作為軟件測試的其中一個階段,集成測試中單個軟件模塊會作為一個組進行組合和測試。由于NEO-CLI是一個整體設計,并且只包含三個核心部分:neo-cli, neo和neo-plugins,這增加了集成測試的復雜性。
NEO-CLI的大多數功能測試是系統測試,即在一個完整的集成系統上進行測試,以評估NEO客戶端是否符合其指定的要求、命令行和遠程協議調用等。雖然手動測試系統也可以提高測試質量,但這往往是一個耗時的過程。自動化系統測試可以用于每個neo-cli構建工件的回歸測試階段,因此可以讓測試人員更專注于錯誤測試以及設計不同的用戶場景。
架 構
NEO客戶端會與測試網絡服務進行通信,從而執行NEO-CLI命令或者發送遠程協議調用請求、部署私有網絡等。Test模塊位于架構上層,包含測試配置信息和主要的測試用例,可調用下層的API接口。API層封裝了命令行基函數以及RPC功能。Utils層包含常見的一些Python庫,如logger、task execution和report等。該自動化測試框架已經與Travis-ci平臺進行了集成。我們的目標是在未來能實現持續部署。(章淑云)