本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種軟件缺陷信息管理方法及裝置。
背景技術(shù):
軟件缺陷是軟件產(chǎn)品的固有成分,為了保證軟件正常運(yùn)行,必須對(duì)軟件缺陷進(jìn)行有效管理。軟件測(cè)試為軟件缺陷的管理提供依據(jù),因此,軟件測(cè)試在軟件的生命周期中占有重要地位。
為了保證軟件測(cè)試的準(zhǔn)確性和完整性,軟件測(cè)試時(shí),一個(gè)軟件模塊會(huì)被多個(gè)測(cè)試人員測(cè)試,每個(gè)測(cè)試人員均將發(fā)現(xiàn)的軟件缺陷信息提交到缺陷管理工具中,以使缺陷管理工具對(duì)軟件缺陷進(jìn)行管理,這導(dǎo)致不同測(cè)試人員發(fā)現(xiàn)同一個(gè)軟件缺陷時(shí),此軟件缺陷信息將被重復(fù)提交到缺陷管理工具中,缺陷管理工具將重復(fù)管理同一個(gè)軟件缺陷,從而降低了管理軟件缺陷的效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理方法及裝置,能提高管理軟件缺陷的效率。
第一方面,本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理方法,預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系;預(yù)先設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),還包括:
獲取目標(biāo)軟件缺陷信息;
根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值;
判斷所述數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值中是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息;否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征值添加到所述數(shù)據(jù)庫(kù)中。
優(yōu)選地,
所述判斷數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值中是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,包括:
A1:確定所述目標(biāo)特征值的位數(shù),并確定所述至少一個(gè)待匹配特征值中,每一個(gè)待匹配特征值的位數(shù);
A2:判斷是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果是,則執(zhí)行步驟A3;否則,確定所述至少一個(gè)所述待匹配特征值中不存在與所述目標(biāo)特征值相似的相似待匹配特征值;
A3:根據(jù)下述計(jì)算公式,分別確定各個(gè)目標(biāo)待匹配特征值與所述目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)閾值時(shí),確定所述至少一個(gè)待匹配特征值中存在與所述目標(biāo)特征值相似的所述相似待匹配特征值;
其中,y用于表征所述相似度,xi用于表征所述目標(biāo)特征值與當(dāng)前目標(biāo)待匹配特征值的第i位的相似度,n用于表征所述目標(biāo)特征值的位數(shù),ai用于表征所述目標(biāo)特征值的第i位數(shù)值,bi用于表征所述當(dāng)前目標(biāo)待匹配特征值的第i位數(shù)值。
優(yōu)選地,
在所述獲取目標(biāo)軟件缺陷信息之前,進(jìn)一步包括:
預(yù)先設(shè)置軟件缺陷信息的模板格式;
所述獲取目標(biāo)軟件缺陷信息,包括:
獲取符合所述模板格式的目標(biāo)軟件缺陷信息。
優(yōu)選地,
在所述獲取符合所述模板格式的目標(biāo)軟件缺陷信息之前,進(jìn)一步包括:
獲取用戶輸入的提交請(qǐng)求;
根據(jù)所述提交請(qǐng)求,輸出所述模板格式,以使所述用戶根據(jù)所述模板格式生成所述目標(biāo)軟件缺陷信息。
優(yōu)選地,
所述根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,包括:
利用下述映射關(guān)系,計(jì)算所述目標(biāo)特征值;
Y=MD5(SHA1(X))
其中,Y用于表征所述目標(biāo)特征值,MD5表征摘要算法,SHA1表征安全哈希算法,X用于表征所述目標(biāo)軟件缺陷信息。
第二方面,本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理裝置,包括:映射關(guān)系確定單元、第一設(shè)置單元、獲取單元、特征值確定單元和判斷單元;其中,
所述映射關(guān)系確定單元,用于確定軟件缺陷信息與特征值之間的映射關(guān)系;
所述第一設(shè)置單元,用于設(shè)置存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù);
所述獲取單元,用于獲取目標(biāo)軟件缺陷信息;
所述特征值確定單元,用于根據(jù)所述映射關(guān)系確定單元確定的映射關(guān)系,確定所述獲取單元獲取的目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值;
判斷單元,用于判斷所述數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值中是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息;否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征值添加到所述數(shù)據(jù)庫(kù)中。
優(yōu)選地,
所述判斷單元,包括:確定子單元、判斷子單元和計(jì)算子單元;其中,
所述確定子單元,用于確定所述目標(biāo)特征值的位數(shù),并確定所述至少一個(gè)待匹配特征值中,每一個(gè)待匹配特征值的位數(shù);
所述判斷子單元,用于判斷所述數(shù)據(jù)庫(kù)中是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果是,則觸發(fā)所述計(jì)算子單元;否則,確定所述數(shù)據(jù)庫(kù)中不存在與所述目標(biāo)特征值相似的相似待匹配特征值;
所述計(jì)算子單元,用于在接受觸發(fā)時(shí),根據(jù)下述計(jì)算公式,分別確定各個(gè)目標(biāo)待匹配特征值與所述目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)閾值時(shí),確定所述數(shù)據(jù)庫(kù)中存在與所述目標(biāo)特征值相似的所述相似待匹配特征值;
其中,y用于表征所述相似度,xi用于表征所述目標(biāo)特征值與當(dāng)前目標(biāo)待匹配特征值的第i位的相似度,n用于表征所述目標(biāo)特征值的位數(shù),ai用于表征所述目標(biāo)特征值的第i位數(shù)值,bi用于表征所述當(dāng)前目標(biāo)待匹配特征值的第i位數(shù)值。
優(yōu)選地,
該管理裝置進(jìn)一步包括:第二設(shè)置單元;其中,
所述第二設(shè)置單元,用于設(shè)置軟件缺陷信息的模板格式;
所述獲取單元,用于獲取符合所述模板格式的目標(biāo)軟件缺陷信息。
優(yōu)選地,
該管理裝置進(jìn)一步包括:輸出單元;其中,
所述獲取單元,進(jìn)一步用于獲取用戶輸入的提交請(qǐng)求;
所述輸出單元,用于根據(jù)所述提交請(qǐng)求,輸出所述模板格式,以使所述用戶根據(jù)所述模板格式生成所述目標(biāo)軟件缺陷信息。
優(yōu)選地,
所述特征值確定單元,用于利用下述映射關(guān)系,計(jì)算所述目標(biāo)特征值;
Y=MD5(SHA1(X))
其中,Y用于表征所述目標(biāo)特征值,MD5表征摘要算法,SHA1表征安全哈希算法,X用于表征所述目標(biāo)軟件缺陷信息。
本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理方法及裝置,通過(guò)預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系,并設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),所述待匹配特征值為預(yù)先向缺陷管理工具提交軟件缺陷時(shí),通過(guò)所述映射關(guān)系計(jì)算得出;然后獲取目標(biāo)軟件缺陷信息,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,再判斷預(yù)設(shè)的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中;由于在提交軟件缺陷時(shí),禁止了向缺陷管理工具中重復(fù)提交相同的軟件缺陷,使缺陷管理工具只需對(duì)不同的軟件缺陷進(jìn)行管理,因此有效提高了軟件缺陷的管理效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種軟件缺陷信息管理方法的流程圖;
圖2是本發(fā)明另一個(gè)實(shí)施例提供的一種軟件缺陷信息管理方法的流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的一種軟件缺陷信息管理裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明另一個(gè)實(shí)施例提供的一種軟件缺陷信息管理裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明又一個(gè)實(shí)施例提供的一種軟件缺陷信息管理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理方法,該方法可以包括以下步驟:
步驟101,確定軟件缺陷信息與特征值之間的映射關(guān)系;
步驟102,設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù);
步驟103,獲取目標(biāo)軟件缺陷信息;
步驟104,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值;
步驟105,判斷所述數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值中是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則執(zhí)行步驟106,否則執(zhí)行步驟107;
步驟106,禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并結(jié)束當(dāng)前流程;
步驟107,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征值添加到所述數(shù)據(jù)庫(kù)中。
上述實(shí)施例中,通過(guò)預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系,并設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),所述待匹配特征值為預(yù)先向缺陷管理工具提交軟件缺陷時(shí),通過(guò)所述映射關(guān)系計(jì)算得出;然后獲取目標(biāo)軟件缺陷信息,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,再判斷預(yù)設(shè)的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中;由于在提交軟件缺陷時(shí),禁止了向缺陷管理工具中重復(fù)提交相同的軟件缺陷,使缺陷管理工具只需對(duì)不同的軟件缺陷進(jìn)行管理,因此有效提高了軟件缺陷的管理效率。
本發(fā)明一個(gè)實(shí)施例中,步驟105的具體實(shí)施方式包括:
A1:確定所述目標(biāo)特征值的位數(shù),并確定所述至少一個(gè)待匹配特征值中,每一個(gè)待匹配特征值的位數(shù);
A2:判斷是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果是,則執(zhí)行步驟A3;否則,確定所述至少一個(gè)所述待匹配特征值中不存在與所述目標(biāo)特征值相似的相似待匹配特征值;
A3:根據(jù)下述計(jì)算公式,分別確定各個(gè)目標(biāo)待匹配特征值與所述目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)閾值時(shí),確定所述至少一個(gè)待匹配特征值中存在與所述目標(biāo)特征值相似的所述相似待匹配特征值;
其中,y用于表征所述相似度,xi用于表征所述目標(biāo)特征值與當(dāng)前目標(biāo)待匹配特征值的第i位的相似度,n用于表征所述目標(biāo)特征值的位數(shù),ai用于表征所述目標(biāo)特征值的第i位數(shù)值,bi用于表征所述當(dāng)前目標(biāo)待匹配特征值的第i位數(shù)值。
上述實(shí)施例中,通過(guò)首先確定目標(biāo)特征值及各個(gè)待匹配特征值的位數(shù),判斷各個(gè)待匹配特征值中是否存在與目標(biāo)特征值位數(shù)相等的待匹配特征值,若沒(méi)有,則確定待匹配特征值中不存在與所述目標(biāo)特征值相似的相似待匹配特征值,此時(shí)即可將目標(biāo)特征值提交給缺陷管理工具;若待匹配特征值中存在與目標(biāo)特征值位數(shù)相等的目標(biāo)待匹配特征值,分別將各個(gè)目標(biāo)待匹配值的每一位與目標(biāo)特征值對(duì)應(yīng)位數(shù)上的數(shù)值進(jìn)行比較,得到各個(gè)目標(biāo)待匹配特征值與目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)的閾值時(shí),說(shuō)明存在目標(biāo)待匹配特征值與目標(biāo)特征值相似,此時(shí)禁止向缺陷管理工具中提交目標(biāo)特征值;通過(guò)先比較待匹配特征值和目標(biāo)特征值的位數(shù),再比較位數(shù)相同的待匹配特征值和目標(biāo)特征值的每一位數(shù)值,對(duì)于位數(shù)不相同的待匹配特征值和目標(biāo)特征值,可直接判斷二者不相似,以此避免了再判斷二者各個(gè)位數(shù)的數(shù)值是否相等,從而減少了工作量,提高提交軟件缺陷的效率。
為了提高確定目標(biāo)特征值的效率,本發(fā)明一個(gè)實(shí)施例中,在步驟103之前,進(jìn)一步包括:
預(yù)先設(shè)置軟件缺陷信息的模板格式;
所述獲取目標(biāo)軟件缺陷信息,包括:
獲取符合所述模板格式的目標(biāo)軟件缺陷信息。
上述實(shí)施例中,通過(guò)預(yù)先設(shè)置軟件缺陷信息的模板格式,可獲取符合模板格式的目標(biāo)軟件缺陷信息,使利用映射關(guān)系確定目標(biāo)特征值的運(yùn)算過(guò)程更簡(jiǎn)單快捷,從而提高了確定目標(biāo)特征值的效率。
為了更方便的獲取符合模板格式的目標(biāo)軟件缺陷信息,本發(fā)明一個(gè)實(shí)施例中,在所述獲取符合所述模板格式的目標(biāo)軟件缺陷信息之前,進(jìn)一步包括:
獲取用戶輸入的提交請(qǐng)求;
根據(jù)所述提交請(qǐng)求,輸出所述模板格式,以使所述用戶根據(jù)所述模板格式生成所述目標(biāo)軟件缺陷信息。
上述實(shí)施例中,為了獲取符合模板格式的目標(biāo)軟件缺陷信息,首先獲取用戶輸入的提交請(qǐng)求,再根據(jù)所述提交請(qǐng)求,輸出預(yù)先設(shè)置的模板格式,使用戶根據(jù)模板格式生成符合模板格式的目標(biāo)軟件信息,從而使獲取符合模板格式的目標(biāo)軟件缺陷信息的過(guò)程更方便。
本發(fā)明一個(gè)實(shí)施例中,步驟104的具體實(shí)施方式,包括:
利用下述映射關(guān)系,計(jì)算所述目標(biāo)特征值;
Y=MD5(SHA1(X))
其中,Y用于表征所述目標(biāo)特征值,MD5表征摘要算法,SHA1表征安全哈希算法,X用于表征所述目標(biāo)軟件缺陷信息。
上述實(shí)施例中,先利用安全哈希算法求出目標(biāo)軟件缺陷信息對(duì)應(yīng)的字符串,再通過(guò)摘要算法對(duì)字符串進(jìn)行計(jì)算,確定出所述目標(biāo)特征值;由于安全哈希算法和摘要算法的輸出值均為固定長(zhǎng)度的值,并且輸入不同的信息會(huì)對(duì)應(yīng)不同的輸出值,因此將安全哈希算法和摘要算法的組合作為映射關(guān)系,利于判斷目標(biāo)特征值與待匹配特征值是否相似,使判斷的過(guò)程更簡(jiǎn)單方便。
如圖2所示,本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理方法,該方法可以包括如下步驟:
步驟201,確定軟件缺陷信息與特征值之間的映射關(guān)系。
確定一種合適的映射關(guān)系,作為軟件缺陷信息轉(zhuǎn)化特征值的依據(jù),此映射關(guān)系使軟件缺陷信息與特征值一一對(duì)應(yīng),不同的軟件缺陷信息對(duì)應(yīng)不同的特征值,例如,將哈希算法作為軟件缺陷信息轉(zhuǎn)化為特征值的映射關(guān)系,輸入任意長(zhǎng)度的軟件缺陷信息時(shí),哈希函數(shù)將其轉(zhuǎn)化為固定長(zhǎng)度的特征值,并且當(dāng)軟件缺陷信息發(fā)生改變時(shí),相應(yīng)的特征值也隨之改變,這有利于在提交軟件缺陷信息時(shí),將其特征值與已存儲(chǔ)的特征值進(jìn)行比較,以判斷此軟件缺陷信息是否需要提交。
步驟202,設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù)。
待匹配特征值為預(yù)先向缺陷管理工具提交軟件缺陷時(shí),通過(guò)所述映射關(guān)系計(jì)算得出,將其存儲(chǔ)于數(shù)據(jù)庫(kù)中,有利于在接收到目標(biāo)軟件缺陷信息時(shí),將對(duì)應(yīng)的目標(biāo)特征值與各個(gè)待匹配特征值進(jìn)行比較,以判斷此軟件缺陷信息是否需要提交,例如,數(shù)據(jù)庫(kù)中存儲(chǔ)有三個(gè)待匹配特征值:1001001011、0110110100和1001001001000。
步驟203,設(shè)置軟件缺陷信息的模板格式。
設(shè)置軟件缺陷信息的模板格式,利于使用戶根據(jù)模板格式生成符合模板格式的軟件缺陷信息。
步驟204,設(shè)置相似度閾值。
相似度閾值用于判斷目標(biāo)特征值與待匹配特征值的相似程度,例如,可將相似度閾值設(shè)置為2,表示兩個(gè)特征值有兩位數(shù)值相同時(shí),確定二者相似。
步驟205,獲取用戶輸入的提交請(qǐng)求。
步驟206,根據(jù)所述提交請(qǐng)求,輸出所述模板格式,以使所述用戶根據(jù)所述模板格式生成所述目標(biāo)軟件缺陷信息。
步驟207,獲取符合所述模板格式的目標(biāo)軟件缺陷信息。
根據(jù)用戶輸入的提交請(qǐng)求,輸出預(yù)先設(shè)置的模板格式,使用戶根據(jù)模板格式生成符合模板格式的目標(biāo)軟件信息,獲取符合模板格式的目標(biāo)軟件缺陷信息,使利用映射關(guān)系確定目標(biāo)特征值的運(yùn)算過(guò)程更簡(jiǎn)單快捷,從而提高了確定目標(biāo)特征值的效率。
步驟208,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值。
例如,用戶輸入的目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值為1001001001。
步驟209,確定所述目標(biāo)特征值的位數(shù)。
例如,目標(biāo)特征值為1001001001時(shí),其位數(shù)為10。
步驟210,確定所述數(shù)據(jù)庫(kù)中,每一個(gè)待匹配特征值的位數(shù)。
數(shù)據(jù)庫(kù)中三個(gè)帶匹配特征值的位數(shù)分別為10、10和13。
步驟211,判斷所述數(shù)據(jù)庫(kù)中是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果是,則執(zhí)行步驟212;否則執(zhí)行步驟215。
判斷數(shù)據(jù)庫(kù)中是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果不存在,則說(shuō)明數(shù)據(jù)庫(kù)中預(yù)存的各個(gè)待匹配特征值均與目標(biāo)特征值不相似,此時(shí)可提交目標(biāo)軟件缺陷,若存在,則再比較各個(gè)位數(shù)上的數(shù)值,例如,待匹配特征值1001001001000位數(shù)為13,而目標(biāo)特征值1001001001位數(shù)為10,則待匹配特征值1001001001000和目標(biāo)特征值1001001001不相似,而待匹配特征值1001001011和0110110100與目標(biāo)特征值1001001001的位數(shù)均為10,則需進(jìn)一步比較待匹配特征值1001001011和0110110100與目標(biāo)特征值1001001001各個(gè)位數(shù)上的數(shù)值,以判斷是否相似。
步驟212,分別確定各個(gè)目標(biāo)待匹配特征值與所述目標(biāo)特征值的相似度。
利用公式和計(jì)算各個(gè)待匹配特征值和目標(biāo)特征值的相似度,其中,y用于表征所述相似度,xi用于表征所述目標(biāo)特征值與當(dāng)前目標(biāo)待匹配特征值的第i位的相似度,n用于表征所述目標(biāo)特征值的位數(shù),ai用于表征所述目標(biāo)特征值的第i位數(shù)值,bi用于表征所述當(dāng)前目標(biāo)待匹配特征值的第i位數(shù)值。例如,待匹配特征值1001001011和目標(biāo)特征值1001001001的相似度為9,而待匹配特征值0110110100和目標(biāo)特征值1001001001的相似度為1。
步驟213,判斷是否存在至少一個(gè)所述相似度大于預(yù)設(shè)閾值,如果是,則執(zhí)行步驟214,否則執(zhí)行步驟215。
當(dāng)相似度閾值為2時(shí),待匹配特征值1001001011和目標(biāo)特征值1001001001相似,待匹配特征值0110110100和目標(biāo)特征值1001001001不相似;這說(shuō)明數(shù)據(jù)庫(kù)中存在與目標(biāo)特征值相似的相似待匹配特征值,應(yīng)禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息。
步驟214,確定所述數(shù)據(jù)庫(kù)中存在與所述目標(biāo)特征值相似的相似待匹配特征值,禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并結(jié)束當(dāng)前流程。
步驟215,確定所述數(shù)據(jù)庫(kù)中不存在與所述目標(biāo)特征值相似的相似待匹配特征值,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征值添加到所述數(shù)據(jù)庫(kù)中。
上述實(shí)施例中,通過(guò)預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系,并設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),然后獲取目標(biāo)軟件缺陷信息,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,再判斷預(yù)設(shè)的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中;由于在提交軟件缺陷時(shí),禁止了向缺陷管理工具中重復(fù)提交相同的軟件缺陷,使缺陷管理工具只需對(duì)不同的軟件缺陷進(jìn)行管理,因此有效提高了軟件缺陷的管理效率。
如圖3所示,本發(fā)明實(shí)施例提供了一種軟件缺陷信息管理裝置,包括:映射關(guān)系確定單元301、第一設(shè)置單元302、獲取單元303、特征值確定單元304和判斷單元305;其中,
所述映射關(guān)系確定單元301,用于確定軟件缺陷信息與特征值之間的映射關(guān)系;
所述第一設(shè)置單元302,用于設(shè)置存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù);
所述獲取單元303,用于獲取目標(biāo)軟件缺陷信息;
所述特征值確定單元304,用于根據(jù)所述映射關(guān)系確定單元301確定的映射關(guān)系,確定所述獲取單元303獲取的目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值;
判斷單元305,用于判斷所述第一設(shè)置單元302設(shè)置的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值中是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息;否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中。
上述實(shí)施例中,通過(guò)預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系,并設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),所述待匹配特征值為預(yù)先向缺陷管理工具提交軟件缺陷時(shí),通過(guò)所述映射關(guān)系計(jì)算得出;然后獲取目標(biāo)軟件缺陷信息,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,再判斷預(yù)設(shè)的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中;由于在提交軟件缺陷時(shí),禁止了向缺陷管理工具中重復(fù)提交相同的軟件缺陷,使缺陷管理工具只需對(duì)不同的軟件缺陷進(jìn)行管理,因此有效提高了軟件缺陷的管理效率。
本發(fā)明一個(gè)實(shí)施例中,如圖4所示,所述判斷單元305,包括:確定子單元401、判斷子單元402和計(jì)算子單元403;其中,
所述確定子單元401,用于確定所述目標(biāo)特征值的位數(shù),并確定所述至少一個(gè)待匹配特征值中,每一個(gè)待匹配特征值的位數(shù);
所述判斷子單元402,用于判斷所述數(shù)據(jù)庫(kù)中是否存在至少一個(gè)與所述目標(biāo)特征值的位數(shù)相等的目標(biāo)待匹配特征值,如果是,則觸發(fā)所述計(jì)算子單元403;否則,確定所述數(shù)據(jù)庫(kù)中不存在與所述目標(biāo)特征值相似的相似待匹配特征值;
所述計(jì)算子單元403,用于在接受觸發(fā)時(shí),根據(jù)下述計(jì)算公式,分別確定各個(gè)目標(biāo)待匹配特征值與所述目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)閾值時(shí),確定所述數(shù)據(jù)庫(kù)中存在與所述目標(biāo)特征值相似的所述相似待匹配特征值;
其中,y用于表征所述相似度,xi用于表征所述目標(biāo)特征值與當(dāng)前目標(biāo)待匹配特征值的第i位的相似度,n用于表征所述目標(biāo)特征值的位數(shù),ai用于表征所述目標(biāo)特征值的第i位數(shù)值,bi用于表征所述當(dāng)前目標(biāo)待匹配特征值的第i位數(shù)值。
上述實(shí)施例中,通過(guò)首先確定目標(biāo)特征值及各個(gè)待匹配特征值的位數(shù),判斷各個(gè)待匹配特征值中是否存在與目標(biāo)特征值位數(shù)相等的待匹配特征值,若沒(méi)有,則確定待匹配特征值中不存在與所述目標(biāo)特征值相似的相似待匹配特征值,此時(shí)即可將目標(biāo)特征值提交給缺陷管理工具;若待匹配特征值中存在與目標(biāo)特征值位數(shù)相等的目標(biāo)待匹配特征值,分別將各個(gè)目標(biāo)待匹配值的每一位與目標(biāo)特征值對(duì)應(yīng)位數(shù)上的數(shù)值進(jìn)行比較,得到各個(gè)目標(biāo)待匹配特征值與目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)的閾值時(shí),說(shuō)明存在目標(biāo)待匹配特征值與目標(biāo)特征值相似,此時(shí)禁止向缺陷管理工具中提交目標(biāo)特征值;通過(guò)先比較待匹配特征值和目標(biāo)特征值的位數(shù),再比較位數(shù)相同的待匹配特征值和目標(biāo)特征值的每一位數(shù)值,對(duì)于位數(shù)不相同的待匹配特征值和目標(biāo)特征值,可直接判斷二者不相似,以此避免了再判斷二者各個(gè)位數(shù)的數(shù)值是否相等,從而減少了工作量,提高提交軟件缺陷的效率。
為了提高確定目標(biāo)特征值的效率,如圖5所示,本發(fā)明一個(gè)實(shí)施例中,進(jìn)一步包括:第二設(shè)置單元501;其中,
所述第二設(shè)置單元501,用于設(shè)置軟件缺陷信息的模板格式;
所述獲取單元303,用于獲取符合所述模板格式的目標(biāo)軟件缺陷信息。
上述實(shí)施例中,通過(guò)預(yù)先設(shè)置軟件缺陷信息的模板格式,可獲取符合模板格式的目標(biāo)軟件缺陷信息,使利用映射關(guān)系確定目標(biāo)特征值的運(yùn)算過(guò)程更簡(jiǎn)單快捷,從而提高了確定目標(biāo)特征值的效率。
為了更方便的獲取符合模板格式的目標(biāo)軟件缺陷信息,本發(fā)明一個(gè)實(shí)施例中,該管理裝置進(jìn)一步包括:輸出單元;其中,
所述獲取單元303,進(jìn)一步用于獲取用戶輸入的提交請(qǐng)求;
所述輸出單元,用于根據(jù)所述提交請(qǐng)求,輸出所述模板格式,以使所述用戶根據(jù)所述模板格式生成所述目標(biāo)軟件缺陷信息。
上述實(shí)施例中,為了獲取符合模板格式的目標(biāo)軟件缺陷信息,首先獲取用戶輸入的提交請(qǐng)求,再根據(jù)所述提交請(qǐng)求,輸出預(yù)先設(shè)置的模板格式,使用戶根據(jù)模板格式生成符合模板格式的目標(biāo)軟件信息,從而使獲取符合模板格式的目標(biāo)軟件缺陷信息的過(guò)程更方便。
本發(fā)明一個(gè)實(shí)施例中,所述特征值確定單元304,用于利用下述映射關(guān)系,計(jì)算所述目標(biāo)特征值;
Y=MD5(SHA1(X))
其中,Y用于表征所述目標(biāo)特征值,MD5表征摘要算法,SHA1表征安全哈希算法,X用于表征所述目標(biāo)軟件缺陷信息。
上述實(shí)施例中,先利用安全哈希算法求出目標(biāo)軟件缺陷信息對(duì)應(yīng)的字符串,再通過(guò)摘要算法對(duì)字符串進(jìn)行計(jì)算,確定出所述目標(biāo)特征值;由于安全哈希算法和摘要算法的輸出值均為固定長(zhǎng)度的值,并且輸入不同的信息會(huì)對(duì)應(yīng)不同的輸出值,因此將安全哈希算法和摘要算法的組合作為映射關(guān)系,利于判斷目標(biāo)特征值與待匹配特征值是否相似,使判斷的過(guò)程更簡(jiǎn)單方便。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過(guò)程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見(jiàn)本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
本發(fā)明各個(gè)實(shí)施例至少具有如下有益效果:
1、在本發(fā)明實(shí)施例中,通過(guò)預(yù)先確定軟件缺陷信息與特征值之間的映射關(guān)系,并設(shè)置用于存儲(chǔ)待匹配特征值的數(shù)據(jù)庫(kù),所述待匹配特征值為預(yù)先向缺陷管理工具提交軟件缺陷時(shí),通過(guò)所述映射關(guān)系計(jì)算得出;然后獲取目標(biāo)軟件缺陷信息,根據(jù)所述映射關(guān)系,確定所述目標(biāo)軟件缺陷信息對(duì)應(yīng)的目標(biāo)特征值,再判斷預(yù)設(shè)的數(shù)據(jù)庫(kù)中的至少一個(gè)待匹配特征值是否存在與所述目標(biāo)特征值相似的相似待匹配特征值,如果是,則禁止向用于存儲(chǔ)軟件缺陷信息的外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,否則,向所述外部缺陷管理工具提交所述目標(biāo)軟件缺陷信息,并將所述目標(biāo)特征值作為待匹配特征添加到所述數(shù)據(jù)庫(kù)中;由于在提交軟件缺陷時(shí),禁止了向缺陷管理工具中重復(fù)提交相同的軟件缺陷,使缺陷管理工具只需對(duì)不同的軟件缺陷進(jìn)行管理,因此有效提高了軟件缺陷的管理效率。
2、在本發(fā)明實(shí)施例中,通過(guò)首先確定目標(biāo)特征值及各個(gè)待匹配特征值的位數(shù),判斷各個(gè)待匹配特征值中是否存在與目標(biāo)特征值位數(shù)相等的待匹配特征值,若沒(méi)有,則確定待匹配特征值中不存在與所述目標(biāo)特征值相似的相似待匹配特征值,此時(shí)即可將目標(biāo)特征值提交給缺陷管理工具;若待匹配特征值中存在與目標(biāo)特征值位數(shù)相等的目標(biāo)待匹配特征值,分別將各個(gè)目標(biāo)待匹配值的每一位與目標(biāo)特征值對(duì)應(yīng)位數(shù)上的數(shù)值進(jìn)行比較,得到各個(gè)目標(biāo)待匹配特征值與目標(biāo)特征值的相似度,當(dāng)存在至少一個(gè)所述相似度大于預(yù)設(shè)的閾值時(shí),說(shuō)明存在目標(biāo)待匹配特征值與目標(biāo)特征值相似,此時(shí)禁止向缺陷管理工具中提交目標(biāo)特征值;通過(guò)先比較待匹配特征值和目標(biāo)特征值的位數(shù),再比較位數(shù)相同的待匹配特征值和目標(biāo)特征值的每一位數(shù)值,對(duì)于位數(shù)不相同的待匹配特征值和目標(biāo)特征值,可直接判斷二者不相似,以此避免了再判斷二者各個(gè)位數(shù)的數(shù)值是否相等,從而減少了工作量,提高提交軟件缺陷的效率。
3、通過(guò)預(yù)先設(shè)置軟件缺陷信息的模板格式,可獲取符合模板格式的目標(biāo)軟件缺陷信息,使利用映射關(guān)系確定目標(biāo)特征值的運(yùn)算過(guò)程更簡(jiǎn)單快捷,從而提高確定目標(biāo)特征值的效率。
4、將哈希算法作為映射關(guān)系,分別將輸入的各個(gè)目標(biāo)軟件缺陷信息映射為固定長(zhǎng)度的目標(biāo)特征值,從而利于判斷目標(biāo)特征值與待匹配特征值是否相似,使判斷的過(guò)程更簡(jiǎn)單方便。
需要說(shuō)明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)······”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說(shuō)明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說(shuō)明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。