摘 要:本文在對比數(shù)據(jù)的OpenXml存儲方式及SQL存儲方式基礎(chǔ)上,設(shè)定三組相同的裝態(tài)場景,建立相應(yīng)的自動(dòng)化測試手段。OPenXml方式選用Windows平臺再帶測試工具測試,SQL方式通過LoadRnuner軟件進(jìn)行性能監(jiān)聽,得出分析結(jié)果,最終對比兩種存儲方式各自在存儲數(shù)據(jù)中的優(yōu)缺點(diǎn)。
關(guān)鍵詞:OpenXml;SQL;自動(dòng)化測試
中圖分類號:TP311.52
單機(jī)和網(wǎng)頁端兩種軟件性能測試是軟件的性能測試的兩種方式。前者主要處理軟件測試初期的單機(jī)軟件,以檢驗(yàn)該軟件是否在硬件約束下能實(shí)現(xiàn)多任務(wù)執(zhí)行;后者用于檢驗(yàn)系統(tǒng)負(fù)載能力,以LoadRunner為主要測試軟件。
本文結(jié)合實(shí)例系統(tǒng),通過對表、數(shù)據(jù)等驗(yàn)證結(jié)果,設(shè)定同一狀態(tài)場景,對比OPENXML及SQL SERVER各自有缺點(diǎn),最終實(shí)現(xiàn)對不同存儲結(jié)構(gòu)的性能指數(shù)分析。
1 兩種存儲方式的特點(diǎn)
本實(shí)驗(yàn)著重以用戶登錄驗(yàn)證場景為測定內(nèi)容。本模塊用戶及密碼的檢驗(yàn);密碼校驗(yàn)錯(cuò)誤;用戶名校驗(yàn)不存在;成功登錄四個(gè)字狀態(tài)內(nèi)容。由于狀態(tài)的優(yōu)化組合,對用戶名、密碼的驗(yàn)證華為同一測試場景。進(jìn)行兩種測試對比的目的在于研究不同狀態(tài)對軟件性能的影響。
(1)OPENXML存儲格式。該存儲方式是將用戶信息存至OpenXml文件中(本地),通過讀取Xml的文件并分析,以ID作為用戶區(qū)分的標(biāo)志位;
(2)SQL SERVER存儲格式。該方式是通過數(shù)據(jù)庫底層的存儲過程訪問登錄表,其性能測試是以LoadRunner與數(shù)據(jù)庫相連,通過監(jiān)聽某一分支狀態(tài)的CPU響應(yīng)效率和響應(yīng)時(shí)間,得出結(jié)果。
2 兩種存儲結(jié)構(gòu)的狀態(tài)場景性能實(shí)驗(yàn)
2.1 實(shí)驗(yàn)場景設(shè)定
定義登錄提交事件并包含用戶名、密碼、測試所用標(biāo)識參數(shù)(標(biāo)記所輸信息的驗(yàn)證結(jié)果)。并基于此設(shè)定以下三個(gè)測試場景。
(1)校驗(yàn)密碼、用戶名-登錄;
(2)屏蔽驗(yàn)證代碼直接確認(rèn)登錄(密碼、用戶名不可空);
(3)單獨(dú)登錄響應(yīng)時(shí)間。根據(jù)已設(shè)定的三種場景,對每種狀態(tài)場景進(jìn)行響應(yīng)時(shí)間及CPU效率的比較,方法采用逐一代碼屏蔽的方式,并使用Windows自帶測試工具。
2.2 自動(dòng)化測試實(shí)驗(yàn)
本實(shí)驗(yàn)通過測試響應(yīng)時(shí)間和CPU使用率兩方面對每種情況數(shù)據(jù)進(jìn)行比較。
2.2.1 基于OPENXML方式的測試
本實(shí)驗(yàn)使用Windows自帶性能測試工具,以CPU活動(dòng)為主要監(jiān)聽對象,該工具包含(Processor Time、Processor Handle Time、User Time)。
2.2.2 基于SQL SERVER方式的測試
本實(shí)驗(yàn)通過LoadRunner進(jìn)行底層數(shù)據(jù)庫的訪問,仍設(shè)定上述三場景狀態(tài),同時(shí)記錄腳本錄入過程中的SQL Server 登錄時(shí)間、平均校驗(yàn)時(shí)間。監(jiān)聽指標(biāo)如下:
(1)響應(yīng)時(shí)間-包含校驗(yàn);
(2)響應(yīng)時(shí)間-直接確認(rèn);
(3)響應(yīng)時(shí)間-數(shù)據(jù)庫登錄。
2.3 自動(dòng)化測試結(jié)果
實(shí)驗(yàn)一:基于OPENXML存儲方式性能結(jié)果
該實(shí)驗(yàn)針對響應(yīng)時(shí)間的事務(wù)結(jié)果表1,除了該實(shí)驗(yàn)針對響應(yīng)時(shí)間的事務(wù)結(jié)果表1,對于“直接登錄”的事務(wù)響應(yīng)時(shí)間遠(yuǎn)遠(yuǎn)大于其他兩種情況下的時(shí)間,而其他兩種狀態(tài)場景的響應(yīng)時(shí)間則在常規(guī)測試允許的范圍內(nèi),為了深入了解影響響應(yīng)時(shí)間的因素,我們分別基于這三種情況對CPU使用率進(jìn)行監(jiān)聽(如圖1)。
表1 OpenXml實(shí)現(xiàn)時(shí)響應(yīng)時(shí)間監(jiān)聽結(jié)果
狀態(tài)場景響應(yīng)時(shí)間1(s)響應(yīng)時(shí)間2(s)響應(yīng)時(shí)間3(s)平均響應(yīng)時(shí)間
有校驗(yàn)代碼0.06140.05100.04410.0512
無校驗(yàn)代碼0.06350.07600.06670.0687
直接登錄0.09680.08640.08710.0901
圖1 CPU使用效率—Windows平臺自帶的測試工具
由圖可知,實(shí)現(xiàn)登錄時(shí),多數(shù)情況下CPU使用率均在15%以下的正常標(biāo)準(zhǔn)范圍,但也存在少數(shù)CPU使用率超過20%的現(xiàn)象,對于單機(jī)軟件,雖仍在穩(wěn)定性要求范圍內(nèi),但若作為B/S程序發(fā)布,將使使用率增高,長期使用會對系統(tǒng)穩(wěn)定性產(chǎn)生嚴(yán)重危害。
實(shí)驗(yàn)二:SQL SERVER存儲方式性能結(jié)果
由于本實(shí)驗(yàn)的“無校驗(yàn)碼”及“直接登錄”兩種情況僅需頁面即可完成,因而通過LoadRunner監(jiān)聽底層數(shù)據(jù)的響應(yīng)時(shí)間時(shí),僅需監(jiān)聽有校驗(yàn)碼及SQL數(shù)據(jù)庫連接時(shí)間的結(jié)果。
表2 SQL Server實(shí)現(xiàn)時(shí)響應(yīng)時(shí)間監(jiān)聽結(jié)果
狀態(tài)場景響應(yīng)時(shí)間1(s)響應(yīng)時(shí)間2(s)響應(yīng)時(shí)間3(s)平均響應(yīng)時(shí)間
有校驗(yàn)代碼0.01600.01630.01660.0165
連sqlserver0.02190.02130.02150.0216
總時(shí)間0.03790.3760.03180.0381
在軟件設(shè)計(jì)中,設(shè)定存儲過程的數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)了數(shù)據(jù)的多重校驗(yàn)。通過觀察上圖發(fā)現(xiàn),該方式訪問底層的時(shí)間遠(yuǎn)小于OpenXml存儲方式,但需繼續(xù)監(jiān)聽CPU的使用率。同樣選取10組數(shù)據(jù)。如圖2。
圖2 LoadRunner性能監(jiān)聽CPU使用效率
從實(shí)驗(yàn)中可得使用SQL方式的CPU使用率仍低于OpenXml方式。在存儲過程訪問時(shí)間差異在微妙計(jì)算時(shí),可忽略響應(yīng)時(shí)間,并監(jiān)聽CPU使用率作為性能指標(biāo)衡量標(biāo)志。
3 結(jié)束語
針對本實(shí)驗(yàn)結(jié)果可看出,雖然訪問存儲過程方式存在一定優(yōu)勢,但對于能夠?qū)崿F(xiàn)文本信息自動(dòng)分類的數(shù)據(jù)存取,OpenXml方式更具靈活性。該方式的缺陷是無法對數(shù)據(jù)字段的信息進(jìn)行長度限制,從而會引起與界面交互時(shí)的溢出、安全泄漏及浪費(fèi)內(nèi)存等現(xiàn)象。SQL Server方式則在處理固態(tài)數(shù)據(jù)時(shí)更具優(yōu)勢,通過與界面層、邏輯層的配合,使數(shù)據(jù)在每一層均得到保護(hù)和驗(yàn)證。
參考文獻(xiàn):
[1]袁玉宇.軟件測試與軟件質(zhì)量保證[M].北京:北京郵電大學(xué)出版社,2008.
[2]黎連業(yè),王華,李淑春.軟件測試與測試技術(shù)[M].北京:清華大學(xué)出版社.2009.
[3]金芝,劉璘,金英.軟件需求工程:原理和方法[M].北京:科學(xué)出版社,2008.
作者簡介:朱蕾蕾(1986.03-),女,回族,長春人,助教,研究方向:軟件技術(shù)。
作者單位:長春職業(yè)技術(shù)學(xué)院,長春 130033