GIS平臺(tái)軟件自動(dòng)化測試框架

崔雪,王少華,蔡文文

(1.北京超圖軟件股份有限公司,北京100015;2.中國科學(xué)院 地理科學(xué)與資源研究所,北京100010)

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

摘要:針對(duì)GIS平臺(tái)軟件規(guī)模不斷增大導(dǎo)致的軟件測試工作量加重,手工測試無法保證GIS平臺(tái)軟件高質(zhì)量運(yùn)行的問題,該文提出了一套適用于地理信息領(lǐng)域的軟件自動(dòng)化測試與監(jiān)控管理體系。在分析GIS軟件測試流程和需求的基礎(chǔ)上,結(jié)合 TeamCity、Sonar、WhiteBox等20多個(gè)管理軟件,研發(fā)了適用于GIS軟件的自動(dòng)化測試和持續(xù)集成系統(tǒng),構(gòu)成了軟件測試與監(jiān)控的管理體系。這一自動(dòng)化測試框架在GIS軟件生產(chǎn)流程的應(yīng)用表明,該框架可保障GIS平臺(tái)軟件的高效運(yùn)行。

關(guān)鍵詞: GIS,平臺(tái)軟件,自動(dòng)化測試框架

0 引言

軟件測試是保障和提高軟件質(zhì)量的重要手段。一個(gè)廣泛應(yīng)用的GIS平臺(tái)軟件,軟件開發(fā)者和使用者必須對(duì)軟件進(jìn)行充分的測試,以確保其正常工作。以往在GIS平臺(tái)產(chǎn)品研發(fā)過程中,軟件測試工作量往往占總工作量的40%以上。隨著超圖平臺(tái)產(chǎn)品的不斷完善,軟件規(guī)模的不斷加大,平臺(tái)軟件總的有效代碼數(shù)已經(jīng)突破500萬行,代碼總量已經(jīng)相當(dāng)于半個(gè)linux。這么大體量的代碼,單純依靠傳統(tǒng)的手工測試是較難實(shí)現(xiàn)的;并且GIS平臺(tái)軟件因?yàn)槠渥陨淼奶攸c(diǎn),如高并發(fā)、數(shù)據(jù)量大,使人工測試變得無法滿足需求。因此為了提高測試效率,越來越多的測試工作引入了自動(dòng)化測試的思想和方法。實(shí)踐證明,軟件自動(dòng)化測試技術(shù)提高了軟件測試的速度和效率,節(jié)省了軟件測試成本,縮短了產(chǎn)品發(fā)布周期。自動(dòng)化測試可以減少人工干預(yù),避免人為原因給測試工作帶來的誤差。所以,采用自動(dòng)化測試方法和相應(yīng)的測試框架成為了軟件開發(fā)組織測試工作的重要支撐手段。本文給出了一種實(shí)用、有效的自動(dòng)化測試框架,并驗(yàn)證了該框架在自動(dòng)化測試領(lǐng)域的實(shí)用性和優(yōu)越性。

1 GIS軟件測試體系特點(diǎn)

GIS平臺(tái)軟件因其自身的特點(diǎn),決定著GIS測試體系不僅具備其他測試體系的特點(diǎn),還需滿足如下要求:能夠驗(yàn)證高并發(fā)性;能夠驗(yàn)證數(shù)據(jù)安全性,嚴(yán)格保障地理數(shù)據(jù)的安全性;能夠驗(yàn)證網(wǎng)絡(luò)信息安全性;能夠隨時(shí)更換不同的測試數(shù)據(jù),全方位驗(yàn)證功能的正確性和承壓性;能 夠隨時(shí)更換功能執(zhí)行順序,執(zhí)行順序不同,結(jié)果不同;由于 GIS數(shù)據(jù)量非常大,因此性能測試指標(biāo)的重要性與功能正確性同等重要。

2 自動(dòng)化測試框架的開發(fā)原則

根據(jù)GIS軟件測試體系特點(diǎn),同時(shí)參考國內(nèi)外主流測試技術(shù)的功能,本文在設(shè)計(jì)自動(dòng)化測試框架時(shí),遵循以下原則

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

更多內(nèi)容請點(diǎn)擊下方的PDF下載