本發(fā)明涉及信息技術(shù)領(lǐng)域,尤其涉及一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)發(fā)展,為保證計(jì)算機(jī)軟件質(zhì)量,軟件測(cè)試技術(shù)也在不斷發(fā)展,也出現(xiàn)了大量的測(cè)試工具。計(jì)算機(jī)應(yīng)用程序作為計(jì)算機(jī)軟件的一種,主要為企事業(yè)單位及各種機(jī)構(gòu)提供業(yè)務(wù)或管理的電子化支持和輔助,計(jì)算機(jī)應(yīng)用程序的質(zhì)量直接關(guān)系到一個(gè)企業(yè)或組織能否正常運(yùn)作,因此,對(duì)計(jì)算機(jī)應(yīng)用程序的測(cè)試工作非常重要。
目前,企業(yè)或機(jī)構(gòu)對(duì)計(jì)算機(jī)應(yīng)用程序的測(cè)試工作包括功能測(cè)試、性能測(cè)試。功能測(cè)試則關(guān)注所開(kāi)發(fā)的成品對(duì)業(yè)務(wù)需求的實(shí)現(xiàn)情況,目前主要依靠人工編寫(xiě)并執(zhí)行測(cè)試案例的方式進(jìn)行,屬黑盒測(cè)試的范疇,重點(diǎn)評(píng)估應(yīng)用程序?qū)I(yè)務(wù)或管理的滿(mǎn)足程度;性能測(cè)試則關(guān)心應(yīng)用程序上線(xiàn)運(yùn)行后的健壯程度,能否滿(mǎn)足企業(yè)或機(jī)構(gòu)大量人員長(zhǎng)期使用時(shí)的穩(wěn)定、順暢性要求,應(yīng)用程序性能可以通過(guò)白盒測(cè)試工具進(jìn)行部分推斷和評(píng)估,由于運(yùn)行環(huán)境使用場(chǎng)景的復(fù)雜性,更多時(shí)候還是采取黑盒測(cè)試的做法,利用loadrunner工具,利用案例腳本,模擬并發(fā)用戶(hù)進(jìn)行應(yīng)用程序性能檢測(cè)。
現(xiàn)有功能測(cè)試和性能測(cè)時(shí)所采用的案例,完全依賴(lài)測(cè)試人員本身,受測(cè)試人員尤其是案例編寫(xiě)人員知識(shí)、能力等影響,所使用的案例在復(fù)雜性、多樣性等方面與實(shí)際業(yè)務(wù)環(huán)境有很大差距。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,用以解決目前計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試過(guò)程中測(cè)試案例過(guò)度依賴(lài)案例編寫(xiě)人員的能力的問(wèn)題或缺陷。
為了實(shí)現(xiàn)上述目標(biāo),本發(fā)明提供以下技術(shù)方案:
一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,其特征在于,利用被測(cè)試程序?qū)嶋H業(yè)務(wù)環(huán)境的網(wǎng)絡(luò)交易報(bào)文生成測(cè)試案例。企業(yè)業(yè)務(wù)和管理是個(gè)循序漸進(jìn)的過(guò)程,因此計(jì)算機(jī)應(yīng)用程序一般均采取迭代優(yōu)化的方式開(kāi)發(fā)建設(shè),在與被測(cè)試程序業(yè)務(wù)或管理背景一致的實(shí)際運(yùn)行環(huán)境采集網(wǎng)絡(luò)交易報(bào)文,稍加處理,便可用于迭代優(yōu)化程序的測(cè)試。
一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,其特征在于,該測(cè)試案例由網(wǎng)絡(luò)交易報(bào)文和背景數(shù)據(jù)組成。利用網(wǎng)絡(luò)交易報(bào)文對(duì)被測(cè)試系統(tǒng)測(cè)試,實(shí)際是模擬真實(shí)的業(yè)務(wù)場(chǎng)景向被測(cè)試程序發(fā)出請(qǐng)求,被測(cè)試系統(tǒng)根據(jù)請(qǐng)求作出響應(yīng)的過(guò)程,這必須保證背景數(shù)據(jù)與播放的報(bào)文在業(yè)務(wù)場(chǎng)景上的一致性,否則,實(shí)際業(yè)務(wù)環(huán)境下的成功交易可能失敗。
一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,其特征在于,該測(cè)試案例的產(chǎn)生和使用都是由計(jì)算機(jī)程序自動(dòng)完成。傳統(tǒng)的測(cè)試案例由人工編寫(xiě),人工錄入或人工編寫(xiě)執(zhí)行腳本,本發(fā)明方法所生成的測(cè)試案例是由程序通過(guò)網(wǎng)絡(luò)交易報(bào)文和背景數(shù)據(jù)庫(kù)自動(dòng)采集備份而得到的,使用時(shí)由播放程序按照錄制的順序向被測(cè)試程序自動(dòng)發(fā)送。
一種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,其特征在于,包括如下步驟:
步驟一,對(duì)待測(cè)試網(wǎng)絡(luò)應(yīng)用程序運(yùn)行真實(shí)業(yè)務(wù)環(huán)境的背景數(shù)據(jù)進(jìn)行保存;
步驟二,對(duì)來(lái)自真實(shí)業(yè)務(wù)環(huán)境的一段時(shí)間內(nèi)連續(xù)的網(wǎng)絡(luò)層交易數(shù)據(jù)流進(jìn)行協(xié)議解碼和請(qǐng)求響應(yīng)配對(duì)處理,形成原始業(yè)務(wù)交易請(qǐng)求和響應(yīng)報(bào)文并保存;
步驟三,需要時(shí),對(duì)得到的原始業(yè)務(wù)交易請(qǐng)求報(bào)文進(jìn)行業(yè)務(wù)要素提取,針對(duì)被測(cè)試應(yīng)用程序需要按照一定規(guī)則進(jìn)行相應(yīng)轉(zhuǎn)換,并將轉(zhuǎn)換好的信息保存到相應(yīng)業(yè)務(wù)交易請(qǐng)求報(bào)文中;
步驟四,將全部或部分轉(zhuǎn)換好的業(yè)務(wù)交易請(qǐng)求報(bào)文和對(duì)應(yīng)的響應(yīng)報(bào)文,結(jié)合相應(yīng)的背景數(shù)據(jù)作為測(cè)試案例保存?zhèn)溆谩?/p>
所述步驟一中的待測(cè)試網(wǎng)絡(luò)應(yīng)用程序指與后續(xù)需要測(cè)試的應(yīng)用程序業(yè)務(wù)或管理背景一致的、服務(wù)于企業(yè)業(yè)務(wù)或管理的計(jì)算機(jī)程序或軟件。
所述步驟一中的真實(shí)業(yè)務(wù)環(huán)境指與被測(cè)應(yīng)用程序業(yè)務(wù)或管理背景一致的生產(chǎn)環(huán)境或測(cè)試環(huán)境。
所述步驟一中的背景數(shù)據(jù)指計(jì)算機(jī)應(yīng)用程序或軟件某個(gè)時(shí)點(diǎn)時(shí)的數(shù)據(jù)庫(kù)數(shù)據(jù)所蘊(yùn)涵的當(dāng)時(shí)業(yè)務(wù)或管理狀態(tài),這里指在真實(shí)業(yè)務(wù)環(huán)境中數(shù)據(jù)錄制開(kāi)始時(shí)與當(dāng)時(shí)業(yè)務(wù)情況對(duì)應(yīng)的數(shù)據(jù)庫(kù)數(shù)據(jù)。
所述步驟二中的網(wǎng)絡(luò)層指osi模型的網(wǎng)絡(luò)層。
所述步驟二中的交易數(shù)據(jù)流指被應(yīng)用程序正確執(zhí)行和處理了的交易的網(wǎng)絡(luò)層請(qǐng)求和響應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包流。
所述步驟二中的一段時(shí)間內(nèi)連續(xù)的網(wǎng)絡(luò)層交易數(shù)據(jù)流指連續(xù)采集一定時(shí)間的網(wǎng)絡(luò)層交易數(shù)據(jù)流,時(shí)間長(zhǎng)短可根據(jù)測(cè)試需要適當(dāng)延長(zhǎng)或縮短。
所述步驟二中的交易數(shù)據(jù)流可以是其他系統(tǒng)或設(shè)備在真實(shí)環(huán)境采集抓取的包含網(wǎng)絡(luò)數(shù)據(jù)包流的pcap文件,也可以是結(jié)合其他軟件在真實(shí)環(huán)境實(shí)時(shí)采集的網(wǎng)絡(luò)數(shù)據(jù)包流。
所述步驟二中的協(xié)議解碼是根據(jù)不同網(wǎng)絡(luò)協(xié)議對(duì)網(wǎng)絡(luò)數(shù)據(jù)包流進(jìn)行還原,還原結(jié)果是請(qǐng)求或響應(yīng)的原始報(bào)文信息,以及相關(guān)請(qǐng)求響應(yīng)時(shí)間、端口、ip地址等信息。
所述步驟二中的請(qǐng)求響應(yīng)配對(duì)處理是將對(duì)應(yīng)的請(qǐng)求和響應(yīng)的協(xié)議解碼結(jié)果組合成一對(duì)對(duì)應(yīng)信息。
所述步驟二中的原始業(yè)務(wù)交易請(qǐng)求和響應(yīng)報(bào)文指配對(duì)好的請(qǐng)求和響應(yīng)的協(xié)議解碼結(jié)果。
所述步驟三中的業(yè)務(wù)要素指原始業(yè)務(wù)交易請(qǐng)求報(bào)文中組成該業(yè)務(wù)請(qǐng)求的相關(guān)業(yè)務(wù)或管理的關(guān)鍵字段或信息,業(yè)務(wù)要素經(jīng)常是多個(gè)。
所述步驟三中的按照一定規(guī)則進(jìn)行相應(yīng)轉(zhuǎn)換指真實(shí)環(huán)境和被測(cè)應(yīng)用程序雖然業(yè)務(wù)或管理背景一致,但是程序的請(qǐng)求報(bào)文可能有一定差別,包括業(yè)務(wù)要素的順序、多少等都有可能有差異,需要根據(jù)被測(cè)應(yīng)用程序的情況,制定相應(yīng)的規(guī)則,對(duì)原始業(yè)務(wù)交易請(qǐng)求報(bào)文進(jìn)行轉(zhuǎn)換處理,使之適應(yīng)被測(cè)應(yīng)用程序。也可能原始業(yè)務(wù)交易請(qǐng)求報(bào)文不需要做任何轉(zhuǎn)換。
所述步驟四中的全部或部分轉(zhuǎn)換好的業(yè)務(wù)交易請(qǐng)求報(bào)文和對(duì)應(yīng)的響應(yīng)報(bào)文,指根據(jù)測(cè)試需要,將轉(zhuǎn)換好的業(yè)務(wù)交易報(bào)文(包括請(qǐng)求和響應(yīng)報(bào)文)全部或部分(滿(mǎn)足某種特定條件的)篩選出來(lái),結(jié)合相應(yīng)背景數(shù)據(jù),作為測(cè)試案例使用。
本發(fā)明采取利用網(wǎng)絡(luò)層交易數(shù)據(jù)流作為測(cè)試案例數(shù)據(jù)來(lái)源,屏蔽了應(yīng)用程序采取不同結(jié)構(gòu)和使用不同語(yǔ)言的差異,可以用于分布式系統(tǒng)不同節(jié)點(diǎn)和組件的單獨(dú)測(cè)試,有利于準(zhǔn)確定位和發(fā)現(xiàn)分布式應(yīng)用缺陷和性能瓶頸的真正根源。
本發(fā)明采取的計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用程序測(cè)試案例的生成方法,利用了真實(shí)環(huán)境原始業(yè)務(wù)交易請(qǐng)求和響應(yīng)報(bào)文蘊(yùn)涵真實(shí)業(yè)務(wù)場(chǎng)景、真實(shí)業(yè)務(wù)復(fù)雜性、多樣性的特性,解決依賴(lài)人工編寫(xiě)案例的不足,利用本發(fā)明方法生成的測(cè)試案例,可以測(cè)試得到更加接近真實(shí)的被測(cè)應(yīng)用程序質(zhì)量和性能情況。
附圖說(shuō)明
圖1是本發(fā)明方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清晰明白,以下結(jié)合附圖及實(shí)施實(shí)例,對(duì)本發(fā)明進(jìn)行更加詳細(xì)說(shuō)明。
以某銀行信貸業(yè)務(wù)管理系統(tǒng)優(yōu)化程序功能測(cè)試為例,結(jié)合圖1,說(shuō)明一下該發(fā)明的實(shí)際使用步驟:
步驟s1,該發(fā)明需要處理的真實(shí)環(huán)境的網(wǎng)絡(luò)層交易數(shù)據(jù)流可以從該銀行原信貸業(yè)務(wù)管理系統(tǒng)實(shí)際生產(chǎn)環(huán)境采集錄制,采集開(kāi)始時(shí)同步保存背景數(shù)據(jù)庫(kù)的數(shù)據(jù)。例如可以在停止服務(wù)時(shí)的對(duì)外服務(wù)前,備份信貸業(yè)務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)作為背景數(shù)據(jù),同時(shí)連續(xù)錄制采集24小時(shí)的系統(tǒng)交易數(shù)據(jù),形成pcap文件備用。
步驟s2,該發(fā)明的方法在得到網(wǎng)絡(luò)層交易數(shù)據(jù)流pcap文件后,進(jìn)行協(xié)議解碼和交易配對(duì),形成原始業(yè)務(wù)交易請(qǐng)求和響應(yīng)報(bào)文并保存。這些報(bào)文反映了24小時(shí)內(nèi)信貸業(yè)務(wù)管理系統(tǒng)的業(yè)務(wù)處理情況。
步驟s3,該發(fā)明的方法針對(duì)已經(jīng)還原出來(lái)的請(qǐng)求報(bào)文,提取關(guān)鍵的業(yè)務(wù)要素字段,并按照信貸業(yè)務(wù)管理系統(tǒng)優(yōu)化程序的需要和相應(yīng)規(guī)則,需要時(shí)對(duì)原始請(qǐng)求報(bào)文進(jìn)行轉(zhuǎn)化和裝配,形成備播交易請(qǐng)求報(bào)文并保存。雖然運(yùn)行備播報(bào)文的信貸業(yè)務(wù)管理系統(tǒng)優(yōu)化程序與原信貸業(yè)務(wù)管理系統(tǒng)可能有差異,但由于銀行信貸業(yè)務(wù)本身變化不大,所以變動(dòng)的范圍會(huì)很有限,對(duì)有限的變動(dòng),可以采取一定的規(guī)則和方法,利用計(jì)算機(jī)程序自動(dòng)進(jìn)行轉(zhuǎn)換處理。
步驟s4,根據(jù)測(cè)試需要,將轉(zhuǎn)換好的備播交易請(qǐng)求報(bào)文、對(duì)應(yīng)的相應(yīng)報(bào)文全部或部分,與相應(yīng)的背景數(shù)據(jù)一起,作為測(cè)試案例備用。選擇全部還是部分備播交易請(qǐng)求報(bào)文視測(cè)試需要而定,選擇部分時(shí)按照一定的篩選條件進(jìn)行篩選,相應(yīng)背景數(shù)據(jù)與生產(chǎn)系統(tǒng)采集錄制這批原始報(bào)文時(shí)的信貸業(yè)務(wù)管理系統(tǒng)相應(yīng)數(shù)據(jù)庫(kù)代表的相應(yīng)業(yè)務(wù)數(shù)據(jù)一致。
實(shí)際測(cè)試時(shí),在背景數(shù)據(jù)一致的情況下,本發(fā)明生成的測(cè)試案例中的業(yè)務(wù)交易請(qǐng)求報(bào)文被按原來(lái)的順序發(fā)送給被測(cè)試應(yīng)用程序,被測(cè)試應(yīng)用程序根據(jù)業(yè)務(wù)請(qǐng)求進(jìn)行相應(yīng)處理并給出響應(yīng),通過(guò)比對(duì)測(cè)試案例的響應(yīng)情況,即可分析判斷被測(cè)試程序的質(zhì)量和性能。
因?yàn)殂y行業(yè)務(wù)本身基本沒(méi)有什么變化,所以原信貸業(yè)務(wù)管理系統(tǒng)程序與信貸業(yè)務(wù)管理系統(tǒng)優(yōu)化程序大部分是一樣的,優(yōu)化的部分占比不大,而且優(yōu)化的主要是一些流程、管理或友好性方面的程序代碼,這樣,使得利用原核心系統(tǒng)的原始交易請(qǐng)求和響應(yīng)報(bào)文作為測(cè)試數(shù)據(jù)成為可能。蘊(yùn)涵真實(shí)業(yè)務(wù)交易場(chǎng)景的網(wǎng)絡(luò)交易數(shù)據(jù)報(bào)文,其復(fù)雜性、多樣性毋庸質(zhì)疑,使用本發(fā)明的方法生成的測(cè)試案例數(shù)據(jù)進(jìn)行應(yīng)用程序功能和性能測(cè)試,不僅可以擺脫人工編寫(xiě)測(cè)試案例的局限,而且可以使測(cè)試更加有效。