分布式 VxWorks/Linux/Android開發(fā)測試環(huán)境的實現(xiàn)與探索
不管是通信產(chǎn)品終端還是成套的固網(wǎng)移動通信設(shè)備,客戶都關(guān)注著各種需求不斷涌現(xiàn)的全球市場。在當(dāng)今高度競爭的市場環(huán)境中,用戶對產(chǎn)品上市速度(time-to-market)、應(yīng)用功能(application features)和系統(tǒng)穩(wěn)定性(stability)的要求日益增長,這就對研發(fā)的全球化協(xié)作和可預(yù)期性(predictability)提出了越來越高的要求。由于運營商和設(shè)備制造商都迫切期望獲得可直接上市的(market-ready)的解決方案以降低研發(fā)風(fēng)險,商用的操作系統(tǒng)以及統(tǒng)一的綜合開發(fā)測試平臺伴以寬帶網(wǎng)絡(luò)技術(shù)可以滿足在世界不同地域運作的研發(fā)虛擬團隊的需要,并借助這樣的平臺加強跨操作系統(tǒng)、跨產(chǎn)品線的技術(shù)技巧和代碼的重用。
隨著設(shè)備系統(tǒng)的越來越復(fù)雜高端,所需要支持的應(yīng)用范圍也越來越廣,研發(fā)難度日益提高。開發(fā)工程師需要統(tǒng)一穩(wěn)定的開發(fā)測試平臺來減少花在適應(yīng)開發(fā)環(huán)境的工夫,專注在應(yīng)用開發(fā)上。與此同時,高性能的片上調(diào)試(on-chip debugging)工具、多內(nèi)核多線程的設(shè)備調(diào)試開發(fā)工具平臺、軟件版本控制終端程序和源代碼編輯軟件,直至從軟件單元測試到集成測試的開發(fā)測試平臺的需求日益高漲。研發(fā)的全球化虛擬團隊的要求使得統(tǒng)一的分布式開發(fā)環(huán)境的實現(xiàn)成為大企業(yè)必須解決的問題。
風(fēng)河系統(tǒng)公司(Wind River)是設(shè)備軟件優(yōu)化(DSO)的全球領(lǐng)導(dǎo)者,目前已經(jīng)成為了Intel的全資子公司。VxWorks硬實時操作系統(tǒng)是風(fēng)河公司的老牌拳頭產(chǎn)品,風(fēng)河商用級Linux操作系統(tǒng)也已占據(jù)了相當(dāng)?shù)氖袌龇蓊~。此外,風(fēng)河Android平臺也已嶄露頭角。風(fēng)河公司的JTAG開發(fā)工具(On-Chip Debugging)不僅延續(xù)了風(fēng)河公司一貫以來對Power Architecture、ARM、MIPS、ColdFire架構(gòu)的支持,也加入了對Intel Atom系列處理器和RMI多核架構(gòu)的支持。統(tǒng)一的Workbench開發(fā)平臺和測試管理平臺(Test Management)對不同的操作系統(tǒng)開發(fā)進行支持,從而實現(xiàn)了在統(tǒng)一的平臺下支持完全不同的應(yīng)用領(lǐng)域的開發(fā)工作,并且實現(xiàn)了在一個平臺下完成了設(shè)備開發(fā)到測試結(jié)束全過程的集成開發(fā)環(huán)境支持。
風(fēng)河系統(tǒng)公司產(chǎn)品結(jié)構(gòu)框圖,如圖1所示。
圖1 風(fēng)河系統(tǒng)公司產(chǎn)品結(jié)構(gòu)框圖
分布式開發(fā)測試環(huán)境的網(wǎng)絡(luò)構(gòu)架與實現(xiàn)
如今,研發(fā)中心和虛擬團隊分布在全球各地,使用VPN利用Internet把公司資源整合在一起。筆者在公司內(nèi)部網(wǎng)絡(luò)中搭建了Windows 2003服務(wù)器,在服務(wù)器上安裝了風(fēng)河系統(tǒng)公司的Workbench開發(fā)平臺和工程師習(xí)慣使用的各種開發(fā)測試工具和代碼編輯器。對于不同的研發(fā)中心和產(chǎn)品線,服務(wù)器上配置的Workbench版本和目標(biāo)操作系統(tǒng)(VxWorks)版本各不相同,但其他開發(fā)工具是一致的。我們推薦研發(fā)工程師使用統(tǒng)一的Test Management測試平臺進行測試用例開發(fā)和維護。這樣的風(fēng)河系統(tǒng)開發(fā)服務(wù)器被分布配置在各個研發(fā)中心的局域網(wǎng)內(nèi),使得研發(fā)工程師們可以選擇空閑的服務(wù)器進行開發(fā)工作。
全球各地的虛擬團隊通過微軟的Windows遠程桌面連接登錄服務(wù)器,工程師們可以打開Workbench或者其他的開發(fā)工具,并通過服務(wù)器連接軟件源代碼版本控制(SCM)服務(wù)器,在服務(wù)器上進行開發(fā)工作,不但實現(xiàn)了開發(fā)環(huán)境的一致,也保證了代碼的安全。
圖2所示為風(fēng)河系統(tǒng)開發(fā)服務(wù)器網(wǎng)絡(luò)構(gòu)架和實現(xiàn)。
圖2 風(fēng)河系統(tǒng)開發(fā)服務(wù)器網(wǎng)絡(luò)構(gòu)架和實現(xiàn)圖
在設(shè)計中,由于全公司所有研發(fā)工程師都可以訪問風(fēng)河系統(tǒng)開發(fā)服務(wù)器,這樣的網(wǎng)絡(luò)架構(gòu)可以充分使用風(fēng)河公司產(chǎn)品的許可證(License),使之在產(chǎn)品線和虛擬團隊之間被共享使用。使用了這樣的開發(fā)環(huán)境,公司還可以促進不同產(chǎn)品線、不同操作系統(tǒng)下的開發(fā)者之間進行開發(fā)技巧的交流,從而提高競爭力,并且提高軟件代碼的重用性。在內(nèi)部網(wǎng)絡(luò)中,由于多個同樣的風(fēng)河系統(tǒng)開發(fā)服務(wù)器被分布配置在不同的地域和局域網(wǎng)中,公司可以配置分布式編譯器以提高編譯效率;同時公司也可以考慮使用分布式計算機資源建立服務(wù)器,并且根據(jù)實際需要配置計算資源。
分布式開發(fā)測試環(huán)境探索和展望
分布式風(fēng)河開發(fā)測試系統(tǒng)支持不同版本下的VxWorks操作系統(tǒng)的產(chǎn)品開發(fā),隨著已成為Intel全資子公司的風(fēng)河系統(tǒng)公司在網(wǎng)絡(luò)設(shè)備Linux領(lǐng)域、消費電子領(lǐng)域以及在Moblin和Android支持方面日益強大,將來該平臺還可以兼顧這些領(lǐng)域下的產(chǎn)品開發(fā),從而實現(xiàn)最大限度的資源整合效益。