範文齋

位置:首頁 > 行業範文 > 工業

軟件自動化報告

工業8.97K

軟件自動化報告

軟件自動化報告

地址:http://localhost:8081/hudson

軟件的自動化是一個持續改進的過程,體現着公司的能力成熟度CMM等級(附1)。

1. 目前免費成熟的自動化工具

1.1 應用在java 項目的自動化工具主要是maven.工具

1.2 應用在c++ 方面的主要工具是buildbot (開源)工具,代表公司是google,阿里巴巴等大公司,工具比較成熟和穩定。

1.3 Hudson 工具,web界面控制。

2. 軟件自動化

軟件自動化: 包括自動化檢出,自動化編譯,自動化生成,自動化測試,自動化部署等功能. 商業功能測試自動化工具:目前有QTP (主要幫助測試人員完成軟件的功能測試)。RationalRobot (業內最頂尖的功能測試工具).

WinRunner

QuickTest Professional (針對GUI應用程序,包括傳統的Windows應用程序,以及現在越來越流行的web應用)

SilkTest 等.

軟件自動化測試,適合以下條件:1.軟件需求變動不頻繁 2. 項目的週期足夠長 3.自動化測試腳本可重複使用。

3. 工具的使用

3.1 buildbot工具(主要用python編寫)在阿里巴巴大型c++研發項目中已經被證明是高效的持續集成運轉的重要一環,正發揮check in build/daily build/daily test重要功效,比較成熟. (注: 主要使用在unix,aix等平台).這個工具主要依賴依賴Twisted和Python,不依賴於hudson等界面配置工具,且國內外的大公司軟件開發多以unix平台為主,windows平台開發很少見,而國內的小公司多以window平台開發為主,自動化水平低,依賴於VC工具. Buildbot 工具能夠做到以下幾點:

1. checkout from the souce repository

2. build

3. create binary package(s) / installer

4. create source package(and check completeness)

5. run regression tests

Buildbot能夠在以下平台工作:

Window xp x86(WIN32 ,little endian ,vs 9)

Window xp x86-64(win64,little endian, vs 9)

Ubuntu x86-64(Linux,little endian ,gcc)

Solaris SPARC(Solaris ,big endian,gcc)

Mac OS-X PPC( BSD ,big endian ,gcc)

MAC OS-X x86(BSD ,little endian ,gcc)

3.2 Marven工具:依賴於JDK 運行,跨平台,主要是應用在java,jsp,web方面,作為插件集成

在eclipse方面,能夠在eclipse界面裏面以命令行的方式提供 構建,生成,自動測試,部署等功能,對c++的支持比較少(主要依賴文件進行配置和極少的c++本地化插件<即將c++>),對java工程支持的非常多而且比較成熟(插件比較豐富),.

4. hudson 工具:

hudson 工具:目前非常流行的開源CI服務器,持續集成(CI)是一種實踐,旨在緩和和穩固軟件的構建過程。

4.1 CI服務器通常會通過某種控制枱來進行項目的配置和調試,並且根據請求響應相應的操作,諸如即時構建、生成報告,或者檢索構件。

4.1 hudson工具是日本人用java,jsp所寫,能夠像eclipse一樣集成marven,對marven進行配置,部署,也可以單獨使用(部署在tomcat服務器下以及單獨運行)

單獨運行命令: java ?DHUDSON_HOME=D:hudson -jar

4.2 hudson 集成marven 對java,web的自動化支持比較成熟,但對c++,特別是對vc(MFC)的支持非常少。

4.3 hudson 通過web方式運行,通過web方式訪問(http://localhost:8080/hudson)

4.4 有豐富的VS2010編譯,測試()工具插件.

5. 可能的實現方案:

1. 使用批處理的方式進行自動化檢出,編譯,生成,部署,但是必須自己編寫makefile文件和批處理文件,比較複雜.

2. 選擇工具如hudson並且還需要部分實現其中的一些對vs2010的支持的插件實現自動化。

3. 編程實現,也需要自己寫makefile文件 <實現了一個MFC的makefile,能夠自動編譯,生

成和部署功能>考慮到未來會使用vs2010開發工具,故目前選擇的方案:Hudson + svn + vs2010 三個工具。

1. 目前使用hudson + svn + vs2010 ,實現了遠程的(定時以及update時)自動化檢出,構建,自動生成,自動郵件通知(當構建失敗時可以發郵件通知)功能。但hudson對vs2010的自動測試,部署功能還沒有實現。

後續建議:我們可以以hudson為基礎,認真學習和熟悉此平台,(熟悉和靈活運用vs2010工具,我們使用的功能大概只有10%左右,開發vs插件或寫批處理)持續的進行後續的自動化集成、改進來提高我們發展部門實時庫的自動化水平來適合未來的發展。

6. VS2010 的`本身的測試自動化(本身平台包括開發平台和測試平台)

VS2010本身的測試自動化水平功能異常強大

1. VS2010提供了一個叫作"Test Impact Analysis"的功能,有人把它譯成“測試影響分析”,我覺叫它

“測試株連分析”似乎更貼切些。利用這一功能,開發人員在修改完代碼、要進行單元迴歸測試時,可以很容易地把確實受到此次代碼改動影響的測試挑出來,而把絕大多數不相干的測試全都過濾掉。假設某開發人員只修改了某個類中的一個方法,那麼他只須通過"Test Impact Analysis"把涉及到這個發法的可能也就是三、五個單元測試挑出來再運行一遍就行了(參考圖

1),而無須象以往那樣把所有相關或不相關的單元測試全都再跑一遍了。

2. VS2010功能測試中有Test Manager 功能,即bug信息收集機制,能夠自動記錄測試時的操作步驟和屏幕截圖,以方便bug復現(包括每一步測試操作,屏幕截圖,操作日誌,系統配置信息,事件記錄,系統運行時軌跡,帶時間索引的操作視頻,測試環境快照的操作視頻)。

3. 自動還原測試環境。

如果測試人員A在她的Bug報告中附一個其所測系統的環境快照的鏈接,那麼開發人員B就可以通過這個鏈接直接進入A的測試環境,而且是直接跳回A發現那個Bug的時刻,然後在一個完全復原的“歷史場景”中進行Debug。這種科幻式的效果就是通過VS 2010中"Lab Management"這一功能變成現實的。

4. 其他很多功能。

7.軟件自動化測試方面的作用和效果

目前,軟件測試自動化的研究領域主要集中在軟件測試流程的自動化管理以及動態測試的自動化(如單元測試、功能測試以及性能測試方面)。在這兩個領域,與手工測試相比,測試自動化的優勢是明顯的。首先自動化測試可以提高測試效率,使測試人員更加專注於新的測試模塊的建立和開發,從而提高測試覆蓋率;其次,自動化測試更便於測試資產的數字化管理,使得測試資產在整個測試生命週期內可以得到複用,這個特點在功能測試和迴歸測試中尤其具有意義;此外,測試流程自動化管理可以使機構的測試活動開展更加過程化,這很符合過程改進的思想。根據OppenheimerFunds的調查,在2001年前後的3年中,全球範圍內由於採用了測試自動化手段所實現的投資回報率高達1500%。

8.自動化工具的使用有利於軟件的過程持續改進,提高工作效率,是一個長期積累的過程。

附1 HUDSON 資料:

1. 安裝

1.1 下載Hudson war 包

1.2 安裝 SVN

1.3 安裝Tomcat6.x(Tomcat5.x也可以)

1.4 部署到Tomcat6目錄.

1.5依賴JDK5,需安裝JAVA RUNTIME .

2. 功能:

2.1持續、自動的構建/測試軟件項目 ,如cruiseControl 與DamageControl.

2.2 監控一些定時執行的任務。

Hudson擁有的特性包括:

易於安裝-只要把部署到servlet容器,不需要數據庫支持。 易於配置-所有配置都是通過其提供的web界面實現。 集成RSS/E-mail/IM-通過RSS發佈構建結果或當構建失敗時通過e-mail實時通知。 生成JUnit/TestNG測試報告。 分佈式構建支持-Hudson能夠讓多台計算機一起構建/測試。 文件識別- Hudson能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。 插件支持-Hudson可以通過插件擴展,你可以開發適合自己團隊使用的工具。 附3 .持續集成(CI)

持續集成(CI)是整個軟件開發生命週期內側重保證代碼質量的做法。目標為軟件構建自動化,

持續的自動的構建檢查,持續自動的構建測試,構件生成後的後續過程的自動化(包括文檔,打包,軟件部署構建到運行環境或者軟件倉庫).

附2 概述:能力成熟模型

1級:初始 軟件過程被認為是特別的,有時甚至是混亂的。很少有詳細定義的過程,而且成功取決於個人努力。

2級:可重複的 基本項目管理過程被建立起來,能夠跟蹤成本,時間進度和功能。必要的過程原則能夠在有着相似應用程序的項目上重複早期的成功。

3級:清楚定義的 管理和工程活動的軟件過程都被文檔所記錄和標準化,並被集成入一個標準的軟件過程以備組織使用。所有項目都使用一個被認可的,專用版本的開發和維護軟件的組織標準軟件過程。

4級:良好管理的 詳細的對軟件過程的度量和產品質量信息被收集起來。軟件過程和產品被量化地理解和控制。

5級:最優化 從過程和領先的創新思想及技術中獲得的量化的反饋激活了不斷的過程改進。