【導(dǎo)讀】軟件測(cè)試是軟件開發(fā)生命周期中的一個(gè)重要環(huán)節(jié),其目的在于發(fā)現(xiàn)軟件中的錯(cuò)誤,確保軟件的質(zhì)量。隨著近幾年移動(dòng)通信新業(yè)務(wù)的不斷推出及3G的正式商用,移動(dòng)通信的業(yè)務(wù)關(guān)聯(lián)度越來越高,業(yè)務(wù)支撐系統(tǒng)內(nèi)部結(jié)構(gòu)也變得越來越復(fù)雜。在業(yè)務(wù)支撐系統(tǒng)的每次新業(yè)務(wù)上線測(cè)試中,新業(yè)務(wù)對(duì)老業(yè)務(wù)的影響程度越來越難以預(yù)估,這給測(cè)試工作帶來了許多不確定的因素。全覆蓋的回歸測(cè)試必不可少  在實(shí)際的軟件上線中,常常會(huì)出現(xiàn)新業(yè)務(wù)上線后功能正常、但一些老業(yè)務(wù)功能卻變得不正常的情況。究其原因,在于新業(yè)務(wù)在開發(fā)過程中,修改了一些與老業(yè)務(wù)共用的模塊或內(nèi)部接口,由于對(duì)系統(tǒng)關(guān)聯(lián)度認(rèn)知與把控不夠,造成了一些相關(guān)聯(lián)的老業(yè)務(wù)沒有測(cè)試或是測(cè)試不充分,最終導(dǎo)致了新業(yè)務(wù)上線后老業(yè)務(wù)功能異常的情況。我們通常將對(duì)老業(yè)務(wù)的測(cè)試稱為“回歸測(cè)試”,回歸測(cè)試的正確性對(duì)軟件質(zhì)量有著舉足輕重的作用?! ≡诳深A(yù)見的未來幾年內(nèi),移動(dòng)通信的業(yè)務(wù)種類將會(huì)越來越多,各業(yè)務(wù)間的關(guān)聯(lián)度會(huì)越來越高。為防止新老業(yè)務(wù)相互影響的情況發(fā)生,應(yīng)加強(qiáng)業(yè)務(wù)支撐系統(tǒng)內(nèi)部軟件結(jié)構(gòu)的梳理與規(guī)劃,在編寫測(cè)試用例時(shí)充分考慮到業(yè)務(wù)的關(guān)聯(lián)性,但這主要還是依賴于人為的判斷。俗話說:“智者千慮,必有一失。”誰也不能保證在每次的新業(yè)務(wù)測(cè)試中,都能準(zhǔn)確地判斷出與之相關(guān)聯(lián)的老業(yè)務(wù)做到回歸測(cè)試的百分之百覆蓋。在這種情況下,進(jìn)行全系統(tǒng)的地毯式全覆蓋測(cè)試,就成為回歸測(cè)試的一個(gè)重要解決方案。  業(yè)務(wù)支撐系統(tǒng)是一個(gè)非常龐大的計(jì)算機(jī)軟件系統(tǒng),功能繁多,進(jìn)行全系統(tǒng)的地毯式全覆蓋測(cè)試,將會(huì)出現(xiàn)成千上萬甚至是幾十萬個(gè)測(cè)試用例,這并非靠手工測(cè)試所能完成,于是我們需要引入自動(dòng)化測(cè)試的方法。自動(dòng)化測(cè)試是指通過計(jì)算機(jī)軟件編程,由計(jì)算機(jī)來自動(dòng)完成測(cè)試工作的一種測(cè)試方法,與手工測(cè)試一樣,包括數(shù)據(jù)準(zhǔn)備、測(cè)試執(zhí)行、結(jié)果校驗(yàn)等環(huán)節(jié)。自動(dòng)化測(cè)試系統(tǒng)本身就是一個(gè)計(jì)算機(jī)軟件系統(tǒng),在CRM(Client Relation Management,客戶關(guān)系管理)領(lǐng)域,目前較成熟的產(chǎn)品有QTP(Quick Test Professional)、WinRunner等等。如何建設(shè)自動(dòng)化測(cè)試系統(tǒng)  建設(shè)自動(dòng)化測(cè)試系統(tǒng),首先必須建立起完備的測(cè)試用例庫。在CRM測(cè)試中,需要記錄每個(gè)業(yè)務(wù)測(cè)試的預(yù)置條件、測(cè)試步驟、結(jié)果驗(yàn)證標(biāo)準(zhǔn)等信息,但這些信息還僅僅只能應(yīng)用于手工測(cè)試。在自動(dòng)化測(cè)試中,測(cè)試用例庫中還必須詳細(xì)地記錄預(yù)置條件相關(guān)界面中各個(gè)界面元素的名稱、需要輸入的數(shù)值、測(cè)試執(zhí)行的按鈕或鏈接、結(jié)果驗(yàn)證相關(guān)界面中各個(gè)界面元素的名稱及其對(duì)應(yīng)的數(shù)值。b  完成測(cè)試用例庫的編寫后,就可以進(jìn)行自動(dòng)化腳本的編寫開發(fā)工作。以QTP為例,采用的是VB Script,開發(fā)者需具備一定的VB編程基礎(chǔ)。自動(dòng)化測(cè)試與手工測(cè)試一樣,包括數(shù)據(jù)錄入、測(cè)試執(zhí)行、結(jié)果驗(yàn)證等部分,將原先通過手工逐步操作的內(nèi)容以腳本的形式記錄下來,包括文本框的數(shù)據(jù)輸入、下拉框的數(shù)據(jù)選擇、執(zhí)行按鈕的點(diǎn)擊等等。與軟件編程一樣,自動(dòng)化腳本的編寫也是一項(xiàng)艱苦的軟件開發(fā)工作。自動(dòng)化腳本編寫完成后,就可以由電腦來進(jìn)行自動(dòng)化測(cè)試了。  自動(dòng)化測(cè)試的執(zhí)行效率非常高,一個(gè)復(fù)雜的測(cè)試項(xiàng)目,從錄入數(shù)據(jù)、測(cè)試執(zhí)行到結(jié)果驗(yàn)證一般只需幾秒鐘就可以完成,遠(yuǎn)遠(yuǎn)高于手工測(cè)試的速度。全系統(tǒng)的自動(dòng)化回歸測(cè)試一般只需要幾個(gè)小時(shí)到十幾個(gè)小時(shí)就能完成,這就使得在每次新版本上線前,都能進(jìn)行一次全系統(tǒng)的回歸測(cè)試,有效地確保了軟件的質(zhì)量。新上線業(yè)務(wù)對(duì)一些相關(guān)聯(lián)業(yè)務(wù)的影響有時(shí)難以準(zhǔn)確判斷,通過全系統(tǒng)的自動(dòng)化測(cè)試,能夠在測(cè)試階段及時(shí)發(fā)現(xiàn),從而杜絕了在上線后出現(xiàn)故障?! ∽詣?dòng)化測(cè)試系統(tǒng)的建設(shè)是一個(gè)工作量巨大的工程,不僅在測(cè)試用例庫的編寫上比手工測(cè)試更為復(fù)雜、嚴(yán)格,而且自動(dòng)化腳本的編寫也是一項(xiàng)相當(dāng)耗時(shí)耗力的工作,絕不亞于被測(cè)試軟件的開發(fā)過程,因此自動(dòng)化測(cè)試系統(tǒng)建設(shè)的成本是非常高的。適宜關(guān)鍵且不經(jīng)常變化部分  自動(dòng)化測(cè)試比較適用于在系統(tǒng)中處于比較關(guān)鍵的位置但又不經(jīng)常變化的部分,例如CRM中的用戶開銷戶、用戶套餐申請(qǐng)與取消、用戶停復(fù)機(jī)等模塊。對(duì)于會(huì)經(jīng)常變化的部分,則不宜采用自動(dòng)化測(cè)試的方法,剛剛花費(fèi)大量時(shí)間精力編寫的自動(dòng)化腳本,可能在下一個(gè)的軟件版本測(cè)試中又發(fā)生了變化,新編寫的自動(dòng)化腳本可能一次都還沒有使用又要重新進(jìn)行修改,那將是時(shí)間與人力成本的巨大浪費(fèi)?! ∽詣?dòng)化測(cè)試是軟件回歸測(cè)試的一種重要的方法,但不能完全用于替代軟件測(cè)試工作。計(jì)算機(jī)軟件只能用于替代人的機(jī)械重復(fù)動(dòng)作,而不具有對(duì)各種特殊情況的應(yīng)變能力。因此,在日常測(cè)試中,采用手工測(cè)試與自動(dòng)化測(cè)試相結(jié)合的方法,可以互相取長補(bǔ)短,基本實(shí)現(xiàn)全覆蓋的測(cè)試,以確保軟件上線的質(zhì)量?! 〕薈RM領(lǐng)域外,計(jì)費(fèi)賬務(wù)領(lǐng)域也是業(yè)務(wù)支撐系統(tǒng)的一個(gè)重要組成部分。兩者不同的是,CRM主要面向營業(yè)網(wǎng)點(diǎn),采用界面操作的方式運(yùn)作,而計(jì)費(fèi)賬務(wù)領(lǐng)域以后臺(tái)程序運(yùn)作為主。目前在計(jì)費(fèi)賬務(wù)領(lǐng)域還沒有成熟的自動(dòng)化測(cè)試工具,但只要我們遵循自動(dòng)化測(cè)試的方法與思路,就可以自行開發(fā)這方面的軟件,為業(yè)務(wù)支撐系統(tǒng)量身定做一款合適的自動(dòng)化測(cè)試系統(tǒng),這將大大提高測(cè)試的效率與效果。