分布式自動(dòng)構(gòu)建方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種分布式自動(dòng)構(gòu)建方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著移動(dòng)互聯(lián)時(shí)代的到來,對(duì)移動(dòng)端應(yīng)用程序上線及升級(jí)時(shí)間的要求越來越高, 給移動(dòng)應(yīng)用開發(fā)帶來了新的挑戰(zhàn)。在兼顧軟件質(zhì)量的前提下,盡可能快的完成版本迭代,在 推出新功能的同時(shí),能全面保證原先功能不受到影響,這就要求針對(duì)每天的代碼變化,能盡 快進(jìn)行版本集成、部署和測(cè)試,以便盡早發(fā)現(xiàn)問題進(jìn)行修改。在這個(gè)過程中,有50%_70%的 工作屬于重復(fù)工作,如下載代碼、編譯集成、向移動(dòng)端部署軟件、以及對(duì)所有基本功能的測(cè) 試,這些重復(fù)工作嚴(yán)重浪費(fèi)了人力資源,在時(shí)間緊迫的情況下,QA不能將主要精力放在新功 能的質(zhì)量保證上面,導(dǎo)致在軟件頻繁迭代的實(shí)施過程中,經(jīng)常會(huì)遺漏掉各種質(zhì)量問題。
[0003] 當(dāng)前的Web服務(wù)端、游戲開發(fā)等相關(guān)應(yīng)用構(gòu)建,由于采用比較統(tǒng)一的框架,配有成 熟的自動(dòng)構(gòu)建系統(tǒng),只要經(jīng)過簡單配置,就可以實(shí)現(xiàn)上述自動(dòng)構(gòu)建。但針對(duì)移動(dòng)應(yīng)用,由于 涉及到PC端與移動(dòng)前端的交互,其版本編譯和部署,也較為復(fù)雜,還沒有形成一種較為成熟 的自動(dòng)構(gòu)建系統(tǒng)。針對(duì)現(xiàn)有技術(shù)的不足,有必要提出一種分布式自動(dòng)構(gòu)建方法及系統(tǒng),能夠 有效地自動(dòng)部署和更新應(yīng)用。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問題是,提供一種分布式自動(dòng)構(gòu)建方法及系統(tǒng),能夠解決 現(xiàn)有技術(shù)中無法對(duì)移動(dòng)終端的應(yīng)用程序自動(dòng)上線或升級(jí)的問題。
[0005] 為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
[0006] -種分布式自動(dòng)構(gòu)建方法,包括:
[0007] 第一服務(wù)器獲取開發(fā)代碼和自動(dòng)化測(cè)試?yán)a;
[0008] 第二服務(wù)器下載所述開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行自動(dòng) 編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;
[0009] 第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī)。
[0010] 本發(fā)明分布式自動(dòng)構(gòu)建方法的有益效果在于:第一服務(wù)器獲取開發(fā)代碼和自動(dòng)化 測(cè)試?yán)a,為第二服務(wù)器提供代碼源,第二服務(wù)器需要時(shí)再進(jìn)行下載,節(jié)省了第二服務(wù)器 的存儲(chǔ)空間;第二服務(wù)器調(diào)用批處理腳本自動(dòng)編譯,極大的提高了編譯效率;第二服務(wù)器將 應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī),實(shí)現(xiàn)了多臺(tái)測(cè)試PC機(jī)的異 步測(cè)試,進(jìn)一步提高了自動(dòng)化測(cè)試的效率。
[0011] -種分布式自動(dòng)構(gòu)建系統(tǒng),包括:第一服務(wù)器、第二服務(wù)器以及測(cè)試PC機(jī),所述第 一服務(wù)器與第二服務(wù)器通訊連接,一臺(tái)第二服務(wù)器與至少兩臺(tái)測(cè)試PC機(jī)通訊連接;
[0012] 第一服務(wù)器,用于獲取開發(fā)代碼或自動(dòng)化測(cè)試?yán)a;
[0013] 第二服務(wù)器,用于下載所述開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn) 行自動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;并將所述應(yīng)用程序文件和自動(dòng)化測(cè)試 文件下發(fā)至不同的測(cè)試PC機(jī)。
[0014] 本發(fā)明分布式自動(dòng)構(gòu)建系統(tǒng)的有益效果在于:第一服務(wù)器與第二服務(wù)器通訊連接 以在需要的時(shí)候下載第一服務(wù)器內(nèi)的開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,從而節(jié)省了第二服務(wù) 器的存儲(chǔ)空間,第二服務(wù)器調(diào)用批處理腳本自動(dòng)編譯并通過與多臺(tái)測(cè)試PC機(jī)通訊連接將自 動(dòng)編譯生成的應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī),極大的提高 了編譯效率,并實(shí)現(xiàn)了多臺(tái)測(cè)試PC機(jī)的異步測(cè)試,提高了自動(dòng)化測(cè)試的效率。
【附圖說明】
[0015] 圖1為本發(fā)明實(shí)施例一的分布式自動(dòng)構(gòu)建方法流程圖;
[0016] 圖2為本發(fā)明實(shí)施例二的分布式自動(dòng)構(gòu)建系統(tǒng)結(jié)構(gòu)圖。
[0017] 標(biāo)號(hào)說明:
[0018] 1、第一服務(wù)器;2、第二服務(wù)器;3、測(cè)試PC機(jī);4、移動(dòng)終端。
【具體實(shí)施方式】
[0019] 為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式 并配合附圖詳予說明。
[0020] 本發(fā)明最關(guān)鍵的構(gòu)思在于:使用批處理腳本實(shí)現(xiàn)自動(dòng)編譯和自動(dòng)測(cè)試以及分布式 架構(gòu)實(shí)現(xiàn)了多臺(tái)設(shè)備的異步測(cè)試。
[0021 ] 請(qǐng)參閱圖1,
[0022] -種分布式自動(dòng)構(gòu)建方法,包括:
[0023] Sl、第一服務(wù)器獲取開發(fā)代碼和自動(dòng)化測(cè)試?yán)a;
[0024] S2、第二服務(wù)器下載所述開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn)行 自動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;
[0025] S3、第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC 機(jī)。
[0026] 從上述描述可知,本發(fā)明分布式自動(dòng)構(gòu)建方法的有益效果在于:第一服務(wù)器獲取 開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,為第二服務(wù)器提供代碼源,第二服務(wù)器需要時(shí)再進(jìn)行下載, 節(jié)省了第二服務(wù)器的存儲(chǔ)空間;第二服務(wù)器調(diào)用批處理腳本自動(dòng)編譯,極大的提高了編譯 效率;第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī),實(shí)現(xiàn) 了多臺(tái)測(cè)試PC機(jī)的異步測(cè)試,進(jìn)一步提高了自動(dòng)化測(cè)試的效率。
[0027] 進(jìn)一步的,所述分布式自動(dòng)構(gòu)建方法還包括:測(cè)試PC機(jī)將應(yīng)用程序文件和自動(dòng)化 測(cè)試文件部署至移動(dòng)終端;移動(dòng)終端執(zhí)行自動(dòng)化測(cè)試文件;測(cè)試PC機(jī)獲取移動(dòng)終端的自動(dòng) 化測(cè)試結(jié)果,并將自動(dòng)化測(cè)試結(jié)果回傳至第二服務(wù)器;第二服務(wù)器匯總所述測(cè)試結(jié)果。
[0028] 從上述描述可知,測(cè)試PC機(jī)部署應(yīng)用程序文件和自動(dòng)化測(cè)試文件至移動(dòng)終端,實(shí) 現(xiàn)應(yīng)用程序在移動(dòng)終端的安裝,移動(dòng)終端執(zhí)行自動(dòng)化測(cè)試文件并將測(cè)試結(jié)果反饋給測(cè)試PC 機(jī),再回傳至第二服務(wù)器,最終由服務(wù)器匯總,便于應(yīng)用程序的維護(hù),提高了應(yīng)用程序的穩(wěn) 定性。
[0029] 進(jìn)一步的,所述自動(dòng)編譯過程具體為:
[0030] 下載對(duì)應(yīng)的代碼;
[0031] 解析設(shè)置應(yīng)用程序的版本號(hào)和版本名稱,并根據(jù)當(dāng)前版本號(hào)信息進(jìn)行版本號(hào)變 更;
[0032] 配置自動(dòng)編譯相關(guān)的參數(shù),調(diào)用批處理腳本進(jìn)行編譯,生成安裝于移動(dòng)終端的應(yīng) 用程序文件和自動(dòng)化測(cè)試文件。
[0033]從上述描述可知,調(diào)用批處理腳本實(shí)現(xiàn)一鍵編譯,大大提高了編譯效率和準(zhǔn)確性。
[0034] 進(jìn)一步的,所述第二服務(wù)器將應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同 的測(cè)試PC機(jī)后測(cè)試PC機(jī)還會(huì)對(duì)應(yīng)用程序文件進(jìn)行測(cè)試,具體為:
[0035] 調(diào)用自動(dòng)化測(cè)試框架,將自動(dòng)化測(cè)試文件注入至被測(cè)應(yīng)用程序以獲取被測(cè)應(yīng)用程 序的界面元素,所述被測(cè)應(yīng)用程序即安裝于移動(dòng)終端的應(yīng)用程序;
[0036]調(diào)用ADB指令,安裝所述應(yīng)用程序文件和自動(dòng)化測(cè)試文件;
[0037] 測(cè)試PC機(jī)執(zhí)行自動(dòng)化測(cè)試文件進(jìn)行自動(dòng)化測(cè)試。
[0038] 從上述描述可知,測(cè)試PC機(jī)對(duì)應(yīng)用程序文件進(jìn)行自動(dòng)化測(cè)試,高效率地檢測(cè)了應(yīng) 用程序文件的可用性。
[0039] 進(jìn)一步的,所述"配置自動(dòng)編譯相關(guān)的參數(shù)"之后"調(diào)用自動(dòng)編譯腳本進(jìn)行編譯"之 前還包括:設(shè)置是否進(jìn)行混淆編譯以及設(shè)置應(yīng)用程序簽名配置。
[0040] 請(qǐng)參閱圖2,
[0041] -種分布式自動(dòng)構(gòu)建系統(tǒng),包括:第一服務(wù)器1、第二服務(wù)器2以及測(cè)試PC機(jī)3,所述 第一服務(wù)器1與第二服務(wù)器2通訊連接,一臺(tái)第二服務(wù)器2與至少兩臺(tái)測(cè)試PC機(jī)3通訊連接;
[0042] 第一服務(wù)器1,用于獲取開發(fā)代碼或自動(dòng)化測(cè)試?yán)a;
[0043]第二服務(wù)器2,用于下載所述開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,并調(diào)用批處理腳本進(jìn) 行自動(dòng)編譯,生成應(yīng)用程序文件和自動(dòng)化測(cè)試文件;并將所述應(yīng)用程序文件和自動(dòng)化測(cè)試 文件下發(fā)至不同的測(cè)試PC機(jī)3。
[0044]本發(fā)明分布式自動(dòng)構(gòu)建系統(tǒng)的有益效果在于:第一服務(wù)器1與第二服務(wù)器2通訊連 接以在需要的時(shí)候下載第一服務(wù)器1內(nèi)的開發(fā)代碼和自動(dòng)化測(cè)試?yán)a,從而節(jié)省了第二 服務(wù)器2的存儲(chǔ)空間,第二服務(wù)器2調(diào)用批處理腳本自動(dòng)編譯并通過與多臺(tái)測(cè)試PC機(jī)3通訊 連接將自動(dòng)編譯生成的應(yīng)用程序文件和自動(dòng)化測(cè)試文件分布式下發(fā)至不同的測(cè)試PC機(jī)3, 極大的提高了編譯效率,并實(shí)現(xiàn)了多臺(tái)測(cè)試PC機(jī)3的異步測(cè)試,提高了自動(dòng)化測(cè)試的效率。 [0045]進(jìn)一步的,所述分布式自動(dòng)構(gòu)建系統(tǒng)還包括與測(cè)試PC機(jī)3通訊連接的移動(dòng)終端4, 所述一臺(tái)測(cè)試PC機(jī)3對(duì)應(yīng)至少兩臺(tái)移動(dòng)終端4,所述第二服務(wù)器2與測(cè)試PC機(jī)3通過以太網(wǎng)連 接,且一臺(tái)第二服務(wù)器2對(duì)應(yīng)至少兩臺(tái)測(cè)試PC機(jī)3;
[0046] 第二服務(wù)器2與至少兩臺(tái)測(cè)試PC機(jī)3進(jìn)行通訊,并將應(yīng)用程序文件和自動(dòng)化測(cè)試文 件發(fā)送至對(duì)應(yīng)的至少兩臺(tái)測(cè)試PC機(jī)3;
[0047] 各測(cè)試PC機(jī)3進(jìn)行自動(dòng)測(cè)試,將主機(jī)編譯后的應(yīng)用程序文件和自動(dòng)化測(cè)試文件部 署至移動(dòng)終端4。
[0048] 從上述描述可知,一臺(tái)第二服務(wù)器2對(duì)應(yīng)至少兩臺(tái)測(cè)試PC機(jī)3,實(shí)現(xiàn)了多臺(tái)測(cè)試PC 機(jī)3的異步測(cè)試,提高了自動(dòng)化測(cè)試的效率,測(cè)試PC機(jī)3與移動(dòng)終端4通訊連接,并將應(yīng)用程 序文件和自動(dòng)化測(cè)試文件部署至移動(dòng)終端4,從而移動(dòng)終端4安裝該應(yīng)用程序文件并自動(dòng)化 測(cè)試,提高應(yīng)用程序的可靠性。
[0049] 請(qǐng)參照?qǐng)D1,本發(fā)明的實(shí)施例一為:一種分布式自動(dòng)構(gòu)建方法,包括:
[0050] 研發(fā)人員定期,例如每天將開發(fā)代碼提交到第一服務(wù)器,優(yōu)選的,所述第一服務(wù)器 為SVN服務(wù)器;
[0051] 自動(dòng)化測(cè)試?yán)_發(fā)人員,則每天將自動(dòng)化測(cè)試?yán)a提交至所述第一服務(wù)器;
[0052] 第二服務(wù)器在設(shè)定時(shí)間,比如每天凌晨0