qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          從Unix到Linux的遷移部署:移植、升級和測試

           從Unix遷移到Linux,在最初階段,應(yīng)該建立一個沙盤環(huán)境用于測試。也許您的整個團(tuán)隊都沒有Linux方面的經(jīng)驗,有這樣一個沙盤環(huán)境能幫上大忙(無需擔(dān)心任何風(fēng)險)。

            有關(guān)代碼和編譯的問題。你正在使用JAVA還是C?是否有第三方應(yīng)用需要遷移?這些第三方軟件能移植到Linux上嗎?

            假設(shè)您正在使用C語言。假設(shè)您將會在Linux上編譯代碼。如果使用GNU(gcc)編譯器,因為這是工業(yè)標(biāo)準(zhǔn),而且這是Linux自己的編譯器。那么所有在其它平臺上編譯過的應(yīng)用程序都需要重新編譯。

            對于編譯,有兩種方法供您使用。一個方法是在現(xiàn)有環(huán)境上重新編譯您的程序,這種情況下,您必須確保在這個環(huán)境下有您需要的所有工具,其中包括源代碼和生成文件。如果您想使用這個方法,請在您的測試環(huán)境中進(jìn)行,永遠(yuǎn)不要在生產(chǎn)環(huán)境中實施。

            另一種方法是把所有數(shù)據(jù)和代碼移植到新環(huán)境上,并且測試他們。同時,要測試一下硬件平臺。如果您計劃更新硬件平臺,一些有關(guān)硬件的代碼可能會給你制造些麻煩,最糟糕的情況是,您可能不得不重寫所有代碼。

            確保開發(fā)人員參與進(jìn)來,不要假設(shè)任何事情。需要認(rèn)真考慮的事情包括運行時API、系統(tǒng)調(diào)用、流和庫的支持。確保您完全理解所要移植的內(nèi)容。這時候你需要評估和核實所有的事情,如應(yīng)用程序及其庫文件和依賴性。您能快速確定產(chǎn)品是否能在Linux上運行和在哪里運行。

            毫無疑問,Java程序比C語言程序能更快地移植。此外,在移植過程中,您還需要核實測試環(huán)境、用戶界面需求、平臺可靠性限制、中間件產(chǎn)品和內(nèi)部技能水平。每一個環(huán)境不仔細(xì)都可能在未來給您帶來麻煩。

            應(yīng)用程序升級

            應(yīng)用程序是移植過程中最重要的一塊。在某些情況下,您的應(yīng)用程序可以直接被移植,但是這種情況很少發(fā)生。另一種情況是,您必須在新平臺上重新編譯它們。移植和編譯過程都不復(fù)雜,然后需要做的就是測試以確認(rèn)一切OK。

            應(yīng)用程序的移植過程應(yīng)該包括開發(fā)和測試。在進(jìn)行移植的時候,您必須有可靠的辦法來保證您的數(shù)據(jù)庫正確移植。另外,應(yīng)用程序所要求的內(nèi)核擴展和準(zhǔn)備驅(qū)動,在新的平臺上并不一定能夠得到滿足,因為大多數(shù)的內(nèi)核API并不嚴(yán)格遵循標(biāo)準(zhǔn)。

            應(yīng)用程序是否正在使用第三方組件,如數(shù)據(jù)庫工具、應(yīng)用服務(wù)器或其它中間件呢?如果是,這會增加移植的復(fù)雜性。應(yīng)用程序是32位還是64位?如果是從32位移植到64為,您將不得不付出更多的時間。應(yīng)用程序如何和數(shù)據(jù)庫通信呢?它們使用數(shù)據(jù)庫接口嗎,如ODBC或者編程語言,如C++?這些方面您都需要認(rèn)真考慮。從人工的角度來講,盡可能的讓那些有各種移植項目經(jīng)歷的人加入您的團(tuán)隊。

            穩(wěn)定性和性能評測

            通常在最初的幾周內(nèi),各種應(yīng)用程序問題會陸續(xù)出現(xiàn),工程師們會第一時間想辦法來解決它們。這時候您可能想重新審視您的項目計劃并調(diào)整交貨時間。

            測試應(yīng)用的穩(wěn)定、功能和性能非常關(guān)鍵。與其花費200萬美元開發(fā)新系統(tǒng),還不如花費2000美元測試。測試的順序通常如下:

            遷移工程師對于需要移植的應(yīng)用程序進(jìn)行模塊測試。

            應(yīng)用工程師執(zhí)行功能性測試。

            用戶驗收測試(UAT)。該階段實際的商業(yè)用戶進(jìn)行測試。

            性能工程師進(jìn)行性能測試

            在測試過程中,對要遷移的應(yīng)用程序進(jìn)行壓力測試不可缺少,這樣能確保新系統(tǒng)能夠應(yīng)付各種負(fù)載。此時,您應(yīng)該已經(jīng)完成了基本的測試,并且對于舊環(huán)境和新環(huán)下的應(yīng)用程序性能,您該心中有數(shù)。

            對于穩(wěn)定性和性能,也需要進(jìn)行類似的測試。嘗試擊敗你的系統(tǒng)。使用諸如惠普LoadRunner等工具來模擬正常量5倍的負(fù)載。

            現(xiàn)在是時候來發(fā)現(xiàn)Bug了,當(dāng)然這不是在生產(chǎn)環(huán)境上。在進(jìn)入生產(chǎn)環(huán)境之前,您就有機會調(diào)試問題。利用測試,不要讓使用系統(tǒng)的人來核實是否有問題。業(yè)務(wù)內(nèi)容也必須涉及,而且應(yīng)該有獨立的UAT計劃。如果您的系統(tǒng)在舊環(huán)境上有很高的可用性,那么在新環(huán)境下,必須測試高可用性是否繼續(xù)有效。

          posted on 2011-12-23 14:42 順其自然EVO 閱讀(147) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2011年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 祁阳县| 封开县| 仁化县| 揭西县| 徐汇区| 周口市| 罗山县| 罗江县| 温州市| 株洲县| 天水市| 东台市| 成都市| 石渠县| 天气| 寻甸| 三都| 津南区| 偏关县| 栖霞市| 昌邑市| 忻州市| 张家川| 沙河市| 英超| 读书| 绵竹市| 平谷区| 新和县| 海丰县| 盐城市| 古丈县| 乌审旗| 南雄市| 德阳市| 个旧市| 阿合奇县| 平远县| 吴川市| 涪陵区| 鹤庆县|