本發(fā)明涉及設(shè)備測(cè)試領(lǐng)域,尤其涉及一種設(shè)備測(cè)試方法、裝置及系統(tǒng)。
背景技術(shù):
在設(shè)備測(cè)試領(lǐng)域,如無(wú)線通訊設(shè)備軟件測(cè)試,往往涉及較多的網(wǎng)元及測(cè)試工具和其他測(cè)試相關(guān)組件,以GSM(Global System for Mobile Communications,全球移動(dòng)通信系統(tǒng))無(wú)線軟件測(cè)試為例,基礎(chǔ)環(huán)境配置包括:基站,基站控制器,核心網(wǎng),各網(wǎng)元的信令服務(wù)器及客戶端,各網(wǎng)元的網(wǎng)管服務(wù)器及客戶端,以及測(cè)試工具,測(cè)試腳本等組件;軟件測(cè)試的目的是發(fā)現(xiàn)設(shè)備軟件存在的問(wèn)題,但不可避免的會(huì)出現(xiàn)其他測(cè)試組件異?;蛘邿o(wú)線環(huán)境干擾等諸多外界因素導(dǎo)致測(cè)試失??;這些失敗不是通訊設(shè)備軟件本身的問(wèn)題。在現(xiàn)有技術(shù)中,若遇到此類問(wèn)題則是簡(jiǎn)單的對(duì)失敗條目進(jìn)行重復(fù)測(cè)試,或者逐一排查各網(wǎng)元異常,或者對(duì)測(cè)試腳本進(jìn)行排查等,這樣就導(dǎo)致測(cè)試中斷,不能連續(xù)進(jìn)行,排查起來(lái)也非常耗時(shí)耗力。
因此,如何提供一種可以解決現(xiàn)有測(cè)試失敗導(dǎo)致測(cè)試中斷問(wèn)題的設(shè)備測(cè)試方法,是本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種設(shè)備測(cè)試方法、裝置及系統(tǒng),以解決現(xiàn)有測(cè)試方法存在的測(cè)試失敗導(dǎo)致測(cè)試中斷問(wèn)題的問(wèn)題。
本發(fā)明提供了一種設(shè)備測(cè)試方法,其包括:
使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試,當(dāng)測(cè)試到錯(cuò)誤時(shí),獲取錯(cuò)誤的錯(cuò)誤識(shí)別碼;
在錯(cuò)誤數(shù)據(jù)庫(kù)中,根據(jù)錯(cuò)誤識(shí)別碼查找對(duì)應(yīng)的處理代碼;
利用處理代碼處理錯(cuò)誤;
繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
進(jìn)一步的,還包括:根據(jù)錯(cuò)誤識(shí)別碼判斷錯(cuò)誤是否為新錯(cuò)誤,若否,則利用處理代碼處理錯(cuò)誤,若是,則繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
進(jìn)一步的,在使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試之后,還包括:對(duì)新錯(cuò)誤進(jìn)行處理,設(shè)置其對(duì)應(yīng)的處理代碼,并將其對(duì)應(yīng)的錯(cuò)誤識(shí)別碼寫(xiě)入錯(cuò)誤數(shù)據(jù)庫(kù)。
進(jìn)一步的,在利用處理代碼處理錯(cuò)誤之前,還包括:獲取與錯(cuò)誤識(shí)別碼對(duì)應(yīng)的最大處理次數(shù),判斷對(duì)錯(cuò)誤的處理重試次數(shù)是否大于最大處理次數(shù),若否,則利用處理代碼處理錯(cuò)誤,若是,則不處理錯(cuò)誤。
進(jìn)一步的,當(dāng)存在多個(gè)錯(cuò)誤需要處理時(shí),在利用處理代碼處理錯(cuò)誤之前,還包括:獲取與各錯(cuò)誤識(shí)別碼對(duì)應(yīng)的初始閾值及重試次數(shù),利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的總閾值,根據(jù)總閾值判斷是否處理錯(cuò)誤,若是,則處理錯(cuò)誤,若否,則不處理錯(cuò)誤。
進(jìn)一步的,利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的處理閾值包括:
當(dāng)獲取到第一個(gè)錯(cuò)誤識(shí)別碼且還未進(jìn)行錯(cuò)誤處理及重試之前,設(shè)置總閾值為第一錯(cuò)誤識(shí)別碼的初始閾值;
當(dāng)檢測(cè)到第N個(gè)錯(cuò)誤識(shí)別碼時(shí),N≥2且為整數(shù),判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否增加,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)未增加,則判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,則更新總閾 值為:當(dāng)前總閾值+第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值-第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù),并將第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)設(shè)置為第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值數(shù);
若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)增加,或者,第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,判斷第N個(gè)錯(cuò)誤識(shí)別碼是否未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,錯(cuò)誤臨時(shí)表用于存儲(chǔ)所有正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼、重試次數(shù)及初始閾值;
若第N個(gè)錯(cuò)誤識(shí)別碼未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則判斷當(dāng)前總閾值是否大于預(yù)設(shè)的總閾值上限值,若當(dāng)前總閾值大于總閾值上限值,則設(shè)置總閾值保持不變,若當(dāng)前總閾值不大于總閾值上限值,則更新總閾值為:當(dāng)前總閾值+第N個(gè)錯(cuò)誤識(shí)別碼的初始閾值+臨時(shí)錯(cuò)誤表的錯(cuò)誤數(shù)目;
若第N個(gè)錯(cuò)誤識(shí)別碼存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則總閾值減1,若更新后的總閾值小于等于0,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若更新后的總閾值大于0,則判斷第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則處理第N個(gè)錯(cuò)誤識(shí)別碼。
本發(fā)明提供了一種設(shè)備測(cè)試裝置,其包括:
測(cè)試模塊,用于使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試,當(dāng)測(cè)試到錯(cuò)誤時(shí),獲取錯(cuò)誤的錯(cuò)誤識(shí)別碼;
查找模塊,用于在錯(cuò)誤數(shù)據(jù)庫(kù)中,根據(jù)錯(cuò)誤識(shí)別碼查找對(duì)應(yīng)的處理代碼;
處理模塊,用于利用處理代碼處理錯(cuò)誤;
測(cè)試模塊還用于繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
進(jìn)一步的,查找模塊還用于根據(jù)錯(cuò)誤識(shí)別碼判斷錯(cuò)誤是否為新錯(cuò)誤,若否,則利用處理代碼處理錯(cuò)誤,若是,則繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
進(jìn)一步的,處理模塊還用于在使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試之后,對(duì)新錯(cuò)誤進(jìn)行處理,設(shè)置其對(duì)應(yīng)的處理代碼,并將其對(duì)應(yīng)的錯(cuò)誤識(shí)別碼寫(xiě)入錯(cuò)誤數(shù)據(jù)庫(kù)。
進(jìn)一步的,還包括控制模塊,用于在利用處理代碼處理錯(cuò)誤之前,獲取與錯(cuò)誤識(shí)別碼對(duì)應(yīng)的最大處理次數(shù),判斷對(duì)錯(cuò)誤的處理重試次數(shù)是否大于最大處理次數(shù),若否,則利用處理代碼處理錯(cuò)誤,若是,則不處理錯(cuò)誤。
進(jìn)一步的,當(dāng)存在多個(gè)錯(cuò)誤需要處理時(shí),在利用處理代碼處理錯(cuò)誤之前,控制模塊還用于獲取與各錯(cuò)誤識(shí)別碼對(duì)應(yīng)的初始閾值及重試次數(shù),利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的總閾值,根據(jù)總閾值判斷是否處理錯(cuò)誤,若是,則處理錯(cuò)誤,若否,則不處理錯(cuò)誤。
進(jìn)一步的,控制模塊還用于:
當(dāng)獲取到第一個(gè)錯(cuò)誤識(shí)別碼且還未進(jìn)行錯(cuò)誤處理及重試之前,設(shè)置總閾值為第一錯(cuò)誤識(shí)別碼的初始閾值;
當(dāng)檢測(cè)到第N個(gè)錯(cuò)誤識(shí)別碼時(shí),N≥2且為整數(shù),判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否增加,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)未增加,則判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,則更新總閾值為:當(dāng)前總閾值+第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值-第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù),并將第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)設(shè)置為第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值數(shù);
若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)增加,或者,第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,判斷第N個(gè)錯(cuò)誤識(shí)別碼是否未存 儲(chǔ)在錯(cuò)誤臨時(shí)表中,錯(cuò)誤臨時(shí)表用于存儲(chǔ)所有正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼、重試次數(shù)及初始閾值;
若第N個(gè)錯(cuò)誤識(shí)別碼未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則判斷當(dāng)前總閾值是否大于預(yù)設(shè)的總閾值上限值,若當(dāng)前總閾值大于總閾值上限值,則設(shè)置總閾值保持不變,若當(dāng)前總閾值不大于總閾值上限值,則更新總閾值為:當(dāng)前總閾值+第N個(gè)錯(cuò)誤識(shí)別碼的初始閾值+臨時(shí)錯(cuò)誤表的錯(cuò)誤數(shù)目;
若第N個(gè)錯(cuò)誤識(shí)別碼存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則總閾值減1,若更新后的總閾值小于等于0,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若更新后的總閾值大于0,則判斷第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則處理第N個(gè)錯(cuò)誤識(shí)別碼。
本發(fā)明提供了一種設(shè)備測(cè)試系統(tǒng),其使用本發(fā)明提供的設(shè)備測(cè)試裝置測(cè)試設(shè)備。
本發(fā)明的有益效果:
本發(fā)明提供了一種設(shè)備測(cè)試方法,在檢測(cè)到錯(cuò)誤時(shí),自動(dòng)查找對(duì)應(yīng)的處理代碼,并對(duì)錯(cuò)誤進(jìn)行處理,在處理之后繼續(xù)進(jìn)行設(shè)備測(cè)試,而不需要中斷設(shè)備測(cè)試,減少了測(cè)試過(guò)程中的異常中斷,提高了測(cè)試成功率;進(jìn)一步的,通過(guò)自適應(yīng)閾值調(diào)節(jié)重試次數(shù),以保證既能夠有效的進(jìn)行重試,又能保證重試次數(shù)最小化;進(jìn)一步的,不斷的對(duì)新入庫(kù)錯(cuò)誤進(jìn)行優(yōu)化結(jié)果使得測(cè)試腳本更加健壯,達(dá)到了主動(dòng),自動(dòng)發(fā)現(xiàn)問(wèn)題并解決問(wèn)題的效果。
附圖說(shuō)明
圖1為本發(fā)明第一實(shí)施例提供的設(shè)備測(cè)試裝置的結(jié)構(gòu)示意圖;
圖2為本發(fā)明第二實(shí)施例提供的設(shè)備測(cè)試方法的流程圖;
圖3為本發(fā)明第三實(shí)施例提供的設(shè)備測(cè)試裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明第三實(shí)施例提供的設(shè)備測(cè)試方法的流程圖;
圖5為本發(fā)明第三實(shí)施例中自適應(yīng)閾值算法的流程圖。
具體實(shí)施方式
現(xiàn)通過(guò)具體實(shí)施方式結(jié)合附圖的方式對(duì)本發(fā)明做出進(jìn)一步的詮釋說(shuō)明。
第一實(shí)施例:
圖1為本發(fā)明第一實(shí)施例提供的設(shè)備測(cè)試裝置的結(jié)構(gòu)示意圖,由圖1可知,在本實(shí)施例中,本發(fā)明提供的設(shè)備測(cè)試裝置1包括:
本發(fā)明提供了一種設(shè)備測(cè)試裝置,其包括:
測(cè)試模塊11,用于使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試,當(dāng)測(cè)試到錯(cuò)誤時(shí),獲取錯(cuò)誤的錯(cuò)誤識(shí)別碼;
查找模塊12,用于在錯(cuò)誤數(shù)據(jù)庫(kù)中,根據(jù)錯(cuò)誤識(shí)別碼查找對(duì)應(yīng)的處理代碼;
處理模塊13,用于利用處理代碼處理錯(cuò)誤;
測(cè)試模塊11還用于繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
在一些實(shí)施例中,上述實(shí)施例中的查找模塊12還用于根據(jù)錯(cuò)誤識(shí)別碼判斷錯(cuò)誤是否為新錯(cuò)誤,若否,則利用處理代碼處理錯(cuò)誤,若是,則繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
在一些實(shí)施例中,上述實(shí)施例中的處理模塊13還用于在使用測(cè)試腳本對(duì)設(shè) 備進(jìn)行測(cè)試之后,對(duì)新錯(cuò)誤進(jìn)行處理,設(shè)置其對(duì)應(yīng)的處理代碼,并將其對(duì)應(yīng)的錯(cuò)誤識(shí)別碼寫(xiě)入錯(cuò)誤數(shù)據(jù)庫(kù)。
在一些實(shí)施例中,如圖1所示,上述實(shí)施例中的設(shè)備測(cè)試裝置1還包括控制模塊14,用于在利用處理代碼處理錯(cuò)誤之前,獲取與錯(cuò)誤識(shí)別碼對(duì)應(yīng)的最大處理次數(shù),判斷對(duì)錯(cuò)誤的處理重試次數(shù)是否大于最大處理次數(shù),若否,則利用處理代碼處理錯(cuò)誤,若是,則不處理錯(cuò)誤。
在一些實(shí)施例中,當(dāng)存在多個(gè)錯(cuò)誤需要處理時(shí),在利用處理代碼處理錯(cuò)誤之前,上述實(shí)施例中的控制模塊14還用于獲取與各錯(cuò)誤識(shí)別碼對(duì)應(yīng)的初始閾值及重試次數(shù),利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的總閾值,根據(jù)總閾值判斷是否處理錯(cuò)誤,若是,則處理錯(cuò)誤,若否,則不處理錯(cuò)誤。進(jìn)一步的,在處理錯(cuò)誤之后,還包括將總閾值減一,以保證所有錯(cuò)誤的重試次數(shù)的總和不會(huì)過(guò)大。
在一些實(shí)施例中,上述實(shí)施例中的控制模塊14還用于:
當(dāng)獲取到第一個(gè)錯(cuò)誤識(shí)別碼且還未進(jìn)行錯(cuò)誤處理及重試之前,設(shè)置總閾值為第一錯(cuò)誤識(shí)別碼的初始閾值;
當(dāng)檢測(cè)到第N個(gè)錯(cuò)誤識(shí)別碼時(shí),N≥2且為整數(shù),判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否增加,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)未增加,則判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,則更新總閾值為:當(dāng)前總閾值+第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值-第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù),并將第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)設(shè)置為第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值數(shù),將第N-1個(gè)錯(cuò)誤的重試次數(shù)置為N-1個(gè)錯(cuò)誤的初始閾值是為了避免下次再進(jìn)入流程循環(huán)中則判斷N-1錯(cuò)誤重試不等于N-1初始閾值則又會(huì)進(jìn)行下 面一系列操作,因此這里設(shè)置第N-1錯(cuò)誤重試次數(shù)置為N-1的初始閾值之后,再次判斷時(shí),會(huì)直接進(jìn)入下一步驟;
若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)增加,或者,第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,判斷第N個(gè)錯(cuò)誤識(shí)別碼是否未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,錯(cuò)誤臨時(shí)表用于存儲(chǔ)所有正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼、重試次數(shù)及初始閾值;
若第N個(gè)錯(cuò)誤識(shí)別碼未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則判斷當(dāng)前總閾值是否大于預(yù)設(shè)的總閾值上限值,若當(dāng)前總閾值大于總閾值上限值,則設(shè)置總閾值保持不變,若當(dāng)前總閾值不大于總閾值上限值,則更新總閾值為:當(dāng)前總閾值+第N個(gè)錯(cuò)誤識(shí)別碼的初始閾值+臨時(shí)錯(cuò)誤表的錯(cuò)誤數(shù)目;在實(shí)際使用中,臨時(shí)錯(cuò)誤表用于存儲(chǔ)所有(可能有M個(gè)錯(cuò)誤,M>N,或者M(jìn)=N)正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼,重試次數(shù),初始閾值,此時(shí),“個(gè)數(shù)M”是相同類型的參數(shù)都是整數(shù),這里是加M,意義是防止本次錯(cuò)誤(第N個(gè)錯(cuò)誤)阻止了其他錯(cuò)誤的處理,因此需要更新總閾值,
若第N個(gè)錯(cuò)誤識(shí)別碼存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則總閾值減1,若更新后的總閾值小于等于0,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若更新后的總閾值大于0,則判斷第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則處理第N個(gè)錯(cuò)誤識(shí)別碼。
對(duì)應(yīng)的,本發(fā)明提供了一種設(shè)備測(cè)試系統(tǒng),其使用本發(fā)明提供的設(shè)備測(cè)試裝置1測(cè)試設(shè)備。
第二實(shí)施例:
圖2為本發(fā)明第二實(shí)施例提供的設(shè)備測(cè)試方法的流程圖,由圖2可知,在本實(shí)施例中,本發(fā)明提供的設(shè)備測(cè)試方法包括以下步驟:
S201:使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試,當(dāng)測(cè)試到錯(cuò)誤時(shí),獲取錯(cuò)誤的錯(cuò)誤識(shí)別碼;
S202:在錯(cuò)誤數(shù)據(jù)庫(kù)中,根據(jù)錯(cuò)誤識(shí)別碼查找對(duì)應(yīng)的處理代碼;
S203:利用處理代碼處理錯(cuò)誤;
S204:繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
在一些實(shí)施例中,上述實(shí)施例中的方法還包括:根據(jù)錯(cuò)誤識(shí)別碼判斷錯(cuò)誤是否為新錯(cuò)誤,若否,則利用處理代碼處理錯(cuò)誤,若是,則繼續(xù)使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試。
在一些實(shí)施例中,上述實(shí)施例中的方法在使用測(cè)試腳本對(duì)設(shè)備進(jìn)行測(cè)試之后,還包括:對(duì)新錯(cuò)誤進(jìn)行處理,設(shè)置其對(duì)應(yīng)的處理代碼,并將其對(duì)應(yīng)的錯(cuò)誤識(shí)別碼寫(xiě)入錯(cuò)誤數(shù)據(jù)庫(kù)。
在一些實(shí)施例中,上述實(shí)施例中的方法在利用處理代碼處理錯(cuò)誤之前,還包括:獲取與錯(cuò)誤識(shí)別碼對(duì)應(yīng)的最大處理次數(shù),判斷對(duì)錯(cuò)誤的處理重試次數(shù)是否大于最大處理次數(shù),若否,則利用處理代碼處理錯(cuò)誤,若是,則不處理錯(cuò)誤。
在一些實(shí)施例中,當(dāng)存在多個(gè)錯(cuò)誤需要處理時(shí),在利用處理代碼處理錯(cuò)誤之前,上述實(shí)施例中的方法還包括:獲取與各錯(cuò)誤識(shí)別碼對(duì)應(yīng)的初始閾值及重試次數(shù),利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的總閾值,根據(jù)總閾值判斷是否處理錯(cuò)誤,若是,則處理錯(cuò)誤,若否,則不處理錯(cuò)誤。
在一些實(shí)施例中,上述實(shí)施例中的利用自適應(yīng)算法計(jì)算所有待處理錯(cuò)誤的處理閾值包括:
當(dāng)獲取到第一個(gè)錯(cuò)誤識(shí)別碼且還未進(jìn)行錯(cuò)誤處理及重試之前,設(shè)置總閾值為第一錯(cuò)誤識(shí)別碼的初始閾值;
當(dāng)檢測(cè)到第N個(gè)錯(cuò)誤識(shí)別碼時(shí),N≥2且為整數(shù),判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否增加,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)未增加,則判斷第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,則更新總閾值為:當(dāng)前總閾值+第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值-第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù),并將第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)設(shè)置為第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值數(shù);
若第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)增加,或者,第N-1個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)等于第N-1個(gè)錯(cuò)誤識(shí)別碼的初始閾值,判斷第N個(gè)錯(cuò)誤識(shí)別碼是否未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,錯(cuò)誤臨時(shí)表用于存儲(chǔ)所有正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼、重試次數(shù)及初始閾值;
若第N個(gè)錯(cuò)誤識(shí)別碼未存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則判斷當(dāng)前總閾值是否大于預(yù)設(shè)的總閾值上限值,若當(dāng)前總閾值大于總閾值上限值,則設(shè)置總閾值保持不變,若當(dāng)前總閾值不大于總閾值上限值,則更新總閾值為:當(dāng)前總閾值+第N個(gè)錯(cuò)誤識(shí)別碼的初始閾值+臨時(shí)錯(cuò)誤表的錯(cuò)誤數(shù)目;在實(shí)際使用中,臨時(shí)錯(cuò)誤表用于存儲(chǔ)所有(可能有M個(gè)錯(cuò)誤,M>N,或者M(jìn)=N)正在處理的錯(cuò)誤的錯(cuò)誤識(shí)別碼,重試次數(shù),初始閾值,此時(shí),“個(gè)數(shù)M”是相同類型的參數(shù)都是整數(shù),這里是加M,意義是防止本次錯(cuò)誤(第N個(gè)錯(cuò)誤)阻止了其他錯(cuò)誤的處理,因此需要更新總閾值,
若第N個(gè)錯(cuò)誤識(shí)別碼存儲(chǔ)在錯(cuò)誤臨時(shí)表中,則總閾值減1,若更新后的總閾 值小于等于0,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若更新后的總閾值大于0,則判斷第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)是否大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則不處理第N個(gè)錯(cuò)誤識(shí)別碼,若第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)不大于第N個(gè)錯(cuò)誤識(shí)別碼的重試次數(shù)上限,則處理第N個(gè)錯(cuò)誤識(shí)別碼。
現(xiàn)結(jié)合具體應(yīng)用場(chǎng)景對(duì)本發(fā)明做進(jìn)一步的詮釋說(shuō)明。
第三實(shí)施例:
現(xiàn)在結(jié)合附圖,以GSM基站控制器例軟件測(cè)試為例,對(duì)本發(fā)明進(jìn)行說(shuō)明。
如圖3所示,設(shè)備測(cè)試裝置1外圍連接著GSM基站控制器軟件測(cè)試所需的所有基本組件,包括多個(gè)基站、多個(gè)基站控制器、多個(gè)測(cè)試裝置、基站網(wǎng)管,基站控制器網(wǎng)管以及信令跟蹤服務(wù)器;在實(shí)際應(yīng)用中如果測(cè)試用例有其他特殊需求則需要另外增加測(cè)試組件。
如圖3所示,在本實(shí)施例中,對(duì)設(shè)備測(cè)試裝置1的功能模塊重新進(jìn)行了定義,其包括:日志獲取模塊31,錯(cuò)誤識(shí)別碼庫(kù)32,錯(cuò)誤處理模塊33,自適應(yīng)閾值模塊34,錯(cuò)誤識(shí)別碼管理模塊35,腳本驅(qū)動(dòng)模塊36,測(cè)試腳本37;具體的,
日志獲取模塊31,與外圍組件和錯(cuò)誤識(shí)別碼庫(kù)32相連,負(fù)責(zé)獲取測(cè)試過(guò)程中的外圍組件的打印日志,并且進(jìn)行解析,如果解析到測(cè)試腳本中條目測(cè)試的錯(cuò)誤打印,同時(shí)查詢其他組件錯(cuò)誤打印,進(jìn)入錯(cuò)誤識(shí)別碼庫(kù)32進(jìn)行關(guān)聯(lián)查詢;
錯(cuò)誤識(shí)別碼庫(kù)32與日志獲取模塊31和自適應(yīng)閾值模塊34相連,提供錯(cuò)誤識(shí)別碼給日志獲取模塊31查詢,提供初始閾值和重試次數(shù)上限值給自適應(yīng)閾值模塊34。初始閾值和重試次數(shù)上限值都保存在錯(cuò)誤識(shí)別碼庫(kù)32中;初始閾值是根據(jù)錯(cuò)誤處理經(jīng)驗(yàn)為每個(gè)錯(cuò)誤識(shí)別碼分配的一個(gè)的初始數(shù)值,其代表了解決該 錯(cuò)誤所需重試的期望次數(shù)門(mén)限值;重試次數(shù)上限值是根據(jù)錯(cuò)誤處理經(jīng)驗(yàn)為每個(gè)錯(cuò)誤識(shí)別碼分配的可以重試的最大門(mén)限值,每進(jìn)行一次錯(cuò)誤處理后會(huì)系統(tǒng)會(huì)進(jìn)行一次重試,相應(yīng)的自適應(yīng)閾值模塊記錄的重試次數(shù)也會(huì)增加,重試次數(shù)上限值作用是處理解決該錯(cuò)誤所需重試次數(shù)的上限做出限定,避免無(wú)限循環(huán)重試發(fā)生。在實(shí)際應(yīng)用中,根據(jù)不同場(chǎng)景,重試次數(shù)上限值大于初始閾值,且一般大于2倍。
自適應(yīng)閾值模塊34與錯(cuò)誤識(shí)別碼庫(kù)32、錯(cuò)誤處理模塊33、錯(cuò)誤識(shí)別碼管理模塊35相連,日志獲取模塊31查詢錯(cuò)誤識(shí)別碼庫(kù)32,查詢到對(duì)應(yīng)的錯(cuò)誤識(shí)別碼,則結(jié)果匹配為成功,則自適應(yīng)閾值模塊34判斷是否滿足處理?xiàng)l件,滿足條件,錯(cuò)誤處理模塊33則進(jìn)行錯(cuò)誤處理,查詢結(jié)果不匹配,錯(cuò)誤識(shí)別碼管理模,35則把新的錯(cuò)誤識(shí)別碼進(jìn)行入庫(kù)。自適應(yīng)閾值模塊34中存放一張錯(cuò)誤臨時(shí)表,用于記錄各個(gè)錯(cuò)誤識(shí)別碼及其初始閾值和重試次數(shù),每成功完成一個(gè)條目測(cè)試后,自適應(yīng)閾值模塊重新初始化,錯(cuò)誤臨時(shí)表被清空,設(shè)置總閾值為0,總閾值被定義為自適應(yīng)閾值模塊的全局變量,當(dāng)日志獲取模塊截獲到第一個(gè)錯(cuò)誤識(shí)別碼且還未進(jìn)行錯(cuò)誤處理及重試之前,總閾值被賦值為該錯(cuò)誤識(shí)別碼初始閾值,其他情況下,總閾值為自適應(yīng)閾值算法計(jì)算結(jié)果。系統(tǒng)中還默認(rèn)設(shè)置了一個(gè)總閾值上限值,該值為常量,在自適應(yīng)閾值計(jì)算過(guò)程中,如果總閾值大于總閾值上限值,則總閾值不再繼續(xù)增加,其作用是限制總閾值無(wú)限制增加,導(dǎo)致循環(huán)無(wú)法跳出,同時(shí)也能控制減少測(cè)試重試次數(shù)。一般實(shí)際使用中,該總閾值上限常量值通常設(shè)置為一個(gè)偏大的值。如果總閾值減少到零,系統(tǒng)將不會(huì)繼續(xù)嘗試錯(cuò)誤處理和重試。自適應(yīng)閾值模塊使用總閾值全局變量作為自適應(yīng)的閾值,而不是采用單個(gè)錯(cuò)誤識(shí)別碼的初始閾值作為自適應(yīng)閾值其理由是單個(gè)錯(cuò)誤初始閾值無(wú)法勝任錯(cuò)誤處理過(guò)程中又產(chǎn)生新的錯(cuò)誤的情況??傞撝档脑黾雍蜏p少的詳細(xì)情 況請(qǐng)參考如圖5所示的自適應(yīng)閾值算法的流程步驟。
錯(cuò)誤識(shí)別碼管理模塊35與錯(cuò)誤識(shí)別碼庫(kù)32和自適應(yīng)閾值模塊34相連,接收新的未能識(shí)別的錯(cuò)誤識(shí)別碼,對(duì)新的未能識(shí)別的錯(cuò)誤識(shí)別碼進(jìn)行入庫(kù),待測(cè)試結(jié)束后對(duì)這些新的未能識(shí)別的錯(cuò)誤識(shí)別碼進(jìn)行分析,處理,對(duì)軟件或者測(cè)試腳本進(jìn)行修改,對(duì)錯(cuò)誤處理模塊33增加相應(yīng)的處理代碼,通過(guò)不斷的發(fā)現(xiàn)新錯(cuò)誤識(shí)別碼、修正代碼和增加錯(cuò)誤處理模塊的處理方法,達(dá)到主動(dòng),自動(dòng)發(fā)現(xiàn)問(wèn)題并解決問(wèn)題目的,減少了人工對(duì)測(cè)試系統(tǒng)軟件的測(cè)試工作,省時(shí)省力,發(fā)現(xiàn)軟件錯(cuò)誤準(zhǔn)確率高。
錯(cuò)誤處理模塊33與腳本驅(qū)動(dòng)模塊36和自適應(yīng)閾值模塊34相連,錯(cuò)誤識(shí)別碼庫(kù)32中的每個(gè)錯(cuò)誤識(shí)別碼在錯(cuò)誤處理模塊都有一一對(duì)應(yīng)的錯(cuò)誤識(shí)別碼處理代碼。自適應(yīng)閾值模塊34流程正常走完之后,即開(kāi)始錯(cuò)誤處理模塊33進(jìn)行錯(cuò)誤處理,處理完畢后腳本驅(qū)動(dòng)模塊36驅(qū)動(dòng)測(cè)試腳本37進(jìn)行重試,相應(yīng)的錯(cuò)誤識(shí)別碼對(duì)應(yīng)的重試次數(shù)也會(huì)在自適應(yīng)閾值模塊34中相應(yīng)增加。
腳本驅(qū)動(dòng)模塊36與測(cè)試腳本37相連和錯(cuò)誤處理模塊33相連,錯(cuò)誤處理模33處理錯(cuò)誤后,通知腳本驅(qū)動(dòng)模塊繼續(xù)驅(qū)動(dòng)測(cè)試腳本進(jìn)行測(cè)試。
如圖4所示,本實(shí)施例提供的設(shè)備測(cè)試方法的流程部分的處理步驟如下:
S401-S403:腳本驅(qū)動(dòng)模塊驅(qū)動(dòng)測(cè)試腳本開(kāi)始工作后,日志獲取模塊開(kāi)始工作。
S404:日志獲取模塊把錯(cuò)誤在錯(cuò)誤識(shí)別碼庫(kù)中進(jìn)行查詢匹配。
S405-S407:自適應(yīng)閾值模塊處理查詢匹配結(jié)果,如果是新的未能識(shí)別錯(cuò)誤識(shí)別碼,則錯(cuò)誤識(shí)別管理模塊將這些新的未能識(shí)別錯(cuò)誤,進(jìn)行入庫(kù)到錯(cuò)誤識(shí)別碼庫(kù),待測(cè)試結(jié)束后,錯(cuò)誤處理模塊對(duì)這些新的未能識(shí)別的錯(cuò)誤識(shí)別碼進(jìn)行分 析處理。
S408-S411:自適應(yīng)閾值模塊根據(jù)自適應(yīng)閾值判斷是否需要處理,如果不需要處理,則直接繼續(xù)設(shè)備測(cè)試,若需要,則錯(cuò)誤處理模塊進(jìn)行錯(cuò)誤處理,對(duì)于未能識(shí)別的錯(cuò)誤識(shí)別碼不進(jìn)行處理,處理完成后繼續(xù)設(shè)備測(cè)試,自適應(yīng)閾值模塊中的重試次數(shù)增加一次,繼續(xù)驅(qū)動(dòng)測(cè)試腳本進(jìn)行測(cè)試。
如圖5所示,在本實(shí)施例中,自適應(yīng)閾值模塊中的自適應(yīng)算法處理流程如下:
S501-S502:自適應(yīng)閾值模塊獲取到新的錯(cuò)誤識(shí)別碼匹配結(jié)果后,錯(cuò)誤臨時(shí)表保存錯(cuò)誤識(shí)別碼,初始閾值,錯(cuò)誤重試次數(shù)。
S503-S506:在錯(cuò)誤臨時(shí)表中查找上一條錯(cuò)誤記錄,觀察上一條錯(cuò)誤的重試次數(shù)是否增加;若重試次數(shù)未增加,則進(jìn)一步判斷上一條錯(cuò)誤的重試次數(shù)是否等于上一條錯(cuò)誤的初始閾值,若初始閾值不等于重試次數(shù),則更新總閾值=總閾值+上一條錯(cuò)誤的初始閾值-上一條錯(cuò)誤的重試次數(shù),設(shè)置重試次數(shù)為初始閾值數(shù)。若上一條錯(cuò)誤的重試次數(shù)增加或者上一條錯(cuò)誤的重試次數(shù)等于上一條錯(cuò)誤的初始閾值初始閾值已經(jīng)等于重試次數(shù),則進(jìn)行下一步驟S507。
S507:判斷該錯(cuò)誤識(shí)別碼是否是新出現(xiàn)的錯(cuò)誤識(shí)別碼,即該錯(cuò)誤識(shí)別碼不存在錯(cuò)誤臨時(shí)表中,若是新出現(xiàn)的錯(cuò)誤識(shí)別碼,則轉(zhuǎn)步驟S508-S509,否則轉(zhuǎn)步驟S510-S512。
S508-S509:判斷當(dāng)前總閾值與總閾值上限值的關(guān)系,若總閾值大于總閾值上限值,則總閾值保持不變,若未達(dá)到上限則對(duì)總閾值進(jìn)行更新,計(jì)算方法為:總閾值=當(dāng)前總閾值+新錯(cuò)誤識(shí)別碼的初始閾值+臨時(shí)錯(cuò)誤表中記錄的錯(cuò)誤數(shù)目。
S510-S512:將總閾值減1,若總閾值小于等于0,則返回繼續(xù)設(shè)備測(cè)試, 若總閾值大于0,則進(jìn)一步判斷新檢測(cè)到的錯(cuò)誤的重試次數(shù)是否大于重試次數(shù)上限,若重試次數(shù)達(dá)到重試次數(shù)上限,則返回繼續(xù)設(shè)備測(cè)試,否則進(jìn)行下一步操作。
S513:錯(cuò)誤處理模塊處理錯(cuò)誤臨時(shí)表中的待處理錯(cuò)誤,本次處理新檢測(cè)到的錯(cuò)誤。
綜上可知,通過(guò)本發(fā)明的實(shí)施,至少存在以下有益效果:
本發(fā)明提供了一種設(shè)備測(cè)試方法,在檢測(cè)到錯(cuò)誤時(shí),自動(dòng)查找對(duì)應(yīng)的處理代碼,并對(duì)錯(cuò)誤進(jìn)行處理,在處理之后繼續(xù)進(jìn)行設(shè)備測(cè)試,而不需要中斷設(shè)備測(cè)試,減少了測(cè)試過(guò)程中的異常中斷,提高了測(cè)試成功率;
進(jìn)一步的,通過(guò)自適應(yīng)閾值調(diào)節(jié)重試次數(shù),以保證既能夠有效的進(jìn)行重試,又能保證重試次數(shù)最小化;
進(jìn)一步的,不斷的對(duì)新入庫(kù)錯(cuò)誤進(jìn)行優(yōu)化結(jié)果使得測(cè)試腳本更加健壯,達(dá)到了主動(dòng),自動(dòng)發(fā)現(xiàn)問(wèn)題并解決問(wèn)題的效果。
以上僅是本發(fā)明的具體實(shí)施方式而已,并非對(duì)本發(fā)明做任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施方式所做的任意簡(jiǎn)單修改、等同變化、結(jié)合或修飾,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍。