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