黃薇薇
(上海外服杰浦企業(yè)管理有限公司,上海 200120)
在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)發(fā)展伊始階段,軟件測試技術(shù)還未在國內(nèi)興起,為了提升軟件質(zhì)量,各個企業(yè)機(jī)構(gòu)需要靠人工測試軟件產(chǎn)品。人工測試是國內(nèi)典型的傳統(tǒng)測試方法,是由測試人員自己編寫測試案例,并保留測試結(jié)果。人工測試不具備測試的科學(xué)性和緊密性,并且要受到人員和時間的約束,工作負(fù)擔(dān)重,冗余性高,人工測試者會迭代進(jìn)行手動回歸測試,具有代價昂貴,魯棒性差的問題。不斷地進(jìn)行迭代測試也給測試人員帶來很大的心理壓力,進(jìn)而容易造成測試結(jié)果前后差異性大的問題,而且測試耗費(fèi)的時間較長,精度較低。
在信息化時代,各個行業(yè)系統(tǒng)應(yīng)用軟件的規(guī)模在不斷地?cái)U(kuò)展,繁瑣程度也在加大,很多軟件機(jī)構(gòu)開始將重點(diǎn)放在軟件測試中,對其測試的要求也越來越高。但仍舊有部分中小軟件企業(yè)還滯留在人工測試階段。而引進(jìn)軟件測試的企業(yè)也僅僅是利用測試工具進(jìn)行較為簡單的錄制。只有稀少的專業(yè)的大型軟件企業(yè)建立專門的軟件質(zhì)量控制系統(tǒng),針對自家企業(yè)的軟件特點(diǎn)設(shè)計(jì)專門的軟件測試框架。雖然國內(nèi)軟件測試的數(shù)量在擴(kuò)大,但仍舊有很多不足,隨著軟件企業(yè)數(shù)量的不斷增多,軟件行業(yè)市場競爭也在不斷加大。要想在國內(nèi)市場立穩(wěn)腳跟就需要將先進(jìn)的軟件測試?yán)砟钜氲綄ο到y(tǒng)軟件開發(fā)和研制過程中,由此提升國內(nèi)軟件產(chǎn)品的設(shè)計(jì)質(zhì)量。
銀行網(wǎng)絡(luò)系統(tǒng)是一個較為復(fù)雜的系統(tǒng),并且具有并發(fā)請求規(guī)模大的特點(diǎn),要求系統(tǒng)要具有特別高的穩(wěn)定性,否則會形成大規(guī)模的網(wǎng)絡(luò)事故,然而常規(guī)的軟件測試手段難以支持系統(tǒng)的測試需求,這就需要依據(jù)銀行軟件工程具有的特征對銀行系統(tǒng)軟件工程框架進(jìn)行分析。文章主要從如下幾個方面表述銀行軟件工程框架。
2.1.1 軟件工程目標(biāo)
軟件工程的目標(biāo)是要確保系統(tǒng)軟件具有開銷適中性、正確性和可用性。其中,所謂正確性是指軟件產(chǎn)品可以達(dá)到理想功能的程度??捎眯允侵杠浖哂械幕拘阅苣軌驖M足用戶所用文檔的數(shù)量。對開銷適中的程度定義是軟件開發(fā)和運(yùn)行的全部開銷可滿足用戶需求的程度。而這些目標(biāo)的完成在理論和實(shí)際操作過程中都會有許多瑕疵,而這些瑕疵會影響其軟件工程的質(zhì)量。
2.1.2 軟件工程過程
形成一個能夠完全滿足工程目標(biāo)的軟件產(chǎn)品需要一個全面的軟件工程過程,其過程主要包含開發(fā)、運(yùn)作、維護(hù)過程。該過程包含了需求、設(shè)計(jì)、實(shí)現(xiàn)、判定、維護(hù)活動。在這其中,需求是由問題和需求分析共同組成,利用問題分析對需求進(jìn)行定義,將該過程稱為軟件需求約束,再由需求分析形成功能約束。設(shè)計(jì)活動泛指(詳細(xì)和概要)設(shè)計(jì)。概要設(shè)計(jì)是建立在總體軟件系統(tǒng)結(jié)構(gòu)中,并且需要包含子系統(tǒng)、模塊和其各個層次的說明、對各個模塊的接口進(jìn)行定義。詳細(xì)設(shè)計(jì)是需要對各個模塊進(jìn)行說明,對模塊的數(shù)據(jù)結(jié)構(gòu)進(jìn)行闡述。而實(shí)現(xiàn)活動是需要將設(shè)計(jì)結(jié)果變換成可執(zhí)行的程序代碼。并將確認(rèn)活動穿插在對軟件開發(fā)過程中,進(jìn)行設(shè)計(jì)后的確認(rèn),進(jìn)而保障開發(fā)出的產(chǎn)品可以滿足銀行系統(tǒng)的需求。維護(hù)活動涵蓋了軟件使用過程之后的拓展、修改和完善技術(shù)。
2.1.3 銀行軟件工程的原則
該原則是工程設(shè)計(jì)、設(shè)計(jì)支持和管理必須要遵守的原則。將其使用壽命分為很多個階段,而且各個階段的任務(wù)是不相聯(lián)系的,在使用壽命的各個階段都要采用相對應(yīng)的管理技術(shù)來監(jiān)督軟件的開發(fā)過程。
銀行系統(tǒng)性能測試系統(tǒng)要具備下面幾個特征:
①要采用國內(nèi)最為先進(jìn)的軟件性能測試工具。
②在其業(yè)務(wù)操作中,可用依據(jù)銀行系統(tǒng)的特點(diǎn),自主開發(fā)出新型的性能測試框架,并將數(shù)據(jù)、業(yè)務(wù)、腳本三者相互分離。
③維護(hù)響應(yīng)性高,可進(jìn)行實(shí)時響應(yīng)系統(tǒng)變更,填補(bǔ)新軟件數(shù)據(jù)包上線前的空白需求。
④操作復(fù)雜度低,其操作人員在不熟悉框架的情況下進(jìn)行性能測試。
⑤具有全面的測試記錄信息,有助于搜索系統(tǒng)性能的薄弱點(diǎn)。
⑥對銀行系統(tǒng)日志可用有效地分析。
借鑒LoadRunner思想對銀行系統(tǒng)性能測試框架進(jìn)行設(shè)計(jì),先明確銀行系統(tǒng)功能模塊的模擬過程,由此提出銀行系統(tǒng)性能測試框架設(shè)計(jì)的優(yōu)化方案。
2.2.1 銀行系統(tǒng)功能模塊的模擬
基于LoadRunner的銀行負(fù)載模擬系統(tǒng)的基本原理是將軟件測試工具LoadRunner作為客戶端調(diào)度工具來驅(qū)動事物腳本,由此形成很多虛擬用戶,在網(wǎng)絡(luò)環(huán)境下連接待測服務(wù)器端,模擬主要行業(yè)具有代表性的應(yīng)用所處理的負(fù)載狀態(tài)。模擬系統(tǒng)由腳本生成模塊、負(fù)載發(fā)生器、監(jiān)測控制報(bào)告模塊、中心控制模塊和其人機(jī)交互接口組成。圖1為基于LoadRunner的銀行負(fù)載模擬系統(tǒng)拓?fù)鋱D。
圖1 基于LoadRunner的銀行負(fù)載模擬系統(tǒng)拓?fù)?/p>
所謂腳本生成模塊是在建立客戶端和服務(wù)器端間的事務(wù)處理制度的基礎(chǔ)上,模擬實(shí)際用戶對服務(wù)器操作和訪問來編寫腳本,可以反復(fù)操作;負(fù)載發(fā)生模塊的作用是形成很多的虛擬用戶,利用虛擬用戶進(jìn)行具有代表性的處理、交易、訪問等流程,由此來模擬實(shí)際用戶,并且從研究中發(fā)現(xiàn)所獲取的連接信息和其實(shí)際用戶發(fā)出的信息相吻合;監(jiān)測控制報(bào)告模塊最大的作用是在負(fù)載發(fā)生模塊形成虛擬用戶和待測系統(tǒng)相銜接的時候,利用LoadRunner控制臺對部分重要的數(shù)據(jù)點(diǎn)進(jìn)行記錄,并監(jiān)聽和監(jiān)測虛擬用戶的運(yùn)行情況和其時間。
2.2.2 基于LoadRunner的銀行系統(tǒng)性能測試框架優(yōu)化設(shè)計(jì)方案的提出
基于LoadRunner負(fù)載模擬系統(tǒng)的測試步驟是采用LoadRunner軟件測試工具調(diào)度執(zhí)行測試腳本。因此,要對腳本的代碼結(jié)構(gòu)進(jìn)行優(yōu)化,加強(qiáng)腳本代碼的執(zhí)行效率,對腳本的運(yùn)行模式進(jìn)行選擇。
負(fù)載測試系統(tǒng)要最大限度在待測試服務(wù)器上形成巨大的壓力,當(dāng)受到客戶端資源約束時,可將網(wǎng)絡(luò)上具有一定配置的 PC 機(jī)作為負(fù)載發(fā)生器,運(yùn)行虛擬腳本,形成銀行系統(tǒng)的虛擬用戶。值得一提的是在進(jìn)行正式的負(fù)載測試前,測試專業(yè)人員需要將不同程度的負(fù)載科學(xué)合理地調(diào)配給指定的負(fù)載發(fā)生器,也可以定義為不同類型或者性能的負(fù)載發(fā)生器需要配備相應(yīng)數(shù)量的虛擬用戶,這樣防止了負(fù)載發(fā)生器資源出現(xiàn)枯竭的現(xiàn)象。
系統(tǒng)魯棒性測試是在給系統(tǒng)不斷加載的狀態(tài)下,促使軟件應(yīng)用連續(xù)運(yùn)行一段時間,測試其系統(tǒng)在這樣的狀態(tài)下能不能夠持續(xù)穩(wěn)定運(yùn)行。這也是銀行系統(tǒng)進(jìn)行實(shí)際運(yùn)行時所必須要進(jìn)行的測試,其要實(shí)現(xiàn)的目標(biāo)是考量系統(tǒng)穩(wěn)定運(yùn)行的時間,從宏觀的角度上來分析,在大規(guī)模壓力下進(jìn)行長時間測試,如果系統(tǒng)在測試中始終處于穩(wěn)定的狀態(tài),可以判斷系統(tǒng)具有長時期穩(wěn)定運(yùn)行的優(yōu)勢,在進(jìn)行銀行系統(tǒng)測試的過程中,需要實(shí)時監(jiān)測系統(tǒng)的運(yùn)行情況,并掌握銀行其資源利用率的變化趨勢。
銀行網(wǎng)絡(luò)系統(tǒng)具有繁瑣性高,并發(fā)請求規(guī)模大的特點(diǎn),因此要求系統(tǒng)具有特別高的穩(wěn)定性,需要進(jìn)行系統(tǒng)軟件測試,但是傳統(tǒng)的軟件測試手段難以支持系統(tǒng)的測試需求。針對這類問題,本文先分析了軟件測試項(xiàng)目背景和其行業(yè)狀態(tài),給出了銀行軟件工程開發(fā)特點(diǎn),通過對銀行系統(tǒng)性能測試框架的需求分析,給出銀行系統(tǒng)性能測試框架的設(shè)計(jì)優(yōu)化方案和測試架構(gòu),結(jié)合LoadRunner的思想設(shè)計(jì)實(shí)現(xiàn)了LoadRunner銀行的負(fù)載模擬系統(tǒng),為保障銀行系統(tǒng)穩(wěn)定運(yùn)行創(chuàng)造了有利條件。
[參考文獻(xiàn)]
[1]杜洪波,郭光,高峰,等.Android平臺惡意軟件檢測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2015(12):104-106.
[2]陳銳忠,魏理豪,梁哲恒.基于UML建模的軟件測試系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016(21):57-59.