GIS平台軟件自動化測試框架

崔雪,王少華,蔡文文

(1.地圖生活(北京)信息技術有限公司,北京100015;2.中國(guó)科學院 地(dì / de)理科學與資源研究所,北京100010)

論文來(lái)源:《測繪科學》第42卷第4期 2017年4月

摘要(yào / yāo):針對GIS平台軟件規模不(bù)斷增大(dà)導緻的(de)軟件測試工作量加重,手工測試無法保證GIS平台軟件高質量運行的(de)問題,該文提出(chū)了(le/liǎo)一(yī / yì /yí)套适用于(yú)地(dì / de)理信息領域的(de)軟件自動化測試與監控管理體系。在(zài)分析GIS軟件測試流程和(hé / huò)需求的(de)基礎上(shàng),結合 TeamCity、Sonar、WhiteBox等20多個(gè)管理軟件,研發了(le/liǎo)适用于(yú)GIS軟件的(de)自動化測試和(hé / huò)持續集成系統,構成了(le/liǎo)軟件測試與監控的(de)管理體系。這(zhè)一(yī / yì /yí)自動化測試框架在(zài)GIS軟件生産流程的(de)應用表明,該框架可保障GIS平台軟件的(de)高效運行。

關鍵詞: GIS,平台軟件,自動化測試框架

0 引言

軟件測試是(shì)保障和(hé / huò)提高軟件質量的(de)重要(yào / yāo)手段。一(yī / yì /yí)個(gè)廣泛應用的(de)GIS平台軟件,軟件開發者和(hé / huò)使用者必須對軟件進行充分的(de)測試,以(yǐ)确保其正常工作。以(yǐ)往在(zài)GIS平台産品研發過程中,軟件測試工作量往往占總工作量的(de)40%以(yǐ)上(shàng)。随着超圖平台産品的(de)不(bù)斷完善,軟件規模的(de)不(bù)斷加大(dà),平台軟件總的(de)有效代碼數已經突破500萬行,代碼總量已經相當于(yú)半個(gè)linux。這(zhè)麽大(dà)體量的(de)代碼,單純依靠傳統的(de)手工測試是(shì)較難實現的(de);并且GIS平台軟件因爲(wéi / wèi)其自身的(de)特點,如高并發、數據量大(dà),使人(rén)工測試變得無法滿足需求。因此爲(wéi / wèi)了(le/liǎo)提高測試效率,越來(lái)越多的(de)測試工作引入了(le/liǎo)自動化測試的(de)思想和(hé / huò)方法。實踐證明,軟件自動化測試技術提高了(le/liǎo)軟件測試的(de)速度和(hé / huò)效率,節省了(le/liǎo)軟件測試成本,縮短了(le/liǎo)産品發布周期。自動化測試可以(yǐ)減少人(rén)工幹預,避免人(rén)爲(wéi / wèi)原因給測試工作帶來(lái)的(de)誤差。所以(yǐ),采用自動化測試方法和(hé / huò)相應的(de)測試框架成爲(wéi / wèi)了(le/liǎo)軟件開發組織測試工作的(de)重要(yào / yāo)支撐手段。本文給出(chū)了(le/liǎo)一(yī / yì /yí)種實用、有效的(de)自動化測試框架,并驗證了(le/liǎo)該框架在(zài)自動化測試領域的(de)實用性和(hé / huò)優越性。

1 GIS軟件測試體系特點

GIS平台軟件因其自身的(de)特點,決定着GIS測試體系不(bù)僅具備其他(tā)測試體系的(de)特點,還需滿足如下要(yào / yāo)求:能夠驗證高并發性;能夠驗證數據安全性,嚴格保障地(dì / de)理數據的(de)安全性;能夠驗證網絡信息安全性;能夠随時(shí)更換不(bù)同的(de)測試數據,全方位驗證功能的(de)正确性和(hé / huò)承壓性;能 夠随時(shí)更換功能執行順序,執行順序不(bù)同,結果不(bù)同;由于(yú) GIS數據量非常大(dà),因此性能測試指标的(de)重要(yào / yāo)性與功能正确性同等重要(yào / yāo)。

2 自動化測試框架的(de)開發原則

根據GIS軟件測試體系特點,同時(shí)參考國(guó)内外主流測試技術的(de)功能,本文在(zài)設計自動化測試框架時(shí),遵循以(yǐ)下原則

  • 1)實時(shí),有針對性。GIS平台軟件采用敏捷的(de)研發流程],開發人(rén)員每天需提交大(dà)量的(de)代碼。原有測試原則是(shì)每個(gè)開發人(rén)員先手工測試自己的(de)代碼,測試通過後再提交到(dào)測試代碼庫,然後每天全部集成到(dào)一(yī / yì /yí)起進行編譯打包成一(yī / yì /yí)個(gè)版本統一(yī / yì /yí)測試,測試後發現和(hé / huò)定位問題都很困難。亟待能提交代碼後立即測試,發現問題立即反饋給提交人(rén)的(de)框架。
  • 2)全自動化流程。在(zài)整個(gè)測試環節中盡量減少人(rén)工幹預,從代碼生産、測試、驗證和(hé / huò)打包的(de)整個(gè)流程都能自動完成。一(yī / yì /yí)個(gè)流程工作完畢後能夠有序地(dì / de)進入到(dào)下一(yī / yì /yí)個(gè)流程中,無須人(rén)工幹預和(hé / huò)驅動,既可節省人(rén)力和(hé / huò)時(shí)間成本,又能提高工作效率。
  • 3)數據與關鍵字驅動測試。不(bù)能将數據與測試用例的(de)執行順序在(zài)自動化測試框架中固定,需能夠随時(shí)更改,做到(dào)數據驅動和(hé / huò)關鍵字驅動,這(zhè)樣的(de)框架能夠更加靈活實用。測試框架易于(yú)擴展、維護。測試框架實現高度模塊化,可提高框架的(de)維護性,并且該框架要(yào / yāo)易于(yú)擴展,以(yǐ)适應不(bù)斷更新的(de)平台産品和(hé / huò)不(bù)斷變化的(de)測試方式。
  • 4)測試腳本所使用的(de)測試語言與框架相互獨立。對于(yú) SuperMap GIS平台産品,既有Java應用程序,也(yě)有.Net應用程序,該測試框架應獨立于(yú)測試腳本所使用的(de)語言,不(bù)能統一(yī / yì /yí)規定僅适用某一(yī / yì /yí)種語言。
  • 5)框架簡單易用。測試人(rén)員的(de)精力應投入到(dào)設計高效實用的(de)自動化測試案例上(shàng),真正對産品功能和(hé / huò)性能起到(dào)驗證作用的(de)是(shì)測試用例本身而(ér)非測試框架,不(bù)應該讓框架的(de)複雜性分散測試人(rén)員的(de)精力。

更多内容請點擊下方的(de)PDF下載