中國移動(dòng)福建公司業(yè)務(wù)支撐系統(tǒng)部 | 鄭瀾
避免人工失誤移動(dòng)計(jì)費(fèi)系統(tǒng)嘗試自動(dòng)化測試
中國移動(dòng)福建公司業(yè)務(wù)支撐系統(tǒng)部 | 鄭瀾
目前計(jì)費(fèi)測試大多采用手工方式,能夠測試的用例數(shù)量非常有限,測試結(jié)果也采用人工判斷的方式,工作量大且效率低下。
面對激烈的市場競爭及復(fù)雜的業(yè)務(wù)模式,業(yè)務(wù)支撐系統(tǒng)開發(fā)量與維護(hù)量都呈現(xiàn)大幅增長的趨勢。如何確保計(jì)費(fèi)項(xiàng)目上線的質(zhì)量,成為當(dāng)前業(yè)務(wù)支撐系統(tǒng)的重中之重。目前計(jì)費(fèi)測試大多采用手工方式,能夠測試的用例數(shù)量非常有限,測試結(jié)果也采用人工判斷的方式,工作量大且效率低下。采用計(jì)費(fèi)自動(dòng)化測試,不僅有助于全面提高測試質(zhì)量,還能提高計(jì)費(fèi)項(xiàng)目的上線正確率。
測試時(shí)間緊,測試任務(wù)重
業(yè)務(wù)支撐系統(tǒng)開發(fā)量的大幅增長引發(fā)了驗(yàn)收測試工作量的大幅增長,各個(gè)業(yè)務(wù)間的關(guān)聯(lián)性越來越高,回歸測試工作量也不斷增大,計(jì)費(fèi)測試需要采用自動(dòng)化的方式在有限時(shí)間內(nèi)完成大量的測試工作。
測試用例設(shè)計(jì)不規(guī)范
目前的情況是,絕大部分測試用例都依靠手工編寫,但不同測試人員的經(jīng)驗(yàn)和技能的差異會(huì)使得其設(shè)計(jì)出的測試用例參差不齊,這樣做不僅使得評審測試用例的時(shí)間和人力投入較大,而且還容易出現(xiàn)遺漏。
手工測試覆蓋面非常有限
手工測試效率較低,在有限時(shí)間內(nèi)只能進(jìn)行有軟件變更部分的測試以及少量的回歸測試,不可能將所有業(yè)務(wù)全部進(jìn)行覆蓋。更重要的是,手工測試結(jié)果完全靠人為判斷,存在人工失誤的風(fēng)險(xiǎn)。
在測試環(huán)境上進(jìn)行大批量的話單計(jì)費(fèi)測試是計(jì)費(fèi)測試常用的一個(gè)手段,一般采用新舊系統(tǒng)分別計(jì)費(fèi)后進(jìn)行話單比對的方式來發(fā)現(xiàn)可能存在的問題。但由于一個(gè)用戶可能申請多個(gè)套餐,系統(tǒng)對批價(jià)優(yōu)先級相同并且計(jì)費(fèi)結(jié)果相同的套餐在處理順序上可能存在隨機(jī)性的差異,就會(huì)造成套餐累加順序不同,進(jìn)而導(dǎo)致后續(xù)話單計(jì)費(fèi)結(jié)果不同,有問題與沒有問題的話單都出現(xiàn)計(jì)費(fèi)結(jié)果不同的情況,并混雜在一起,使測試效果大打折扣。因此,我們迫切需要一個(gè)能夠?qū)y試過程與測試結(jié)果進(jìn)行精細(xì)化管理與分析的自動(dòng)化測試系統(tǒng)。
無成熟測試工具支持
CRM系統(tǒng)采用通用的Web界面開發(fā),已能通過QTP等通用的自動(dòng)化測試工具進(jìn)行自動(dòng)化測試,而計(jì)費(fèi)系統(tǒng)具有很強(qiáng)的行業(yè)特性,目前還沒有成熟測試工具支持,許多領(lǐng)域都需要自行探索。
綜合分析了計(jì)費(fèi)測試特點(diǎn)和業(yè)務(wù)流程,中國移動(dòng)福建公司自主開發(fā)了計(jì)費(fèi)自動(dòng)化測試系統(tǒng),即BAS系統(tǒng)(BOSS Automation testing System),測試的業(yè)務(wù)包括語音、短信、彩信、GPRS、WLAN、4G、寬帶等話單。
計(jì)費(fèi)自動(dòng)化測試根據(jù)基礎(chǔ)資費(fèi)及套餐的優(yōu)惠分段,有針對性地生成對各種計(jì)費(fèi)場景全覆蓋的測試話單庫,再經(jīng)過不同的測試線進(jìn)行批價(jià),最后由自動(dòng)化測試系統(tǒng)對不同測試線的計(jì)費(fèi)結(jié)果進(jìn)行比對,從而找出可能存在的問題。
圖1 計(jì)費(fèi)自動(dòng)化測試系統(tǒng)模塊功能
這種測試方法能夠有效地克服計(jì)費(fèi)手工測試的許多缺點(diǎn),測試覆蓋面大、測試用例與測試過程規(guī)范、測試效率高、測試針對性強(qiáng),根據(jù)測試需要既可以專門對單一套餐進(jìn)行測試,也可以根據(jù)排列組合原理對多套餐組合進(jìn)行測試。根據(jù)套餐資費(fèi)的不同特點(diǎn),一個(gè)套餐的測試一般僅需準(zhǔn)備1~2個(gè)測試用戶即可,測試話單在3~6萬條左右。具體可以通過兩種方法實(shí)現(xiàn)。
一是由自動(dòng)化測試系統(tǒng)與測試環(huán)境待上線版本分別進(jìn)行批價(jià)(即圖1中的測試線1與測試線3),再將兩個(gè)批價(jià)結(jié)果進(jìn)行比對,用以檢測測試環(huán)境待上線版本批價(jià)結(jié)果是否正確。這種方法對自動(dòng)化測試系統(tǒng)的批價(jià)能力要求較高,自動(dòng)化測試系統(tǒng)要與計(jì)費(fèi)系統(tǒng)同步開發(fā),開發(fā)成本較高,而且兩個(gè)測試線都是新開發(fā)的版本,本身都有出錯(cuò)的可能。這種方法既能用于對待上線的新業(yè)務(wù)進(jìn)行測試,也能用于對原有業(yè)務(wù)進(jìn)行回歸測試,在理論上較完美,但在實(shí)施過程中難度較大。
二是在測試環(huán)境由已上線版本與測試環(huán)境待上線版本分別進(jìn)行批價(jià)(即圖1中的測試線2與測試線3),再將兩個(gè)批價(jià)結(jié)果進(jìn)行比對,用以檢測測試環(huán)境待上線版本批價(jià)結(jié)果是否正確。這種方法對自動(dòng)化測試系統(tǒng)要求不高,無需具備批價(jià)能力,僅需具備生成測試話單庫及原始話單的能力。除非計(jì)費(fèi)系統(tǒng)出現(xiàn)重大改變,否則自動(dòng)化測試系統(tǒng)無需進(jìn)行變更,可實(shí)施性強(qiáng),開發(fā)成本低。但如果出現(xiàn)已上線版本仍存在未被發(fā)現(xiàn)的問題,由于新舊版本計(jì)費(fèi)結(jié)果相同,未被發(fā)現(xiàn)的問題將從此被掩蓋。這種方法僅能用于對原有業(yè)務(wù)進(jìn)行回歸測試,不能用于對待上線的新業(yè)務(wù)進(jìn)行測試,雖然在理論上有瑕疵,但可實(shí)施性強(qiáng),每次上線前對300檔用戶數(shù)最多的套餐進(jìn)行測試,測試覆蓋用戶達(dá)到90%以上。
計(jì)費(fèi)自動(dòng)化測試系統(tǒng)包括如下功能模塊。
測試話單的生成:該模塊主要是根據(jù)呼叫類型、計(jì)費(fèi)方號碼、對方號碼、通話起始時(shí)間、通話時(shí)長、動(dòng)態(tài)漫游號、漫游地等維度,根據(jù)一定的規(guī)則生成標(biāo)準(zhǔn)格式的話單,測試話單生成是計(jì)費(fèi)自動(dòng)化測試系統(tǒng)的源頭,生成的測試話單是否全面將接影響測試的覆蓋率。
原始話單生成:該模塊根據(jù)當(dāng)前業(yè)務(wù)支撐系統(tǒng)中的原始話單的格式需求,生成用于業(yè)務(wù)支撐系統(tǒng)處理的原始話單,包括各類二進(jìn)制格式、文本格式的話單文件。
批價(jià):該模塊利用自動(dòng)生成的測試詳單,在計(jì)費(fèi)自動(dòng)化測試系統(tǒng)進(jìn)行批價(jià)處理,以及批價(jià)后的檢查。
結(jié)果比對:該模塊對不同測試線批價(jià)后的詳單進(jìn)行比對,并自動(dòng)生成對比結(jié)果、比對信息統(tǒng)計(jì)等。
測試效率高:計(jì)費(fèi)自動(dòng)化測試系統(tǒng)的每個(gè)模塊處理由界面觸發(fā),系統(tǒng)后臺處理,處理效率大大提升,不僅測試用例數(shù)大大增加,而且節(jié)約人工測試成本。
測試覆蓋率高:測試話單量大大提高,測試覆蓋率接近100%,基本能覆蓋各種撥打情況。例如對一個(gè)套餐的測試,計(jì)費(fèi)自動(dòng)化測試系統(tǒng)共生成約6萬條測試話單,基本做到了全覆蓋測試。
測試準(zhǔn)確率高:自動(dòng)化測試結(jié)果由系統(tǒng)進(jìn)行自動(dòng)比對,杜絕了人為比對可能出現(xiàn)的差錯(cuò),測試結(jié)果的準(zhǔn)確性高。