測(cè)試系統(tǒng)、方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種測(cè)試系統(tǒng)、方法和裝置。
【背景技術(shù)】
[0002]目前許多網(wǎng)絡(luò)運(yùn)營商都為第三方開發(fā)商提供用于第三方應(yīng)用接入的開放平臺(tái),第三方開發(fā)商可以利用開放平臺(tái)提供的基礎(chǔ)接口,將自身開發(fā)的第三方應(yīng)用接入開放平臺(tái),以實(shí)現(xiàn)為開放平臺(tái)的用戶提供服務(wù)。
[0003]在運(yùn)營過程中,開放平臺(tái)可采用回調(diào)第三方應(yīng)用所提供的服務(wù)接口的方式,調(diào)用第三方應(yīng)用的服務(wù)接口為登錄至開放平臺(tái)的客戶端提供服務(wù)??梢姡谌綉?yīng)用的功能實(shí)現(xiàn)依賴于開放平臺(tái)的回調(diào),兩者之間存在強(qiáng)依賴關(guān)系。
[0004]然而,正是由于第三方應(yīng)用與開放平臺(tái)之間的強(qiáng)依賴關(guān)系,導(dǎo)致第三方應(yīng)用只有在正式發(fā)布后才能預(yù)覽其功能是否正常。換句話說,第三方應(yīng)用在正式發(fā)布前無法進(jìn)行全面的測(cè)試,而在正式發(fā)布后的運(yùn)營過程中勢(shì)必會(huì)存在較多問題和故障。
【發(fā)明內(nèi)容】
[0005]為了解決第三方應(yīng)用在正式發(fā)布前無法進(jìn)行全面的測(cè)試,而導(dǎo)致在正式發(fā)布后的運(yùn)營過程中存在較多問題和故障的問題,本公開實(shí)施例提供了一種測(cè)試系統(tǒng)、方法和裝置。所述技術(shù)方案如下:
[0006]根據(jù)本公開實(shí)施例的第一方面,提供了一種測(cè)試系統(tǒng),所述系統(tǒng)包括:發(fā)布服務(wù)器和執(zhí)行服務(wù)器;
[0007]所述發(fā)布服務(wù)器,被配置為接收開發(fā)設(shè)備提交的第三方應(yīng)用的測(cè)試版本的源代碼;將所述源代碼發(fā)布至所述執(zhí)行服務(wù)器;
[0008]所述執(zhí)行服務(wù)器,被配置為執(zhí)行所述源代碼;當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器;根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0009]可選的,所述發(fā)布服務(wù)器,還被配置為從源代碼庫中選取一份測(cè)試版本的源代碼,所述源代碼庫中包含至少一份測(cè)試版本的源代碼;根據(jù)預(yù)存的配置文件向所述執(zhí)行服務(wù)器發(fā)送被選取的源代碼的版本號(hào);
[0010]所述執(zhí)行服務(wù)器,還被配置為接收所述發(fā)布服務(wù)器發(fā)送的所述版本號(hào);從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0011]可選的,所述發(fā)布服務(wù)器,還被配置為解析預(yù)存的makefile配置文件以調(diào)用tentakel腳本,所述tentakel腳本用于根據(jù)tentakel配置文件向所述執(zhí)行服務(wù)器中運(yùn)行的分布式版本控制系統(tǒng)Git客戶端發(fā)送遠(yuǎn)程調(diào)用請(qǐng)求,所述遠(yuǎn)程調(diào)用請(qǐng)求中攜帶有所述被選取的源代碼的版本號(hào);
[0012]所述執(zhí)行服務(wù)器,還被配置為通過所述Git客戶端接收所述遠(yuǎn)程調(diào)用請(qǐng)求;通過所述Git客戶端根據(jù)所述遠(yuǎn)程調(diào)用請(qǐng)求中攜帶的所述版本號(hào),從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0013]可選的,所述系統(tǒng)還包括:測(cè)試運(yùn)維設(shè)備;
[0014]所述發(fā)布服務(wù)器,還被配置為向所述測(cè)試運(yùn)維設(shè)備提供可視化編輯界面,所述可視化編輯界面中包含有用于對(duì)所述配置文件進(jìn)行可視化編輯的操作入口;
[0015]所述測(cè)試運(yùn)維設(shè)備,被配置為將所述可視化編輯界面進(jìn)行顯示;獲取對(duì)應(yīng)于所述操作入口的操作指示;根據(jù)所述操作指示對(duì)所述配置文件進(jìn)行編輯。
[0016]可選的,所述發(fā)布服務(wù)器,還被配置為生成所述可視化編輯界面對(duì)應(yīng)的超鏈接;將所述超鏈接添加至內(nèi)容管理系統(tǒng)CMS中;
[0017]所述測(cè)試運(yùn)維設(shè)備,還被配置為登錄所述CMS ;打開所述CMS中包含的所述超鏈接,并將所述可視化編輯界面進(jìn)行顯示。
[0018]可選的,所述發(fā)布服務(wù)器,還被配置為在所述執(zhí)行服務(wù)器獲取與所述版本號(hào)對(duì)應(yīng)的源代碼后,向所述執(zhí)行服務(wù)器發(fā)送腳本調(diào)用請(qǐng)求;
[0019]所述執(zhí)行服務(wù)器,還被配置為接收所述腳本調(diào)用請(qǐng)求;根據(jù)所述腳本調(diào)用請(qǐng)求執(zhí)行預(yù)定腳本;其中,所述預(yù)定腳本用于執(zhí)行重啟服務(wù)進(jìn)程和更新數(shù)據(jù)庫兩者中的至少一項(xiàng),所述服務(wù)進(jìn)程用于在重啟后執(zhí)行獲取的所述源代碼中的代碼文件,所述數(shù)據(jù)庫用于在更新后保存獲取的所述源代碼中的數(shù)據(jù)庫文件。
[0020]可選的,所述仿真測(cè)試數(shù)據(jù)包括:所述調(diào)用請(qǐng)求的狀態(tài)碼、所述調(diào)用請(qǐng)求的響應(yīng)格式、所述調(diào)用請(qǐng)求的響應(yīng)時(shí)間中的至少一項(xiàng)。
[0021]根據(jù)本公開實(shí)施例的第二方面,提供了一種測(cè)試方法,所述方法包括:
[0022]從發(fā)布服務(wù)器中獲取第三方應(yīng)用的測(cè)試版本的源代碼;
[0023]執(zhí)行所述源代碼;
[0024]當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器;
[0025]根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0026]可選的,所述從發(fā)布服務(wù)器中獲取第三方應(yīng)用的測(cè)試版本的源代碼,包括:
[0027]接收所述發(fā)布服務(wù)器發(fā)送版本號(hào),所述版本號(hào)是所述發(fā)布服務(wù)器的源代碼庫中的一份測(cè)試版本的源代碼的版本號(hào),所述源代碼庫中包含至少一份測(cè)試版本的源代碼;
[0028]從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0029]可選的,所述方法還包括:
[0030]接收所述發(fā)布服務(wù)器發(fā)送的腳本調(diào)用請(qǐng)求;
[0031]根據(jù)所述腳本調(diào)用請(qǐng)求執(zhí)行預(yù)定腳本;
[0032]其中,所述預(yù)定腳本用于執(zhí)行重啟服務(wù)進(jìn)程和更新數(shù)據(jù)庫兩者中的至少一項(xiàng),所述服務(wù)進(jìn)程用于在重啟后執(zhí)行獲取的所述源代碼中的代碼文件,所述數(shù)據(jù)庫用于在更新后保存獲取的所述源代碼中的數(shù)據(jù)庫文件。
[0033]可選的,所述仿真測(cè)試數(shù)據(jù)包括:所述調(diào)用請(qǐng)求的狀態(tài)碼、所述調(diào)用請(qǐng)求的響應(yīng)格式、所述調(diào)用請(qǐng)求的響應(yīng)時(shí)間中的至少一項(xiàng)。
[0034]根據(jù)本公開實(shí)施例的第三方面,提供了一種測(cè)試方法,所述方法包括:
[0035]接收開發(fā)設(shè)備提交的第三方應(yīng)用的測(cè)試版本的源代碼;
[0036]將所述源代碼發(fā)布至執(zhí)行服務(wù)器,所述執(zhí)行服務(wù)器用于執(zhí)行所述源代碼,當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器,并根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0037]可選的,所述將所述源代碼發(fā)布至執(zhí)行服務(wù)器,包括:
[0038]從源代碼庫中選取一份測(cè)試版本的源代碼,所述源代碼庫中包含至少一份測(cè)試版本的源代碼;
[0039]根據(jù)預(yù)存的配置文件向所述執(zhí)行服務(wù)器發(fā)送被選取的源代碼的版本號(hào),所述執(zhí)行服務(wù)器用于從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0040]可選的,所述根據(jù)預(yù)存的配置文件向所述執(zhí)行服務(wù)器發(fā)送被選取的源代碼的版本號(hào),包括:
[0041]解析預(yù)存的makefile配置文件以調(diào)用tentakel腳本;
[0042]通過所述tentakel腳本根據(jù)tentakel配置文件向所述執(zhí)行服務(wù)器發(fā)送所述被選取的源代碼的版本號(hào)。
[0043]可選的,所述方法還包括:
[0044]向測(cè)試運(yùn)維設(shè)備提供可視化編輯界面,所述可視化編輯界面中包含有用于對(duì)所述配置文件進(jìn)行可視化編輯的操作入口。
[0045]可選的,所述向測(cè)試運(yùn)維設(shè)備提供可視化編輯界面,包括:
[0046]生成所述可視化編輯界面對(duì)應(yīng)的超鏈接;
[0047]將所述超鏈接添加至內(nèi)容管理系統(tǒng)CMS中,所述CMS用于在所述測(cè)試運(yùn)維設(shè)備登錄所述CMS時(shí),向所述測(cè)試運(yùn)維設(shè)備提供所述超鏈接。
[0048]根據(jù)本公開實(shí)施例的第四方面,提供了一種測(cè)試裝置,所述裝置包括:
[0049]代碼獲取模塊,被配置為從發(fā)布服務(wù)器中獲取第三方應(yīng)用的測(cè)試版本的源代碼;
[0050]代碼執(zhí)行模塊,被配置為執(zhí)行所述源代碼;
[0051]結(jié)果發(fā)送模塊,被配置為當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器;
[0052]數(shù)據(jù)采集模塊,被配置為根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0053]可選的,所述代碼獲取模塊,包括:接收子模塊和獲取子模塊;
[0054]所述接收子模塊,被配置為接收所述發(fā)布服務(wù)器發(fā)送的版本號(hào),所述版本號(hào)是所述發(fā)布服務(wù)器的源代碼庫中的一份測(cè)試版本的源代碼的版本號(hào),所述源代碼庫中包含至少一份測(cè)試版本的源代碼;
[0055]所述獲取子模塊,被配置為從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0056]可選的,所述裝置還包括:
[0057]請(qǐng)求接收模塊,被配置為接收所述發(fā)布服務(wù)器發(fā)送的腳本調(diào)用請(qǐng)求;
[0058]腳本執(zhí)行模塊,被配置為根據(jù)所述腳本調(diào)用請(qǐng)求執(zhí)行預(yù)定腳本;
[0059]其中,所述預(yù)定腳本用于執(zhí)行重啟服務(wù)進(jìn)程和更新數(shù)據(jù)庫兩者中的至少一項(xiàng),所述服務(wù)進(jìn)程用于在重啟后執(zhí)行獲取的所述源代碼中的代碼文件,所述數(shù)據(jù)庫用于在更新后保存獲取的所述源代碼中的數(shù)據(jù)庫文件。
[0060]可選的,所述仿真測(cè)試數(shù)據(jù)包括:所述調(diào)用請(qǐng)求的狀態(tài)碼、所述調(diào)用請(qǐng)求的響應(yīng)格式、所述調(diào)用請(qǐng)求的響應(yīng)時(shí)間中的至少一項(xiàng)。
[0061]根據(jù)本公開實(shí)施例的第五方面,提供了一種測(cè)試裝置,所述裝置包括:
[0062]代碼接收模塊,被配置為接收開發(fā)設(shè)備提交的第三方應(yīng)用的測(cè)試版本的源代碼;
[0063]代碼發(fā)布模塊,被配置為將所述源代碼發(fā)布至執(zhí)行服務(wù)器,所述執(zhí)行服務(wù)器用于執(zhí)行所述源代碼,當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器,并根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0064]可選的,所述代碼發(fā)布模塊,包括:選取子模塊和發(fā)送子模塊;
[0065]所述選取子模塊,被配置為從源代碼庫中選取一份測(cè)試版本的源代碼,所述源代碼庫中包含至少一份測(cè)試版本的源代碼;
[0066]所述發(fā)送子模塊,被配置為根據(jù)預(yù)存的配置文件向所述執(zhí)行服務(wù)器發(fā)送被選取的源代碼的版本號(hào),所述執(zhí)行服務(wù)器用于從所述發(fā)布服務(wù)器中獲取與所述版本號(hào)對(duì)應(yīng)的源代碼。
[0067]可選的,所述發(fā)送子模塊,還被配置為解析預(yù)存的makefile配置文件以調(diào)用tentakel腳本;通過所述tentakel腳本根據(jù)tentakel配置文件向所述執(zhí)行服務(wù)器發(fā)送所述被選取的源代碼的版本號(hào)。
[0068]可選的,所述裝置還包括:
[0069]界面提供模塊,被配置為向測(cè)試運(yùn)維設(shè)備提供可視化編輯界面,所述可視化編輯界面中包含有用于對(duì)所述配置文件進(jìn)行可視化編輯的操作入口。
[0070]可選的,所述界面提供模塊,包括:生成子模塊和添加子模塊;
[0071]所述生成子模塊,被配置為生成所述可視化編輯界面對(duì)應(yīng)的超鏈接;
[0072]所述添加子模塊,被配置為將所述超鏈接添加至內(nèi)容管理系統(tǒng)CMS中,所述CMS用于在所述測(cè)試運(yùn)維設(shè)備登錄所述CMS時(shí),向所述測(cè)試運(yùn)維設(shè)備提供所述超鏈接。
[0073]根據(jù)本公開實(shí)施例的第六方面,提供了一種測(cè)試裝置,包括:
[0074]處理器;
[0075]用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器;
[0076]其中,所述處理器被配置為:
[0077]從發(fā)布服務(wù)器中獲取第三方應(yīng)用的測(cè)試版本的源代碼;
[0078]執(zhí)行所述源代碼;
[0079]當(dāng)接收到開放平臺(tái)服務(wù)器發(fā)送的調(diào)用請(qǐng)求時(shí),根據(jù)所述調(diào)用請(qǐng)求將所述源代碼的執(zhí)行結(jié)果發(fā)送給所述開放平臺(tái)服務(wù)器;
[0080]根據(jù)所述調(diào)用請(qǐng)求的處理情況采集仿真測(cè)試數(shù)據(jù)。
[0081]根據(jù)本公開實(shí)施例的第七方面,提供了一種測(cè)試裝置,包括:
[0082]處理器;
[0083]用于存儲(chǔ)所述處理器的可執(zhí)行指令的存儲(chǔ)器;
[0084]其中,所述處理器被配置為:
[0085]接收開發(fā)設(shè)備提