從事軟件測試工作已經(jīng)有兩年多的時(shí)間了,在這期間內(nèi),我曾和大家一起參與過PS、GS多個(gè)版本的產(chǎn)品發(fā)版測試,也曾單獨(dú)或與客戶一起參與了多個(gè)項(xiàng)目的測試。通過這些經(jīng)歷,我個(gè)人對(duì)ERP軟件測試有了一個(gè)更高的認(rèn)識(shí),只有真正以客戶為關(guān)注焦點(diǎn),ERP軟件測試才能有質(zhì)的提高。我想從今年我所經(jīng)歷的兩個(gè)項(xiàng)目,分別是上海交行年金項(xiàng)目和新汶考核管理,來詳細(xì)的說明一下,在這兩個(gè)項(xiàng)目的測試過程中,是如何盡量做到以客戶為關(guān)注焦點(diǎn)的。

  上海交行年金項(xiàng)目

  這次年金項(xiàng)目測試,是由交行的工作人員帶領(lǐng)進(jìn)行的一次上線前的測試。整個(gè)測試過程在交行內(nèi)部進(jìn)行,歷經(jīng)兩個(gè)月,截止年金系統(tǒng)上線試運(yùn)行后一個(gè)月結(jié)束。

  測試流程

  第一輪:功能測試。

  第二輪:第一輪UAT分組測試。

  第三輪:第二輪UAT分組測試。

  第四輪:真實(shí)業(yè)務(wù)測試。

  渠道測試,性能測試。

  功能測試

  本次功能測試是在集成環(huán)境針對(duì)各功能點(diǎn)的測試,主要目的是為了確保各功能點(diǎn)無嚴(yán)重影響流程的問題,暫沒有更深一步的測試。

  雖然交行年金系統(tǒng)功能點(diǎn)巨多,但由于測試人員也比較多,每個(gè)人分別負(fù)責(zé)不同的功能模塊,大約一周時(shí)間幾乎將所有功能點(diǎn)覆蓋了一遍。這個(gè)過程沒有測試用例,所有測試人員均是手動(dòng)自行輸入數(shù)據(jù),亦沒有進(jìn)行數(shù)據(jù)記錄,每天下午5點(diǎn)和晚上9點(diǎn)進(jìn)行兩次程序更新。

  雖然功能測試進(jìn)行的并不深入,時(shí)間也比較短,但是效果非常明顯,為后面的UAT測試和真實(shí)業(yè)務(wù)測試做出了很好的鋪墊。

  UAT測試

  UAT(User Acceptance Test),用戶接受度測試。其實(shí)本階段測試我感覺是系統(tǒng)上線前的真實(shí)業(yè)務(wù)測試。

  由于本次UAT測試之前,進(jìn)行了一次功能測試,所以測試人員的系統(tǒng)結(jié)構(gòu)和業(yè)務(wù)流程都有了一定的了解,更為重要的是交行工作人員提供了三份非常完備的測試案例,這些案例都是根據(jù)交行的客戶的真實(shí)數(shù)據(jù)組織而來,客戶資料,業(yè)務(wù)流程、客戶職責(zé)、輸入數(shù)據(jù)、輸出數(shù)據(jù),甚至連登記日期時(shí)間都非常詳細(xì),完全避免了由于測試人員對(duì)新系統(tǒng)陌生而感覺測試無從下手的尷尬局面。

  測試執(zhí)行過程中,將所有測試人員按照三份交行客戶的測試案例分成了三個(gè)測試小組,每個(gè)組內(nèi)又按照不同的職責(zé)進(jìn)行了分工,而不是再按照功能模塊進(jìn)行分工了,所以每個(gè)測試人員幾乎都要按照業(yè)務(wù)流程測到所有的模塊。譬如海爾測試用例分別設(shè)置了海爾集團(tuán),海爾總部公司,海爾分公司,虛擬公司四個(gè)職責(zé),在一起初始完基礎(chǔ)數(shù)據(jù)和客戶資料后,各測試人員會(huì)按照職責(zé)的分工,并分別按照著測試案例里的流程和數(shù)據(jù)進(jìn)行測試。由于各職責(zé)之間不管是業(yè)務(wù)還是數(shù)據(jù)都存在著一定的關(guān)系,譬如,上級(jí)公司可引用下級(jí)公司的數(shù)據(jù),上級(jí)公司下達(dá)的指標(biāo)下級(jí)公司是否準(zhǔn)確收到并報(bào)告完成情況,所以在測試時(shí)大家既獨(dú)立又關(guān)聯(lián),需要所有測試人員功能盡力協(xié)作才能順利的完成本階段測試。

  UAT測試分了兩輪,第二輪測試新建了帳套,各測試人員對(duì)職責(zé)進(jìn)行了互換,流程和數(shù)據(jù)沒有變化。

  在UAT測試的同時(shí),也進(jìn)行著一項(xiàng)非常重要的測試,也是本次測試所需攻占的難點(diǎn),是日終測試。日終,應(yīng)該是銀行系統(tǒng)所特有的一項(xiàng)功能,這個(gè)測試主要有兩個(gè)目的:一是確保各功能模塊的日終過程均無問題;二是確保日終后的數(shù)據(jù)正確。這個(gè)測試在獨(dú)立于UAT測試的另一套帳套里進(jìn)行,每天分別進(jìn)行一個(gè)功能模塊的日終測試,測試人員還是按照功能測試的分工進(jìn)行。測試數(shù)據(jù)手動(dòng)輸入,并且要對(duì)輸入的數(shù)據(jù)進(jìn)行記錄,順利完成日終后,按照公式手動(dòng)計(jì)算來驗(yàn)證日終后的數(shù)據(jù)是否正確。

  真實(shí)業(yè)務(wù)測試

  本階段測試是在年金系統(tǒng)3月5日上線后的試運(yùn)行階段進(jìn)行的,在正式服務(wù)器上建立了一套與正式帳套并行的測試帳套,測試分工和測試數(shù)據(jù)仍沿用UAT測試階段的方案,不同的是本次測試嚴(yán)格按照銀行的工作安排進(jìn)行,譬如,系統(tǒng)每天都是早上9點(diǎn)開門,晚上9點(diǎn)日終,每天發(fā)生的業(yè)務(wù)和需要錄入的數(shù)據(jù)都要嚴(yán)格按照案例在當(dāng)天進(jìn)行。不管是流程還是數(shù)據(jù),這個(gè)階段的測試都是接近客戶實(shí)際業(yè)務(wù)的測試。

 渠道測試,性能測試

  渠道測試,與前面所說的第二輪UAT測試同步開始,由交行各渠道的年金工作人員進(jìn)行測試,測試出的問題也在第一時(shí)間反饋項(xiàng)目組。

  性能測試,交行請了Mercury的工作人員使用loadrunner進(jìn)行了性能測試,同時(shí)也讓他們對(duì)一些相對(duì)簡單的功能給錄制了QTP腳本,用來對(duì)這些功能進(jìn)行更新后的驗(yàn)證。