中國移動福建公司業務支撐系統部 | 鄭瀾
避免人工失誤移動計費系統嘗試自動化測試
中國移動福建公司業務支撐系統部 | 鄭瀾
目前計費測試大多采用手工方式,能夠測試的用例數量非常有限,測試結果也采用人工判斷的方式,工作量大且效率低下。
面對激烈的市場競爭及復雜的業務模式,業務支撐系統開發量與維護量都呈現大幅增長的趨勢。如何確保計費項目上線的質量,成為當前業務支撐系統的重中之重。目前計費測試大多采用手工方式,能夠測試的用例數量非常有限,測試結果也采用人工判斷的方式,工作量大且效率低下。采用計費自動化測試,不僅有助于全面提高測試質量,還能提高計費項目的上線正確率。
測試時間緊,測試任務重
業務支撐系統開發量的大幅增長引發了驗收測試工作量的大幅增長,各個業務間的關聯性越來越高,回歸測試工作量也不斷增大,計費測試需要采用自動化的方式在有限時間內完成大量的測試工作。
測試用例設計不規范
目前的情況是,絕大部分測試用例都依靠手工編寫,但不同測試人員的經驗和技能的差異會使得其設計出的測試用例參差不齊,這樣做不僅使得評審測試用例的時間和人力投入較大,而且還容易出現遺漏。
手工測試覆蓋面非常有限
手工測試效率較低,在有限時間內只能進行有軟件變更部分的測試以及少量的回歸測試,不可能將所有業務全部進行覆蓋。更重要的是,手工測試結果完全靠人為判斷,存在人工失誤的風險。
在測試環境上進行大批量的話單計費測試是計費測試常用的一個手段,一般采用新舊系統分別計費后進行話單比對的方式來發現可能存在的問題。但由于一個用戶可能申請多個套餐,系統對批價優先級相同并且計費結果相同的套餐在處理順序上可能存在隨機性的差異,就會造成套餐累加順序不同,進而導致后續話單計費結果不同,有問題與沒有問題的話單都出現計費結果不同的情況,并混雜在一起,使測試效果大打折扣。因此,我們迫切需要一個能夠對測試過程與測試結果進行精細化管理與分析的自動化測試系統。
無成熟測試工具支持
CRM系統采用通用的Web界面開發,已能通過QTP等通用的自動化測試工具進行自動化測試,而計費系統具有很強的行業特性,目前還沒有成熟測試工具支持,許多領域都需要自行探索。
綜合分析了計費測試特點和業務流程,中國移動福建公司自主開發了計費自動化測試系統,即BAS系統(BOSS Automation testing System),測試的業務包括語音、短信、彩信、GPRS、WLAN、4G、寬帶等話單。
計費自動化測試根據基礎資費及套餐的優惠分段,有針對性地生成對各種計費場景全覆蓋的測試話單庫,再經過不同的測試線進行批價,最后由自動化測試系統對不同測試線的計費結果進行比對,從而找出可能存在的問題。

圖1 計費自動化測試系統模塊功能
這種測試方法能夠有效地克服計費手工測試的許多缺點,測試覆蓋面大、測試用例與測試過程規范、測試效率高、測試針對性強,根據測試需要既可以專門對單一套餐進行測試,也可以根據排列組合原理對多套餐組合進行測試。根據套餐資費的不同特點,一個套餐的測試一般僅需準備1~2個測試用戶即可,測試話單在3~6萬條左右。具體可以通過兩種方法實現。
一是由自動化測試系統與測試環境待上線版本分別進行批價(即圖1中的測試線1與測試線3),再將兩個批價結果進行比對,用以檢測測試環境待上線版本批價結果是否正確。這種方法對自動化測試系統的批價能力要求較高,自動化測試系統要與計費系統同步開發,開發成本較高,而且兩個測試線都是新開發的版本,本身都有出錯的可能。這種方法既能用于對待上線的新業務進行測試,也能用于對原有業務進行回歸測試,在理論上較完美,但在實施過程中難度較大。
二是在測試環境由已上線版本與測試環境待上線版本分別進行批價(即圖1中的測試線2與測試線3),再將兩個批價結果進行比對,用以檢測測試環境待上線版本批價結果是否正確。這種方法對自動化測試系統要求不高,無需具備批價能力,僅需具備生成測試話單庫及原始話單的能力。除非計費系統出現重大改變,否則自動化測試系統無需進行變更,可實施性強,開發成本低。但如果出現已上線版本仍存在未被發現的問題,由于新舊版本計費結果相同,未被發現的問題將從此被掩蓋。這種方法僅能用于對原有業務進行回歸測試,不能用于對待上線的新業務進行測試,雖然在理論上有瑕疵,但可實施性強,每次上線前對300檔用戶數最多的套餐進行測試,測試覆蓋用戶達到90%以上。
計費自動化測試系統包括如下功能模塊。
測試話單的生成:該模塊主要是根據呼叫類型、計費方號碼、對方號碼、通話起始時間、通話時長、動態漫游號、漫游地等維度,根據一定的規則生成標準格式的話單,測試話單生成是計費自動化測試系統的源頭,生成的測試話單是否全面將接影響測試的覆蓋率。
原始話單生成:該模塊根據當前業務支撐系統中的原始話單的格式需求,生成用于業務支撐系統處理的原始話單,包括各類二進制格式、文本格式的話單文件。
批價:該模塊利用自動生成的測試詳單,在計費自動化測試系統進行批價處理,以及批價后的檢查。
結果比對:該模塊對不同測試線批價后的詳單進行比對,并自動生成對比結果、比對信息統計等。
測試效率高:計費自動化測試系統的每個模塊處理由界面觸發,系統后臺處理,處理效率大大提升,不僅測試用例數大大增加,而且節約人工測試成本。
測試覆蓋率高:測試話單量大大提高,測試覆蓋率接近100%,基本能覆蓋各種撥打情況。例如對一個套餐的測試,計費自動化測試系統共生成約6萬條測試話單,基本做到了全覆蓋測試。
測試準確率高:自動化測試結果由系統進行自動比對,杜絕了人為比對可能出現的差錯,測試結果的準確性高。