本發(fā)明涉及計(jì)算機(jī)技術(shù),尤其涉及一種軟件接口測試方法及裝置。
背景技術(shù):
軟件測試過程中,需要對(duì)接口進(jìn)行測試。例如,在基于服務(wù)通訊框架(Service Communication Framework,簡稱SCF)框架的軟件測試中,就需要對(duì)SCF接口進(jìn)行測試。
現(xiàn)有技術(shù)中,軟件的測試人員需要首先查看軟件對(duì)應(yīng)的源代碼,從源代碼中識(shí)別出待測試的接口信息,進(jìn)而,使用測試用例對(duì)待測試的接口進(jìn)行測試。
但是,現(xiàn)有技術(shù)需要測試人員通過查看源代碼人工識(shí)別接口,導(dǎo)致測試效率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種軟件接口測試方法及裝置,用于解決現(xiàn)有技術(shù)中人工識(shí)別接口所導(dǎo)致的測試效率低下的問題。
本發(fā)明第一方面提供一種軟件接口測試方法,包括:
接收用戶輸入的服務(wù)通訊框架SCF服務(wù)的名稱;
部署所述SCF服務(wù);
通過反射獲取所述SCF服務(wù)的接口,所述SCF服務(wù)的接口包括接口名稱、接口的實(shí)現(xiàn)類以及接口的參數(shù)類型;
通過預(yù)設(shè)的測試用例測試所述SCF服務(wù)的接口。
進(jìn)一步地,所述執(zhí)行預(yù)設(shè)的測試用例之前,還包括:
初始化所述SCF服務(wù)。
進(jìn)一步地,所述初始化所述SCF服務(wù),包括:
檢測傳輸控制協(xié)議TCP連接狀態(tài);
重新啟動(dòng)所述SCF服務(wù)。
進(jìn)一步地,所述檢測傳輸控制協(xié)議TCP連接狀態(tài)之前,還包括:
檢測配置文件中是否存在所述SCF服務(wù),若否,則在所述配置文件中增加所述SCF服務(wù)。
進(jìn)一步地,所述部署所述SCF服務(wù)之前,還包括:
判斷所述SCF服務(wù)是否已經(jīng)注冊,若否,則進(jìn)行所述SCF服務(wù)注冊。
本發(fā)明第二方面提供一種軟件接口測試裝置,包括:
接收模塊,用于接收用戶輸入的服務(wù)通訊框架SCF服務(wù)的名稱;
部署模塊,用于部署所述SCF服務(wù);
獲取模塊,用于通過反射獲取所述SCF服務(wù)的接口,所述SCF服務(wù)的接口包括接口名稱、接口的實(shí)現(xiàn)類以及接口的參數(shù)類型;
測試模塊,用于通過預(yù)設(shè)的測試用例測試所述SCF服務(wù)的接口。
進(jìn)一步地,還包括:
初始化模塊,用于初始化所述SCF服務(wù)。
進(jìn)一步地,所述初始化模塊包括:
檢測單元,用于檢測傳輸控制協(xié)議TCP連接狀態(tài);
重啟單元,用于重新啟動(dòng)所述SCF服務(wù)。
進(jìn)一步地,所述初始化模塊還包括:
增加單元,用于在檢測出配置文件中不存在所述SCF服務(wù)時(shí),在所述配置文件中增加所述SCF服務(wù)。
進(jìn)一步地,所述裝置還包括:
注冊模塊,用于在判斷出所述SCF服務(wù)未注冊時(shí),進(jìn)行所述SCF服務(wù)注冊。
本發(fā)明所提供的軟件接口測試方法及裝置,軟件測試平臺(tái)首先獲取并部署SCF服務(wù),進(jìn)而通過反射獲取SCF服務(wù)的接口,并對(duì)所獲取到的SCF服務(wù)的接口進(jìn)行測試。從而實(shí)現(xiàn)對(duì)SCF服務(wù)的接口的自動(dòng)測試,無需測試人員查看源代碼人工識(shí)別接口來進(jìn)行測試,從而極大提升了軟件接口的測試效率。
附圖說明
為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的軟件接口測試方法的系統(tǒng)架構(gòu)圖;
圖2為本發(fā)明提供的軟件接口測試方法實(shí)施例一的流程示意圖;
圖3為本發(fā)明提供的軟件接口測試方法實(shí)施例二的流程示意圖;
圖4為本發(fā)明提供的軟件接口測試方法實(shí)施例三的流程示意圖;
圖5為本發(fā)明提供的軟件接口測試方法實(shí)施例四的流程示意圖;
圖6為本發(fā)明提供的軟件接口測試裝置實(shí)施例一的模塊結(jié)構(gòu)圖;
圖7為本發(fā)明提供的軟件接口測試裝置實(shí)施例二的模塊結(jié)構(gòu)圖;
圖8為本發(fā)明提供的軟件接口測試裝置實(shí)施例三的模塊結(jié)構(gòu)圖;
圖9為本發(fā)明提供的軟件接口測試裝置實(shí)施例四的模塊結(jié)構(gòu)圖;
圖10為本發(fā)明提供的軟件接口測試裝置實(shí)施例五的模塊結(jié)構(gòu)圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明提供的軟件接口測試方法的系統(tǒng)架構(gòu)圖,如圖1所述,該方法所涉及的平臺(tái)包括:軟件代碼編寫平臺(tái)、軟件編譯平臺(tái)以及軟件測試平臺(tái)。其中,軟件開發(fā)人員通過軟件代碼編寫平臺(tái)編寫軟件代碼,再由軟件編譯平臺(tái)進(jìn)行編譯,形成可執(zhí)行的軟件包,軟件測試平臺(tái)再對(duì)可執(zhí)行的軟件包進(jìn)行測試。本發(fā)明的方案對(duì)應(yīng)于軟件測試平臺(tái),即由軟件測試平臺(tái)執(zhí)行本發(fā)明的方案,以實(shí)現(xiàn)軟件接口的自動(dòng)測試。
圖2為本發(fā)明提供的軟件接口測試方法實(shí)施例一的流程示意圖,如圖2所示,該方法包括:
S201、接收用戶輸入的SCF服務(wù)的名稱。
軟件測試平臺(tái)可以為用戶提供可操作界面,在操作界面中顯示選擇列表或者輸入框等,當(dāng)需要進(jìn)行測試時(shí),僅需要輸入待測試的SCF服務(wù)的名稱即可。
其中,本發(fā)明中的SCF服務(wù)是具體的待測試的軟件。
SCF是一種支持跨平臺(tái)具有高并發(fā)、高性能、高可靠性,并提供異步、多協(xié)議、事件驅(qū)動(dòng)的中間層服務(wù)框架,基于該服務(wù)服務(wù)框架所編寫的軟件可以看作SCF服務(wù),其中包括多個(gè)SCF接口。在對(duì)SCF服務(wù)測試時(shí),就需要對(duì)SCF服務(wù)的接口進(jìn)行測試。
S202、部署SCF服務(wù)。
在基于圖1所示的系統(tǒng)架構(gòu)中,軟件編譯平臺(tái)例如可以是Jenkins。Jenkins可以按照用戶的設(shè)置定時(shí)進(jìn)行軟件持續(xù)集成,以獲取可執(zhí)行的軟件包。并將可執(zhí)行的軟件包保存在固定的目錄下。
進(jìn)而,本步驟中,軟件測試平臺(tái)可以從上述固定的目錄下獲取SCF服務(wù)所對(duì)應(yīng)的可執(zhí)行的軟件包,并在軟件測試平臺(tái)上部署SCF服務(wù),其中,SCF服務(wù)的可執(zhí)行的軟件包包括客戶端軟件包以及服務(wù)端軟件包。。
可選地,每次部署SCF服務(wù)前,都可以通過Jenkins構(gòu)建SCF服務(wù),以保證部署的SCF服務(wù)的客戶端包和服務(wù)端包都是最新的。
S203、通過反射獲取上述SCF服務(wù)的接口,SCF服務(wù)的接口包括接口名稱、接口的實(shí)現(xiàn)類以及接口的參數(shù)類型。
當(dāng)部署SCF服務(wù)完成后,軟件測試平臺(tái)可以通過反射方式自動(dòng)獲取SCF服務(wù)的接口,所獲取的接口的信息包括接口名稱、接口實(shí)現(xiàn)類以及接口參數(shù)類型等。
其中,通過反射獲取SCF服務(wù)接口的具體方法可以參照現(xiàn)有技術(shù),此處不再贅述。
S204、通過預(yù)設(shè)的測試用例測試上述SCF服務(wù)的接口。
具體地,軟件測試平臺(tái)可以導(dǎo)入預(yù)先編寫好的測試用例,這些測試用例專門用于測試上述所獲取到的接口。
其中,在測試時(shí),一個(gè)測試用例可以僅測試一個(gè)SCF接口,也可以測試多個(gè)SCF接口,因此,軟件測試平臺(tái)可以根據(jù)需要對(duì)一個(gè)SCF接口進(jìn)行測試,也可以對(duì)多個(gè)SCF接口進(jìn)行測試。
本實(shí)施例中,軟件測試平臺(tái)首先獲取并部署SCF服務(wù),進(jìn)而通過反射獲取SCF服務(wù)的接口,并對(duì)所獲取到的SCF服務(wù)的接口進(jìn)行測試。從而實(shí)現(xiàn)對(duì)SCF服務(wù)的接口的自動(dòng)測試,無需測試人員查看源代碼人工識(shí)別接口來進(jìn)行測試,從而極大提升了軟件接口的測試效率。
另一實(shí)施例中,在上述步驟S204之前,還包括:
初始化上述SCF服務(wù)。
圖3為本發(fā)明提供的軟件接口測試方法實(shí)施例二的流程示意圖,如圖3所示,上述初始化上述SCF服務(wù)的過程具體為:
S301、檢測傳輸控制協(xié)議(Transmission Control Protocol,簡稱TCP)連接狀態(tài)。
在進(jìn)行SCF服務(wù)的接口測試時(shí),需要保證TCP連接正常,因此,本步驟中,需要首先檢測TCP連接狀態(tài),如果連接狀態(tài)異常,則需要首先解決該問題,保證TCP連接正常。
S302、重新啟動(dòng)SCF服務(wù)。
具體地,軟件測試平臺(tái)可以調(diào)用重新啟動(dòng)SCF服務(wù)的腳本來重新啟動(dòng)SCF服務(wù)。
圖4為本發(fā)明提供的軟件接口測試方法實(shí)施例三的流程示意圖,如圖4所示,初始化SCF服務(wù)的過程包括:
S401、檢測配置文件中是否存在上述SCF服務(wù),若否,則在配置文件中增加上述SCF服務(wù)。
上述配置文件是指軟件測試平臺(tái)中的配置文件,需要測試的SCF服務(wù)都需要在該配置文件中登記。軟件測試平臺(tái)在測試SCF服務(wù)時(shí),需要從該配置文件中讀取SCF服務(wù)的信息后再進(jìn)行測試。
本步驟中,如果配置文件中不存在上述SCF服務(wù),則需要在配置文件中增加上述SCF服務(wù)。
S402、檢測傳TCP連接狀態(tài)。
具體過程與S301的過程相同,可以參見S301,此處不再贅述。
S403、重新啟動(dòng)SCF服務(wù)。
具體過程與S302的過程相同,可以參見S302,此處不再贅述。
圖5為本發(fā)明提供的軟件接口測試方法實(shí)施例四的流程示意圖,如圖5所示,該方法包括:
S501、接收用戶輸入的SCF服務(wù)的名稱。
具體過程與S201的過程相同,可以參見S201,此處不再贅述。
S502、判斷上述SCF服務(wù)是否已經(jīng)注冊,若否,則進(jìn)行上述SCF服務(wù)注冊。
具體地,判斷SCF服務(wù)是否已經(jīng)注冊,即判斷該SCF服務(wù)是否在軟件測試平臺(tái)注冊,如果沒有注冊,則需要在軟件測試平臺(tái)上注冊該SCF服務(wù)的信息。
S503、部署SCF服務(wù)
具體過程與S202的過程相同,可以參見S202,此處不再贅述。
S504、通過反射獲取上述SCF服務(wù)的接口,SCF服務(wù)的接口包括接口名稱、接口的實(shí)現(xiàn)類以及接口的參數(shù)類型。
具體過程與S203的過程相同,可以參見S203,此處不再贅述。
S505、通過預(yù)設(shè)的測試用例測試上述SCF服務(wù)的接口。
具體過程與S204的過程相同,可以參見S204,此處不再贅述。
圖6為本發(fā)明提供的軟件接口測試裝置實(shí)施例一的模塊結(jié)構(gòu)圖,如圖6所示,該裝置包括:
接收模塊601,用于接收用戶輸入的SCF服務(wù)的名稱。
部署模塊602,用于部署上述SCF服務(wù)。
獲取模塊603,用于通過反射獲取上述SCF服務(wù)的接口,上述SCF服務(wù)的接口包括接口名稱、接口的實(shí)現(xiàn)類以及接口的參數(shù)類型。
測試模塊604,用于通過預(yù)設(shè)的測試用例測試上述SCF服務(wù)的接口。
該裝置用于實(shí)現(xiàn)前述方法實(shí)施例,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖7為本發(fā)明提供的軟件接口測試裝置實(shí)施例二的模塊結(jié)構(gòu)圖,如圖7所示,還包括:
初始化模塊605,用于初始化上述SCF服務(wù)。
圖8為本發(fā)明提供的軟件接口測試裝置實(shí)施例三的模塊結(jié)構(gòu)圖,如圖7所示,初始化模塊605包括:
檢測單元6051,用于檢測TCP連接狀態(tài)。
重啟單元6052,用于重新啟動(dòng)上述SCF服務(wù)。
圖9為本發(fā)明提供的軟件接口測試裝置實(shí)施例四的模塊結(jié)構(gòu)圖,如圖9所示,初始化模塊605還包括:
增加單元6053,用于在檢測出配置文件中不存在上述SCF服務(wù)時(shí),在配置文件中增加上述SCF服務(wù)。
圖10為本發(fā)明提供的軟件接口測試裝置實(shí)施例五的模塊結(jié)構(gòu)圖,如圖10所示,該裝置還包括:
注冊模塊606,用于在判斷出上述SCF服務(wù)未注冊時(shí),進(jìn)行SCF服務(wù)注冊。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。