費春勇 韓嘯虎 浦鴻皓 張成振
[摘? ? 要] 企業(yè)級ERP系統(tǒng)的日常巡檢是保證系統(tǒng)良好運行的重要組成部分,隨著近年來國民經(jīng)濟發(fā)展迅速,企業(yè)迅猛發(fā)展,相應ERP系統(tǒng)數(shù)量、功能模塊增加,系統(tǒng)的穩(wěn)定運行對企業(yè)的日常運營、業(yè)務開展有著至關重要的作用?,F(xiàn)有人工檢測頁面已逐步顯示弊端,本文基于快速、高效、可靠為出發(fā)點,以中國電信集中MSS ERP系統(tǒng)為例,提出一種以自動化方式進行系統(tǒng)頁面例行檢查的方案,以保證系統(tǒng)穩(wěn)定運營。
[關鍵詞] 自動化框架;運維;巡檢;自動化測試
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 21. 034
[中圖分類號] F270.7? ? [文獻標識碼]? A? ? ? [文章編號]? 1673 - 0194(2018)21- 0088- 02
1? ? ? 背景及存在問題
1.1? ?當前人工運維檢測頁面可用性存在的問題
近年來,國內(nèi)企業(yè)ERP系統(tǒng)實施覆蓋率顯著增長,但是相應的運維服務能力卻沒有及時跟上,經(jīng)常爆發(fā)服務癱瘓、不穩(wěn)定事件,帶來嚴重影響,引起使用企業(yè)高度關注。另外,從行業(yè)看,微博癱瘓造成4.5億用戶措手不及、雙十一購物節(jié)淘寶購物車無法付款造成上億經(jīng)濟損失,皆反映出當前大部分企業(yè)的運維能力在系統(tǒng)功能、頁面檢查及響應機制上存在嚴重不足。
1.1.1? ?人工運維巡檢耗時久
目前對于界面檢測主要是通過運維人員手工進行點擊查看,在系統(tǒng)數(shù)量及功能模塊不多的情況下進行人工檢測耗時正常,能夠保證及時完成。隨業(yè)務發(fā)展需求,ERP系統(tǒng)模塊增多,人工檢測弊端逐步凸顯。以一個系統(tǒng)有200個末端功能模塊,一個熟練的運維人員一分鐘可以點擊五個功能模塊計算,檢測一次需要四十分鐘,而中國電信集中MSS ERP系統(tǒng)有20個以上的子系統(tǒng),純粹全部靠人工檢測一遍單個運維人員一整天也無法完成,但此類檢測每天需要多次進行。因此,單次檢測耗時久的人工檢測模式已經(jīng)滿足不了爆發(fā)式增長的系統(tǒng)數(shù)量、功能模塊多樣化的系統(tǒng)設計、檢測頻度逐步提高的業(yè)務需求,使得人工手動運維檢測工作越發(fā)困難。
1.1.2? ?準確性難以得到保障
實際工作過程中,需要檢測的功能模塊較多,人工檢測存在缺、漏、忘現(xiàn)象,頁面打開響應速度憑個人直覺判斷,無法有效判定系統(tǒng)目前所處狀態(tài),存在安全風險,企業(yè)無法及時獲取系統(tǒng)運行狀態(tài)。
1.2? ?運維巡檢工作規(guī)范性要求
為了驗證電信MSS ERP系統(tǒng)主頁面及其下級頁面的可用性及做好相關巡檢記錄,需對每個打開的頁面截圖,并把截圖保存到指定目錄中。截圖命名以獲取截圖時的系統(tǒng)時間命名,以便確認具體時間點PC端頁面和移動端是否能使用,且保留和相關系統(tǒng)所屬責任團隊處理人員的溝通記錄,確保責任分工及故障及時處理。
2? ? ? 自動化運維巡檢解決方案
2.1? ?系統(tǒng)整體架構
針對目前耗時長,人工檢測時存在漏、忘、誤操作等現(xiàn)狀。自動化運維巡檢能夠通過模擬人工操作,實現(xiàn)網(wǎng)頁打開、系統(tǒng)登錄、功能模塊點擊、頁面截圖、圖片保存、文件命名、檢測日志保存、通過手機的PC端模擬器檢測移動端應用、檢測結果郵件發(fā)送等,可以極大地節(jié)省測試時間與人工成本,同時自動化操作可以保障檢測結果的準確性,實現(xiàn)無人值守,提升工作效率。
2.2? ?功能設計及介紹
自動化測試模塊包括自動化測試框架層、引擎驅動層、輸出層,實現(xiàn)無人值守,自動截圖,即時告警輸出從而滿足工作需要。
2.2.1? ?自動化測試框架層
Robot Framework是一款用Python編寫的自動化測試框架。可以測試多種類型的客戶端或者接口,還可以結合其他的庫文件實現(xiàn)更豐富的功能,具有良好的可擴展性。尤其是結合Selenium2Library庫文件,可以模擬人的行為打開瀏覽器,然后通過指令依次點擊頁面及所屬下級頁面,實現(xiàn)對每個頁面的檢測。
Robot Framework和Selenium2Library都是開源軟件,官網(wǎng)上很容易就能獲取到安裝包,下載安裝、配置后就可以完成自動化測試框架的搭建。自動化測試框架能夠為自動化測試提供最基本的工作環(huán)境,能夠管理整個自動化測試的執(zhí)行、維護。
2.2.2? ?引擎驅動層功能
RIDE是Robot Framework IDE的縮寫,是開源的圖形界面編輯器,通過RIDE集中編輯和管理自動化測試所需的代碼,自動生成測試腳本,后結合系統(tǒng)的任務計劃,實現(xiàn)定期自動化測試從而實現(xiàn)無人值守的測試工作。
2.2.3? ?輸出層功能
自動化腳本執(zhí)行結束后,Robot Framework會生成output.xml、log.html 和 report.html三個文件并截屏:output.xml記錄的測試結果是XML文件,由于XML文件不夠直觀,通過編寫腳本讀取XML文件后處理生成特定的測試報告;log.html會記錄 Robot Framework 運行的每一步操作,主要用于查看自動化測試腳本執(zhí)行的過程;report.html為測試報告,匯總展示測試用例的運行情況;截屏是測試執(zhí)行過程中進行截屏并且以圖片方式保存,圖片格式可以是jpg和pnp。
3? ? ? 自動化運維巡檢實施成效
2018年自動化運維巡檢實施以來,中國電信集中MSS ERP系統(tǒng)的PC頁面端檢測時間從原來的單次1個人工作1天都不能完成縮短為單次約17分鐘完成,移動端單次檢測時間縮短為約6分鐘完成,并通過自動化有效保證了檢測的完整性及準確性,極大地減少了檢查耗時,讓運維資源可以釋放投入到更有需要的工作上,為將來的“智慧運維”打下基礎。