測試結(jié)論

  由于需求的不斷變更,交行年金的測試仍在不斷的進(jìn)行終。但在上線前后的兩個(gè)月的測試過程中,我感覺受益匪淺,留給我印象為深刻的是他們對測試流程的設(shè)計(jì)以及測試案例的組織,上線后的測試,由于測試人員對系統(tǒng)已經(jīng)非常熟悉并且按照銀行的工作流程進(jìn)行測試,以致使我感覺自己是交行的一名工作人員。

  新汶考核管理系統(tǒng)

  單元測試

  新汶考核測試,從7月份,由新汶工作人員開始了單元測試(前期我也參與了大約10天左右的時(shí)間),由于他們對業(yè)務(wù)比較了解,而且也參與了前期的開發(fā)工作,所以在單元測試過程中,對需求的掌控還是不錯(cuò)的,也為以后的集成測試減輕了一些對照需求來對功能進(jìn)行驗(yàn)證的工作量。

  集成測試前期準(zhǔn)備

  集成測試,計(jì)劃于8月底開始。在集成測試開始的前一周內(nèi),我通過了解需求設(shè)計(jì)以及數(shù)據(jù)結(jié)構(gòu),大體掌握了新汶考核系統(tǒng)的整體結(jié)構(gòu)以及流程。并且拿到了客戶的實(shí)際數(shù)據(jù),我感覺只當(dāng)我真正看到和了解了客戶實(shí)際數(shù)據(jù)以后,我才真正“入戲”,我的思維意識才真正的發(fā)生了變化,才真正的開始站在客戶的角度去嘗試了解這個(gè)系統(tǒng)。

  通過對需求設(shè)計(jì)和客戶數(shù)據(jù)的了解,我組織了一套測試流程和測試數(shù)據(jù)。因?yàn)榭己讼到y(tǒng)的業(yè)務(wù)流程比較簡單,大體流程即是按照需求設(shè)計(jì)和功能菜單來設(shè)計(jì)的。而測試數(shù)據(jù)則絕大部分參照了用戶數(shù)據(jù),對照著各個(gè)功能菜單分別組織出來,并且通過這些數(shù)據(jù)也可將查詢功能的結(jié)果大體計(jì)算出來,各功能之間的業(yè)務(wù)關(guān)聯(lián)關(guān)系(例如參照、引用、回寫等)也通過這些數(shù)據(jù)很明顯的體現(xiàn)出來,這些都為為測試過程中數(shù)據(jù)的正確性驗(yàn)證提供了方便。但是由于9月底給客戶演示后做了需求變更的計(jì)劃,等變更的需求審核確定后,這些數(shù)據(jù)還要做比較大的改動(dòng)。

  再有一點(diǎn)是,新汶考核系統(tǒng)具有很強(qiáng)煤炭行業(yè)性質(zhì),在系統(tǒng)中有不少煤炭行業(yè)名詞(例如巷道、工作面、斷面、落煤方式),這些名詞在我們測試標(biāo)準(zhǔn)版產(chǎn)品的過程中幾乎沒有出現(xiàn)過,對我來說是比較陌生的。雖然這些專業(yè)名詞對測試過程來說并不是很重要,但是如果想真正融入這個(gè)系統(tǒng),真正以客戶的角度來看待這些功能,了解這些名詞還是很有必要的。我主要通過三個(gè)方式來了解這些:

  第一,網(wǎng)上查閱

  第二,與開發(fā)人員和客戶之間的交流。

  第三,結(jié)合客戶實(shí)際數(shù)據(jù)來加深理解。譬如,工作面綜合單價(jià)維護(hù),通過客戶數(shù)據(jù)可以很明確的看出,工作面的屬性有支護(hù)方式和落煤方式,而工作面為斷面的支護(hù)方式和落煤方式通常為綜采和機(jī);而綜合單價(jià)一列,很明顯是由各經(jīng)營項(xiàng)目單價(jià)之和得出,固定金額則是根據(jù)歷史數(shù)據(jù)得出的一個(gè)警戒值,與目前的各經(jīng)營項(xiàng)目無關(guān)。

  測試前期的準(zhǔn)備,或許時(shí)間很短,或許看似無關(guān)緊要,但是對于一個(gè)從來沒有涉及過的項(xiàng)目,或者需求變更過的項(xiàng)目,我感覺還是非常重要的。了解系統(tǒng)需求設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu),對后面的測試作用巨大,測試開始后省去了通常的需要的熟悉階段,結(jié)合需求,很快能投入正常業(yè)務(wù)測試。了解客戶實(shí)際數(shù)據(jù)和行業(yè)知識,可能對測試流程上不會(huì)產(chǎn)生的質(zhì)的影響,但會(huì)對我們的測試思維產(chǎn)生巨大的影響,能讓我們從思維意識上真正開始了解客戶,測試過程中我們將不在是一個(gè)單純的檢驗(yàn)功能點(diǎn)的測試工程師,我們同樣也是一個(gè)客戶使用者,會(huì)提高我們的投入程度和責(zé)任感,我們會(huì)更多的從業(yè)務(wù)方面查找系統(tǒng)的Bug,這樣,應(yīng)該會(huì)對后提交的產(chǎn)品的質(zhì)量產(chǎn)生質(zhì)的影響。

  測試過程

  本次集成測試,在GS3.5標(biāo)準(zhǔn)版的基礎(chǔ)上進(jìn)行的升級,共歷經(jīng)一個(gè)月時(shí)間,分了五個(gè)Build,其中兩個(gè)Build測試以新建帳套為主,這是為了發(fā)現(xiàn)更多基礎(chǔ)的Bug;另三個(gè)Build測試以恢復(fù)帳套數(shù)據(jù)(GS3.5標(biāo)準(zhǔn)版的測試數(shù)據(jù)庫)為主,這主要是為了模擬客戶現(xiàn)場進(jìn)行升級,因?yàn)樾裸氲V業(yè)集團(tuán)使用了我們的GS系統(tǒng)已經(jīng)有一段時(shí)間,在系統(tǒng)已產(chǎn)生很多數(shù)據(jù)的情況下,對升級過程的測試中一個(gè)是要確保升級程序沒有錯(cuò)誤,另一個(gè)是要確保對升級前的數(shù)據(jù)沒有產(chǎn)生影響。

  測試過程中,由于在有了前期的比較充分的準(zhǔn)備,所以在對嚴(yán)重影響流程的問題修改之后,很快便投入客戶實(shí)際業(yè)務(wù)測試中來,經(jīng)過前兩個(gè)Build的測試,系統(tǒng)已經(jīng)基本趨于穩(wěn)定,后面三個(gè)Build可以多在細(xì)節(jié)以及數(shù)據(jù)驗(yàn)證上下些功夫。在集成測試過程中,還進(jìn)行了破壞性的測試,模擬客戶現(xiàn)場的各種突發(fā)事件,以檢驗(yàn)系統(tǒng)的健壯性。

  數(shù)據(jù)正確性的驗(yàn)證,可以結(jié)合程序、測試用例和數(shù)據(jù)結(jié)構(gòu)三個(gè)方面來進(jìn)行,主要包括了兩個(gè)步驟,一是有關(guān)聯(lián)業(yè)務(wù)之間的數(shù)據(jù)關(guān)系是否正確;二是查詢結(jié)果的數(shù)據(jù)是否正確。譬如,產(chǎn)量單查詢,如果單據(jù)錄入時(shí)嚴(yán)格按照測試用例的話,那么查詢結(jié)果的數(shù)據(jù)驗(yàn)證可以直接參照測試用例;如果和測試用例有差別,那么可以在數(shù)據(jù)庫里查詢CLD表,如查詢條件為已記帳單據(jù),那么驗(yàn)證時(shí)便可在查詢語句里加入條件CLD_DJZT=’1’(單據(jù)狀態(tài)=已記帳),這個(gè)過程要對照數(shù)據(jù)結(jié)構(gòu)。

  測試結(jié)論

  由于新汶考核系統(tǒng)要在短時(shí)間給客戶完成演示,所以本次測試時(shí)間緊,任務(wù)急,但由于前期開發(fā)組內(nèi)部和客戶一起作過單元測試,并在集成測試前做了充分的準(zhǔn)備,所以集成測試進(jìn)行的較為順利,在9月底給客戶演示的過程中取得了很好的效果。另,給客戶演示后,又有一些新增和修改的需求擺上了日程表,所以新汶考核系統(tǒng)還需要進(jìn)行一段時(shí)間的開發(fā)和測試,對于變動(dòng)比較大的功能還需要提前進(jìn)入了解。

  總結(jié)

  經(jīng)過了這些測試項(xiàng)目,我逐步體會(huì)到,軟件測試如要真正以客戶為關(guān)注焦點(diǎn),可以從以下幾個(gè)方面入手:

  1、制定完善的測試周期。這是一個(gè)循序漸進(jìn)的過程,而且必須有充足的時(shí)間和人員來做保證。

  2、測試環(huán)境盡量模擬客戶現(xiàn)場環(huán)境。不能單一的依照我們內(nèi)部的測試環(huán)境,應(yīng)該多了解一些客戶現(xiàn)場的環(huán)境情況。

  3、組織完備的測試用例。對于一個(gè)成熟的測試項(xiàng)目來說,提前準(zhǔn)備一套完備的測試用例非常重要,可以完全避免執(zhí)行測試過程的混亂局面。

  4、深入了解客戶實(shí)際業(yè)務(wù)和實(shí)際數(shù)據(jù)。這也是測試前的準(zhǔn)備工作,是一個(gè)轉(zhuǎn)換測試思維的過程,是一個(gè)融入客戶的過程。

  以上文字,均為個(gè)人經(jīng)歷和個(gè)人見解,希望多多批評指正。