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