本發(fā)明涉及數(shù)據(jù)庫和測試,更具體地,涉及一種基于報錯信息簡化數(shù)據(jù)庫用例的方法、裝置、電子設(shè)備。
背景技術(shù):
1、在對數(shù)據(jù)庫的功能進行測試時,通常需要測試人員根據(jù)需求生成多種數(shù)據(jù)庫用例,并對多種數(shù)據(jù)庫用例進行測試。在測試工作中,數(shù)據(jù)庫用例覆蓋全部參數(shù)時,理論上需要對包括多個參數(shù)、不同取值的用例進行正交組合,數(shù)據(jù)庫用例的計算較為復(fù)雜,構(gòu)造數(shù)據(jù)庫用例的工程量也比較大。此外,組合多個參數(shù)、不同取值得到的多個數(shù)據(jù)庫用例也并非都是有效的用例,測試此部分數(shù)據(jù)庫用例也會導(dǎo)致測試資源的浪費。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種基于報錯信息簡化數(shù)據(jù)庫用例的方法、裝置、電子設(shè)備。
2、本發(fā)明的一個方面提供了一種基于報錯信息簡化數(shù)據(jù)庫用例的方法,包括:根據(jù)密碼測試場景的m個密碼參數(shù),生成測試結(jié)果為失敗的n個初始數(shù)據(jù)庫用例,n為大于m的正整數(shù),m為大于1的正整數(shù);對n個初始數(shù)據(jù)庫用例進行測試,得到測試結(jié)果為失敗時每個初始數(shù)據(jù)庫用例的報錯信息;根據(jù)報錯信息,確定密碼測試場景的密碼參數(shù)屬性;基于密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,其中,待生成的p個數(shù)據(jù)庫用例是通過至少一個密碼參數(shù)組合得到的,p為大于n的正整數(shù),q為小于p的正整數(shù)。
3、根據(jù)本發(fā)明的實施例,根據(jù)報錯信息,確定密碼測試場景的密碼參數(shù)屬性,包括:從每個初始數(shù)據(jù)庫用例的報錯信息中確定報錯關(guān)鍵詞;根據(jù)報錯關(guān)鍵詞,確定密碼參數(shù)屬性。
4、根據(jù)本發(fā)明的實施例,密碼參數(shù)屬性包括報錯沖突屬性,根據(jù)報錯關(guān)鍵詞,確定密碼參數(shù)屬性,包括:從n個初始數(shù)據(jù)庫用例中篩選出滿足第一預(yù)定條件的n1個第一數(shù)據(jù)庫用例,n1為小于等于n的正整數(shù),第一預(yù)定條件為:報錯關(guān)鍵詞相同、且僅包括一個密碼參數(shù);將n1個第一數(shù)據(jù)庫用例包括的n1個密碼參數(shù)確定為具有報錯沖突屬性的第一密碼參數(shù)。
5、根據(jù)本發(fā)明的實施例,基于密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:根據(jù)n1個第一密碼參數(shù),確定由至少兩個第一密碼參數(shù)正交組合得到的p1個第一組合數(shù)據(jù)庫用例,p1為小于p的正整數(shù);將p個數(shù)據(jù)庫用例簡化為不包括p1個第一組合數(shù)據(jù)庫用例的(p-p1)個目標(biāo)數(shù)據(jù)庫用例,其中,(p-p1)=q。
6、根據(jù)本發(fā)明的實施例,密碼參數(shù)屬性包括:報錯并列屬性,根據(jù)報錯關(guān)鍵詞,確定密碼參數(shù)屬性,包括:從n個初始數(shù)據(jù)庫用例中篩選出滿足第二預(yù)定條件的n2個第二數(shù)據(jù)庫用例,n2為小于等于n的正整數(shù),第二預(yù)定條件為:包括至少兩個密碼參數(shù)、報錯關(guān)鍵詞包括與至少兩個密碼參數(shù)分別對應(yīng)的報錯子關(guān)鍵詞;將n2個第二數(shù)據(jù)庫用例包括的n3個密碼參數(shù)確定為具有報錯并列屬性的第二密碼參數(shù),n3為大于等于n2的正整數(shù)。
7、根據(jù)本發(fā)明的實施例,基于密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:根據(jù)n3個第二密碼參數(shù),確定p2個第二組合數(shù)據(jù)庫用例,p2為小于p的正整數(shù),第二組合數(shù)據(jù)庫用例是由是至少一個第二密碼參數(shù)正交組合但不包括n3個第二密碼參數(shù)組合的數(shù)據(jù)庫用例;將p個數(shù)據(jù)庫用例簡化為不包括p2個第二組合數(shù)據(jù)庫用例的(p-p2)個目標(biāo)數(shù)據(jù)庫用例,其中,(p-p2)=q。
8、根據(jù)本發(fā)明的實施例,密碼參數(shù)屬性包括:報錯優(yōu)先級,根據(jù)報錯關(guān)鍵詞,確定密碼參數(shù)屬性,包括:從n個初始數(shù)據(jù)庫用例中篩選出滿足第三預(yù)定條件的n4個第三數(shù)據(jù)庫用例,n4為小于等于n的正整數(shù),第三預(yù)定條件為:包括至少兩個密碼參數(shù)、報錯關(guān)鍵詞相同、且報錯關(guān)鍵詞與一個密碼參數(shù)對應(yīng);將n4個第三數(shù)據(jù)庫用例中與報錯關(guān)鍵詞對應(yīng)的密碼參數(shù)確定為高報錯優(yōu)先級的第三密碼參數(shù)。
9、根據(jù)本發(fā)明的實施例,基于密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:根據(jù)n4個第三密碼參數(shù),確定p3個第三組合數(shù)據(jù)庫用例,其中,第三組合數(shù)據(jù)庫用例是由至少(m-n4+1)個第三密碼參數(shù)正交組合得到的,p3為小于p的正整數(shù);根據(jù)低報錯優(yōu)先級的(m-n4)個第四密碼參數(shù),確定p4個第四組合數(shù)據(jù)庫用例,其中,第四組合數(shù)據(jù)庫用例是由至少一個且最多(m-n4)個第四密碼參數(shù)正交組合得到的,p4為小于p的正整數(shù);將第三組合數(shù)據(jù)庫用例和第四組合數(shù)據(jù)庫用例作為目標(biāo)數(shù)據(jù)庫用例,其中,p3+p4=q。
10、本發(fā)明的另一個方面提供了一種基于報錯信息簡化數(shù)據(jù)庫用例的裝置包括:生成模塊,用于根據(jù)密碼測試場景的m個密碼參數(shù),生成測試結(jié)果為失敗的n個初始數(shù)據(jù)庫用例,n為大于m的正整數(shù),m為大于1的正整數(shù);測試模塊,用于對n個初始數(shù)據(jù)庫用例進行測試,得到測試結(jié)果為失敗時每個初始數(shù)據(jù)庫用例的報錯信息;確定模塊,用于根據(jù)報錯信息,確定密碼測試場景的密碼參數(shù)屬性;以及簡化模塊,用于基于密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,其中,待生成的p個數(shù)據(jù)庫用例是通過至少一個密碼參數(shù)組合得到的,p為大于n的正整數(shù),q為小于p的正整數(shù)。
11、本發(fā)明的另一個方面提供了一種電子設(shè)備,包括:一個或多個處理器;存儲器,用于存儲一個或多個程序,其中,當(dāng)一個或多個程序被一個或多個處理器執(zhí)行時,使得一個或多個處理器實現(xiàn)如上的方法。
12、本發(fā)明的另一方面提供了一種計算機可讀存儲介質(zhì),存儲有計算機可執(zhí)行指令,指令在被執(zhí)行時用于實現(xiàn)如上的方法。
13、本發(fā)明的另一方面提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括計算機可執(zhí)行指令,指令在被執(zhí)行時用于實現(xiàn)如上的方法。
14、在本發(fā)明的實施例中,由于初始數(shù)據(jù)庫用例是預(yù)先構(gòu)建的測試結(jié)果為失敗的數(shù)據(jù)庫用例,通過運行初始數(shù)據(jù)庫用例并得到實際運行后的報錯信息,能夠在真實環(huán)境下確定m個密碼參數(shù)的密碼參數(shù)屬性,進而基于真實運行的報錯信息簡化待生成的p個數(shù)據(jù)庫用例,減少生成的數(shù)據(jù)庫用例數(shù)量,提高測試效率。
1.一種基于報錯信息簡化數(shù)據(jù)庫用例的方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述報錯信息,確定所述密碼測試場景的密碼參數(shù)屬性,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述密碼參數(shù)屬性包括報錯沖突屬性,所述根據(jù)所述報錯關(guān)鍵詞,確定所述密碼參數(shù)屬性,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述密碼參數(shù)屬性包括:報錯并列屬性,所述根據(jù)所述報錯關(guān)鍵詞,確定所述密碼參數(shù)屬性,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述基于所述密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述密碼參數(shù)屬性包括:報錯優(yōu)先級,所述根據(jù)所述報錯關(guān)鍵詞,確定所述密碼參數(shù)屬性,包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述基于所述密碼參數(shù)屬性,將待生成的p個數(shù)據(jù)庫用例簡化為q個目標(biāo)數(shù)據(jù)庫用例,包括:
9.一種基于報錯信息簡化數(shù)據(jù)庫用例的裝置,其特征在于,所述裝置包括:
10.一種電子設(shè)備,包括: