亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)庫兼容性檢測(cè)方法及設(shè)備的制造方法

文檔序號(hào):9750698閱讀:269來源:國(guó)知局
一種數(shù)據(jù)庫兼容性檢測(cè)方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫兼容性檢測(cè)方法。本發(fā)明同時(shí)還涉及一種數(shù)據(jù)庫兼容性檢測(cè)設(shè)備。
【背景技術(shù)】
[0002]隨著數(shù)據(jù)存儲(chǔ)技術(shù)的發(fā)展,DBMS (Database Management System,數(shù)據(jù)庫管理系統(tǒng))以及SQL (Structured Query Language,結(jié)構(gòu)化查詢語言)越來越為人們所重視。數(shù)據(jù)庫服務(wù)器一般指代通用關(guān)系型數(shù)據(jù)庫管理系統(tǒng),屬于系統(tǒng)軟件類型??梢允浅墒旆€(wěn)定的商業(yè)數(shù)據(jù)庫,例如,oracle,可以是開源的或者自研的數(shù)據(jù)庫軟件,例如,mysql、OceanBase等。而SQL則是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時(shí)也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng),可以使用相同的結(jié)構(gòu)化查詢語言作為數(shù)據(jù)輸入與管理的接口。結(jié)構(gòu)化查詢語言語句可以嵌套,這使它具有極大的靈活性和強(qiáng)大的功能。
[0003]數(shù)據(jù)庫軟件是一種比較底層的系統(tǒng)支撐軟件,一般會(huì)有設(shè)計(jì)、開發(fā)、測(cè)試等角色,各司其職,當(dāng)一個(gè)數(shù)據(jù)庫版本開發(fā)完成后,就會(huì)交付到測(cè)試組進(jìn)行產(chǎn)品驗(yàn)證。測(cè)試人員會(huì)根據(jù)產(chǎn)品的設(shè)計(jì)說明書和SQL指導(dǎo)手冊(cè)、接口文檔等技術(shù)資料,編寫SQL測(cè)試用例。當(dāng)一個(gè)新版本出來后,用上一個(gè)版本的case庫回歸老功能,同時(shí),根據(jù)新版本的變更說明,補(bǔ)充新
Case0
[0004]目前的數(shù)據(jù)庫領(lǐng)域的產(chǎn)品種類非常多,這些數(shù)據(jù)庫均支持標(biāo)準(zhǔn)的SQL語法和JDBC訪問接口。但是對(duì)于成長(zhǎng)期的數(shù)據(jù)庫來說,其架構(gòu)經(jīng)常變化,版本迭代很快,這樣會(huì)造成SQL語法和API訪問接口也會(huì)變動(dòng),給使用這些數(shù)據(jù)庫的應(yīng)用系統(tǒng)APP帶來版本兼容性的風(fēng)險(xiǎn)。
[0005]為了避免數(shù)據(jù)庫變動(dòng)所帶來的兼容性問題,現(xiàn)有的測(cè)試方法從數(shù)據(jù)庫本身的角度出發(fā),把數(shù)據(jù)庫支持的SQL功能全部回歸測(cè)試一遍,這是一種通用的SQL回歸測(cè)試方法。具體地,現(xiàn)有技術(shù)中數(shù)據(jù)庫新版本的交付過程如下:
[0006]首先,數(shù)據(jù)庫版本的SQL測(cè)試:
[0007]I)根據(jù)SQL語法指導(dǎo)手冊(cè),編寫case,構(gòu)造case庫;
[0008]2)數(shù)據(jù)庫新版本交付后,用上一個(gè)版本的case庫回歸測(cè)試;
[0009]3)補(bǔ)充新的SQL用例到case庫;
[0010]隨后進(jìn)行以下業(yè)務(wù)應(yīng)用的集成測(cè)試:
[0011]I)大的版本變化,大回歸,全面測(cè)試;
[0012]2)小的版本變化,小回歸,主要流程測(cè)試;
[0013]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)以上測(cè)試方法存在著以下問題:
[0014]I)脫離了具體的業(yè)務(wù)應(yīng)用場(chǎng)景,忽略了對(duì)業(yè)務(wù)邏輯的細(xì)微影響
[0015]該情況下,數(shù)據(jù)庫版本的SQL本身可能是正確且符合預(yù)期的,但某個(gè)業(yè)務(wù)應(yīng)用可能鎖定了某些SQL執(zhí)行結(jié)果的某個(gè)特定格式,這個(gè)格式的任何細(xì)微變化都會(huì)導(dǎo)致業(yè)務(wù)邏輯判斷錯(cuò)誤,而這種格式的變化可能是新的數(shù)據(jù)庫版本本身就特意設(shè)計(jì)改進(jìn)的地方。例如,空串(”)和空值(null)、時(shí)間字段格式、varchar長(zhǎng)度限制、浮點(diǎn)數(shù)的精度、系統(tǒng)表定義等這些細(xì)微的變化,這些變化是開源或者自研數(shù)據(jù)庫產(chǎn)品在發(fā)展初期版本迭代中經(jīng)常遇到的問題,不可避免。
[0016]2)業(yè)務(wù)應(yīng)用系統(tǒng)可能會(huì)漏測(cè),把數(shù)據(jù)庫版本變化帶來的兼容性風(fēng)險(xiǎn)泄露到線上
[0017]眾所周知,現(xiàn)在的很多業(yè)務(wù)應(yīng)用系統(tǒng)是非常龐大的,業(yè)務(wù)邏輯復(fù)雜,特別是各種異常分支非常多,尤其是在互聯(lián)網(wǎng)領(lǐng)域,業(yè)務(wù)產(chǎn)品的更新迭代很快很頻繁,不可能每次測(cè)試都100%覆蓋到所有分支的SQL,很容易泄露掉一些細(xì)節(jié)變化帶來的兼容性風(fēng)險(xiǎn)。這些風(fēng)險(xiǎn)也許影響不會(huì)很大,例如,只是影響了 APP界面的顯示格式和用戶體驗(yàn),也許會(huì)將影響擴(kuò)大,例如,浮點(diǎn)類型的精度可能會(huì)影響到涉及到金錢交易的問題。
[0018]在數(shù)據(jù)庫更新迭代過程中,SQL語法比較大的變化一般在數(shù)據(jù)庫系統(tǒng)自身的SQL回歸測(cè)試中就能夠發(fā)現(xiàn),并預(yù)警出來,如果是非常細(xì)小的變化,不一定能夠及時(shí)傳遞到使用數(shù)據(jù)庫的業(yè)務(wù)應(yīng)用端,即使事先知道了這些細(xì)小變化,業(yè)務(wù)應(yīng)用的開發(fā)人員也很難在紛繁復(fù)雜的業(yè)務(wù)邏輯分支中很快找到受影響的點(diǎn)。因此,如何方便、快捷、高效地對(duì)數(shù)據(jù)庫的兼容性進(jìn)行檢測(cè),成為本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。

【發(fā)明內(nèi)容】

[0019]本發(fā)明提供了一種數(shù)據(jù)庫兼容性檢測(cè)方法,用以解決現(xiàn)有技術(shù)中數(shù)據(jù)庫兼容性檢測(cè)過程繁瑣以及效率低下的問題,該方法包括:
[0020]獲取測(cè)試基準(zhǔn)數(shù)據(jù)以及基準(zhǔn)文件,所述基準(zhǔn)文件是在針對(duì)在先數(shù)據(jù)庫執(zhí)行SQL回歸源文件后生成的,所述SQL回歸源文件根據(jù)所述測(cè)試基準(zhǔn)數(shù)據(jù)生成,所述測(cè)試基準(zhǔn)數(shù)據(jù)為所述在先數(shù)據(jù)庫以及待檢測(cè)數(shù)據(jù)庫中共有的且不會(huì)發(fā)生改變的數(shù)據(jù)集合;
[0021]根據(jù)所述SQL回歸源文件對(duì)所述待檢測(cè)數(shù)據(jù)庫執(zhí)行SQL回放處理;
[0022]將執(zhí)行所述SQL回放處理后所得到的結(jié)果文件與所述基準(zhǔn)文件進(jìn)行內(nèi)容對(duì)比;
[0023]若所述基準(zhǔn)文件與所述結(jié)果文件的內(nèi)容一致,則確認(rèn)所述待檢測(cè)數(shù)據(jù)庫不存在兼容性問題;
[0024]若所述基準(zhǔn)文件與所述結(jié)果文件的內(nèi)容不一致,則確認(rèn)所述待檢測(cè)數(shù)據(jù)庫存在兼容性問題。
[0025]相應(yīng)地,本發(fā)明還提出了一種數(shù)據(jù)庫兼容性檢測(cè)設(shè)備,其特征在于,包括:
[0026]獲取模塊,用于獲取測(cè)試基準(zhǔn)數(shù)據(jù)以及基準(zhǔn)文件,所述基準(zhǔn)文件是在針對(duì)在先數(shù)據(jù)庫執(zhí)行SQL回歸源文件后生成的,所述SQL回歸源文件根據(jù)所述測(cè)試基準(zhǔn)數(shù)據(jù)生成,所述測(cè)試基準(zhǔn)數(shù)據(jù)為所述在先數(shù)據(jù)庫以及待檢測(cè)數(shù)據(jù)庫中共有的且不會(huì)發(fā)生改變的數(shù)據(jù)集合;
[0027]處理模塊,用于根據(jù)所述SQL回歸源文件對(duì)所述待檢測(cè)數(shù)據(jù)庫執(zhí)行SQL回放處理;
[0028]對(duì)比模塊,用于將執(zhí)行所述SQL回放處理后所得到的結(jié)果文件與所述基準(zhǔn)文件進(jìn)行內(nèi)容對(duì)比;
[0029]若所述基準(zhǔn)文件與所述結(jié)果文件的內(nèi)容一致,所述對(duì)比模塊確認(rèn)所述待檢測(cè)數(shù)據(jù)庫不存在兼容性問題;
[0030]若所述基準(zhǔn)文件與所述結(jié)果文件的內(nèi)容不一致,所述對(duì)比模塊確認(rèn)所述待檢測(cè)數(shù)據(jù)庫存在兼容性問題。
[0031]由此可見,通過應(yīng)用本發(fā)明以上技術(shù)方案,在獲取測(cè)試基準(zhǔn)數(shù)據(jù)以及基準(zhǔn)文件之后,即根據(jù)SQL回歸源文件對(duì)待檢測(cè)數(shù)據(jù)庫執(zhí)行SQL回放處理;并將執(zhí)行SQL回放處理后所得到的結(jié)果文件與基準(zhǔn)文件進(jìn)行內(nèi)容對(duì)比,基于對(duì)比結(jié)果是否一致確定是否存在兼容性問題。該方法不僅能夠高效可靠地發(fā)現(xiàn)數(shù)據(jù)庫版本變化可能引入的兼容性風(fēng)險(xiǎn),而且簡(jiǎn)單易行,便于實(shí)施。
【附圖說明】
[0032]圖1為本發(fā)明提出的一種數(shù)據(jù)庫兼容性檢測(cè)方法的流程示意圖;
[0033]圖2為本發(fā)明具體實(shí)施例所提出的數(shù)據(jù)庫兼容性檢測(cè)示意圖;
[0034]圖3為本發(fā)明提出的一種數(shù)據(jù)庫兼容性檢測(cè)設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0035]如【背景技術(shù)】所述,如果數(shù)據(jù)庫新版本SQL有明顯的變動(dòng),業(yè)務(wù)的回歸測(cè)試一般是可以感知到的,如果數(shù)據(jù)庫版本SQL是細(xì)微的變動(dòng),數(shù)據(jù)庫測(cè)試人員會(huì)當(dāng)作新的功能優(yōu)化,補(bǔ)充新的case,由于變化不大,業(yè)務(wù)的回歸測(cè)試也是小范圍的,諸如,空串(”)和空值(nulI)、時(shí)間字段格式、varchar長(zhǎng)度限制、浮點(diǎn)數(shù)的精度、系統(tǒng)表定義等這些細(xì)微的變化很容易被泄露掉。目前只有把這些細(xì)節(jié)都測(cè)試完整,并通知要求業(yè)務(wù)系統(tǒng)測(cè)試人員進(jìn)行一次全面的集成測(cè)試才能避免該問題,該方法耗時(shí)耗力,且效率低下。因此本申請(qǐng)通過把數(shù)據(jù)庫系統(tǒng)和業(yè)務(wù)應(yīng)用融合起來,提供一種能夠盡量規(guī)避人為的疏忽以及簡(jiǎn)單高效的兼容性檢測(cè)方法。
[0036]如圖1所示,為本發(fā)明提出的一種數(shù)據(jù)庫兼容性檢測(cè)方法流程示意圖,包
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1