摘要:文章以國(guó)產(chǎn)化數(shù)據(jù)庫(kù)為對(duì)象,介紹了國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)。并從鎖機(jī)制集成、標(biāo)準(zhǔn)符合性、DBMS組件運(yùn)行性能等方面,提出了幾種國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)軟件測(cè)試方法,希望為國(guó)產(chǎn)數(shù)據(jù)庫(kù)管理系統(tǒng)的型號(hào)選型、性能評(píng)估提供一些參考。
關(guān)鍵詞:國(guó)產(chǎn);數(shù)據(jù)庫(kù)管理系統(tǒng);軟件測(cè)試
前言:在互聯(lián)網(wǎng)技術(shù)逐漸深入世界各個(gè)角落之際,網(wǎng)絡(luò)數(shù)據(jù)信息日益成為現(xiàn)代社會(huì)無(wú)法或缺的要素。為滿足民眾不斷增長(zhǎng)的數(shù)據(jù)訪問(wèn)速率、訪問(wèn)量要求,數(shù)據(jù)信息的存儲(chǔ)技術(shù)也在不斷發(fā)展。而當(dāng)前數(shù)據(jù)信息的存儲(chǔ)技術(shù)仍然存在一些問(wèn)題。因此,利用軟件測(cè)試方法,進(jìn)行國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)的測(cè)試分析非常必要。
一、國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)特點(diǎn)
1、資源需求低
國(guó)產(chǎn)化數(shù)據(jù)庫(kù)運(yùn)行于嵌入式環(huán)境中,受嵌入式系統(tǒng)資源量的直接限制,運(yùn)行時(shí)占用存儲(chǔ)資源、內(nèi)存資源均較少。同時(shí)其可以在雷達(dá)跟蹤、指揮控制等強(qiáng)時(shí)效性系統(tǒng)中快速響應(yīng)用戶數(shù)據(jù)高效處理請(qǐng)求[1]。
2、運(yùn)行環(huán)境復(fù)雜
國(guó)產(chǎn)化數(shù)據(jù)庫(kù)具有專用性,僅可在特定軟硬件環(huán)境下運(yùn)行。因數(shù)據(jù)信息的存儲(chǔ)領(lǐng)域軟硬件類別較為多樣,數(shù)據(jù)庫(kù)運(yùn)行環(huán)境也較為復(fù)雜。與此同時(shí),國(guó)產(chǎn)化數(shù)據(jù)庫(kù)也可以同時(shí)支持網(wǎng)狀模型與關(guān)系模型、SQL函數(shù)與ODBC標(biāo)準(zhǔn),兼容性較強(qiáng)。
3、平臺(tái)無(wú)關(guān)性
國(guó)產(chǎn)化數(shù)據(jù)庫(kù)可以運(yùn)行在多種類別軟硬件平臺(tái)下,運(yùn)行在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的應(yīng)用軟件不會(huì)隨著平臺(tái)類型的轉(zhuǎn)變而發(fā)生性能變化。同時(shí)由于國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)中數(shù)據(jù)、程序處于分割狀態(tài),數(shù)據(jù)文件丟失時(shí)可保證關(guān)鍵數(shù)據(jù)的安全性。
二、國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)軟件測(cè)試方法
1、鎖機(jī)制集成測(cè)試
鎖機(jī)制集成測(cè)試主要借助相同序列前綴,將數(shù)據(jù)庫(kù)中鎖表操作視為一個(gè)序列,進(jìn)行序列一致性狀態(tài)、相同狀態(tài)、相似狀態(tài)的逐一描述,生成一個(gè)相同的序列前綴,判定當(dāng)前狀態(tài)敏感操作,此時(shí),在Table鎖頭鏈表中Lock_request鏈僅有一個(gè)節(jié)點(diǎn)處于被授予狀態(tài),其他新鎖請(qǐng)求均處于等待狀態(tài)。進(jìn)而根據(jù)敏感操作q=(U,T1,TableA,X)將結(jié)果到達(dá)狀態(tài)劃分為Q1、Q2兩種。其中U表示鏈,T1表示事務(wù),TableA表示節(jié)點(diǎn),X表示鎖,前者表示鎖頭鏈表后鎖請(qǐng)求僅有一節(jié)點(diǎn)處于被授予狀態(tài);后者則表示鎖頭鏈表后表示對(duì)其加X(jué)鎖請(qǐng)求節(jié)點(diǎn)消失。據(jù)此,有針對(duì)性地生成序列變體并將敏感操作剔除,獲得用例集合。最終運(yùn)行測(cè)試用例,檢測(cè)數(shù)據(jù)庫(kù)鎖表是否達(dá)到正確狀態(tài),是則結(jié)束并返回測(cè)試結(jié)果,反之則尋找BUG后返回測(cè)試結(jié)果。
2、ODBC標(biāo)準(zhǔn)符合性測(cè)試
ODBC標(biāo)準(zhǔn)符合性主要指以某數(shù)據(jù)庫(kù)產(chǎn)品以及其附屬ODBC驅(qū)動(dòng)程序?yàn)閷?duì)象,利用測(cè)試用例或工具,進(jìn)行SQL符合性測(cè)試、接口符合性測(cè)試,判定國(guó)產(chǎn)化數(shù)據(jù)庫(kù)是否正確符合ODBC標(biāo)準(zhǔn)[2]。以2007年發(fā)行的虛谷共用數(shù)據(jù)庫(kù)V4.0配套驅(qū)動(dòng)程序rhodbc為例,可以利用若干臺(tái)個(gè)人計(jì)算機(jī)與局域網(wǎng)搭建測(cè)試環(huán)境。其中個(gè)人計(jì)算機(jī)CPU為Intel Pentium IV、硬盤為80GB、內(nèi)存為512MB,軟件為Microsoft Windows Server2010,逐次開展SQL符合性測(cè)試、接口符合性測(cè)試。
SQL符合性測(cè)試主要指根據(jù)國(guó)內(nèi)標(biāo)準(zhǔn)SQL-92規(guī)范,提取SQL符合性特性E01~E06、T01-T24、I01~I(xiàn)25方法,提交執(zhí)行SQL Test Suite中的runsql.all文件指示的全部.sql腳本中SQL語(yǔ)句、附錄B中關(guān)于SQLGetInfo函數(shù)規(guī)則中的函數(shù)驗(yàn)證輸出值,開展SQL語(yǔ)法的支持性測(cè)試、SQLGetInfo符合性測(cè)試,分別打開runsql.all、odbcte32.exe,進(jìn)而打開查詢分析器以及一個(gè).sql,確定是否完成,完成則結(jié)束,反之則利用所需用戶名登錄執(zhí)行.SQL,確定是否成功,成功則進(jìn)入“依次打開一個(gè).sql”環(huán)節(jié),反之則確定出錯(cuò)SQL語(yǔ)句并尋找對(duì)應(yīng)SQL符合性特性后填入測(cè)試報(bào)告。
接口符合性測(cè)試主要是依據(jù)接口符合性特性序號(hào)C01~C20、I01~I(xiàn)09,逐次推進(jìn)QuikTest測(cè)試、新編測(cè)試用例補(bǔ)充測(cè)試、基于ODBC Test直接測(cè)試。在QuikTest測(cè)試時(shí),需要新建模塊進(jìn)行quiktest.def文件定義并在QuikTest工程中添加導(dǎo)出語(yǔ)句,進(jìn)而連接QuikTest運(yùn)行ODBC Test選擇執(zhí)行RunAuto Tests功能,確定是否完成,完成則結(jié)束,反之從測(cè)試項(xiàng)中逐次執(zhí)行下一項(xiàng)測(cè)試。新編測(cè)試用例補(bǔ)充測(cè)試、基于ODBC Test直接測(cè)試均需要探討QuikTest缺陷與缺失項(xiàng),甄選需使用測(cè)試用例,確定全部完成后生成源碼并對(duì)比結(jié)果,反之則執(zhí)行Run Auto Tests項(xiàng)并掉用被測(cè)標(biāo)準(zhǔn)函數(shù),發(fā)現(xiàn)BUG后尋找出錯(cuò)位置并修正rhodbc源代碼。
3、DBMS組件測(cè)試
DBMS組件測(cè)試主要是對(duì)國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)基本功能組件進(jìn)行測(cè)試,涉及了支持?jǐn)?shù)據(jù)類型、事務(wù)處理等內(nèi)容。其中在支持?jǐn)?shù)據(jù)類型測(cè)試時(shí),需要在數(shù)據(jù)庫(kù)表中添加日期時(shí)間、字符串、二進(jìn)制串、時(shí)間間隔等多類別數(shù)據(jù)[3]。添加完畢后,查詢所添加數(shù)據(jù),判定查詢結(jié)果顯示數(shù)據(jù)正確與否,借此檢測(cè)數(shù)據(jù)庫(kù)支持多類型數(shù)據(jù)添加、查詢功能是否實(shí)現(xiàn)。同理,在已有數(shù)據(jù)庫(kù)表內(nèi)進(jìn)行數(shù)據(jù)類型的刪除、修改,進(jìn)而查詢驗(yàn)證數(shù)據(jù)庫(kù)管理系統(tǒng)是否支持多類別數(shù)據(jù)的刪除、修改;在事物處理測(cè)試時(shí),需要利用事物控制語(yǔ)句,進(jìn)行事物自動(dòng)調(diào)架狀態(tài)設(shè)定并執(zhí)行不包含begin的語(yǔ)句后回滾,查看回滾后結(jié)果判定軟件是否可自動(dòng)提交事務(wù)。確定軟件可自動(dòng)提交事務(wù)后,利用“begin”、“Submit”、“end”控制語(yǔ)句執(zhí)行事務(wù),查看并驗(yàn)證相應(yīng)提交功能正確與否。同理,查看語(yǔ)句執(zhí)行終點(diǎn)數(shù)據(jù)庫(kù)管理事務(wù)回滾功能的準(zhǔn)確性。
總結(jié):
綜上所述,國(guó)產(chǎn)化數(shù)據(jù)庫(kù)管理系統(tǒng)具有資源需求低、運(yùn)行環(huán)境復(fù)雜、平臺(tái)無(wú)關(guān)性等特點(diǎn),為確定國(guó)產(chǎn)化數(shù)據(jù)庫(kù)運(yùn)行功能,可以利用ODBC標(biāo)準(zhǔn)符合性測(cè)試、DBMS測(cè)試方法。根據(jù)測(cè)試結(jié)果,進(jìn)行國(guó)產(chǎn)化數(shù)據(jù)庫(kù)軟件的編碼調(diào)整,保證國(guó)產(chǎn)化數(shù)據(jù)庫(kù)預(yù)期開發(fā)目標(biāo)的順利實(shí)現(xiàn)。
參考文獻(xiàn):
[1]孟偉君,陳瑞軍,劉占英,朝魯,劉楠.城軌云平臺(tái)及其承載業(yè)務(wù)系統(tǒng)測(cè)試研究[J].交通世界,2020(25):17-23.
[2]詹凱琦.計(jì)算機(jī)軟件開發(fā)中的數(shù)據(jù)庫(kù)測(cè)試技術(shù)討論[J].信息通信,2020(02):162-163.
[3]開金星.軟件自動(dòng)化測(cè)試技術(shù)研究[J].信息系統(tǒng)工程,2021(01):76-77.
作者簡(jiǎn)介:
龔小姣(1988-),女,漢族, 重慶人,碩士,供職于重慶軍工產(chǎn)業(yè)集團(tuán)有限公司,工程師,研究方向:信號(hào)與信息處理,重慶市渝北區(qū),401120