代碼覆蓋率處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種代碼覆蓋率處理方法及裝置。
【背景技術(shù)】
[0002]隨著電信業(yè)務(wù)的發(fā)展,電信增值業(yè)務(wù)的種類的增多,提供服務(wù)的軟件和設(shè)備逐步增多,軟件的測試越來越復(fù)雜和繁瑣。代碼覆蓋率是用來度量測試完整性的一個手段。軟件的覆蓋率總體上可以分為邏輯覆蓋(代碼覆蓋和結(jié)構(gòu)化覆蓋)和功能覆蓋。通過覆蓋率數(shù)據(jù),可以知道測試得是否充分,測試的弱點在哪些方面,進(jìn)而可以指導(dǎo)設(shè)計出能夠增加覆蓋率的測試用例。因此,代碼覆蓋率作為軟件測試的一項重要衡量指標(biāo),已越來越受到重視。但在相關(guān)技術(shù)中,對代碼覆蓋率的測試需要人工確定測試的對象,而且測試時只能針對一個對象進(jìn)行測試,不僅人為干預(yù)多,流程煩雜,而且測試效率也不高。
[0003]因此,在相關(guān)技術(shù)中,對代碼覆蓋率的測試存在人為干預(yù)多,流程煩雜,以及測試效率不高的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種代碼覆蓋率處理方法及裝置,以至少解決在相關(guān)技術(shù)中,對代碼覆蓋率的測試存在人為干預(yù)多,流程煩雜,以及測試效率不高的問題。
[0005]根據(jù)本發(fā)明的一個方面,提供了一種代碼覆蓋率處理方法,包括:對軟件單元進(jìn)行掃描;對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試;生成所述一個或多個軟件單元的代碼覆蓋率測試結(jié)果。
[0006]優(yōu)選地,對所述軟件單元進(jìn)行掃描包括:確定對所述軟件單元進(jìn)行掃描的預(yù)定掃描條件;依據(jù)確定的所述預(yù)定掃描條件對所述軟件單元進(jìn)行掃描。
[0007]優(yōu)選地,對掃描到的所述一個或多個軟件單元的所述代碼覆蓋率進(jìn)行測試包括:選擇對所述一個或多個軟件單元的所述代碼覆蓋率進(jìn)行測試的測試用例、測試工具、以及與所述測試用例和測試工具對應(yīng)的測試環(huán)境;在所述測試環(huán)境下,采用所述測試工具以及所述測試用例對掃描到的所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試。
[0008]優(yōu)選地,在對掃描到的所述一個或多個軟件單元的所述代碼覆蓋率進(jìn)行測試之后,還包括:生成對所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試時的一個或多個軟件單元測試結(jié)果。
[0009]優(yōu)選地,在生成的所述一個或多個軟件單元的一個或多個代碼覆蓋率測試結(jié)果和所述一個或多個軟件單元測試結(jié)果之后,還包括:對所述一個或多個代碼覆蓋率測試結(jié)果和/或所述一個或多個軟件單元測試結(jié)果進(jìn)行顯示。
[0010]根據(jù)本發(fā)明的另一方面,提供了一種代碼覆蓋率處理裝置,包括:掃描模塊,用于對軟件單元進(jìn)行掃描;測試模塊,用于對掃描到的所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試;第一生成模塊,用于生成所述一個或多個軟件單元的代碼覆蓋率測試結(jié)果。
[0011]優(yōu)選地,所述掃描模塊包括:確定單元,用于確定對所述軟件單元進(jìn)行掃描的預(yù)定掃描條件;掃描單元,用于依據(jù)確定的所述預(yù)定掃描條件對所述軟件單元進(jìn)行掃描。
[0012]優(yōu)選地,所述測試模塊包括:選擇單元,用于選擇對所述一個或多個軟件單元的所述代碼覆蓋率進(jìn)行測試的測試用例、測試工具、以及與所述測試用例和測試工具對應(yīng)的測試環(huán)境;測試單元,用于在所述測試環(huán)境下,采用所述測試工具以及所述測試用例對掃描到的所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試。
[0013]優(yōu)選地,該裝置還包括:第二生成模塊,用于生成對所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試時的一個或多個軟件單元測試結(jié)果。
[0014]優(yōu)選地,該裝置還包括:顯示模塊,用于對所述一個或多個代碼覆蓋率測試結(jié)果和/或所述一個或多個軟件單元測試結(jié)果進(jìn)行顯示。
[0015]通過本發(fā)明,采用對軟件單元進(jìn)行掃描;對掃描到的所述一個或多個軟件單元的代碼覆蓋率進(jìn)行測試;生成所述一個或多個軟件單元的代碼覆蓋率測試結(jié)果,解決了在相關(guān)技術(shù)中,對代碼覆蓋率的測試存在人為干預(yù)多,流程煩雜,以及測試效率不高的問題,進(jìn)而達(dá)到了對代碼覆蓋率的測試完全自動化,不僅減少了流程的煩雜性,而且有效地提高了測試效率的效果。
【附圖說明】
[0016]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0017]圖1是根據(jù)本發(fā)明實施例的代碼覆蓋率處理方法的流程圖;
[0018]圖2是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置的結(jié)構(gòu)框圖;
[0019]圖3是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置中掃描模塊22的優(yōu)選結(jié)構(gòu)框圖;
[0020]圖4是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置中測試模塊24的優(yōu)選結(jié)構(gòu)框圖;
[0021]圖5是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置的優(yōu)選結(jié)構(gòu)框圖一;
[0022]圖6是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置的優(yōu)選結(jié)構(gòu)框圖二 ;
[0023]圖7是根據(jù)本發(fā)明優(yōu)選實施方式的代碼覆蓋率自動化測試系統(tǒng)的結(jié)構(gòu)框圖;
[0024]圖8是根據(jù)本發(fā)明實施例的代碼覆蓋率自動化測試方法的流程圖;
[0025]圖9是根據(jù)本發(fā)明優(yōu)選實施方式的單元自動化測試模塊76測試的流程圖。
【具體實施方式】
[0026]下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0027]在本實施例中提供了一種代碼覆蓋率處理方法,圖1是根據(jù)本發(fā)明實施例的代碼覆蓋率處理方法的流程圖,如圖1所示,該流程包括如下步驟:
[0028]步驟S102,對軟件單元進(jìn)行掃描,需要說明的是,該軟件單元可以為代碼覆蓋率的測試對象。通常情況下是指代一個功能性模塊的軟件代碼;
[0029]步驟S104,對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試;
[0030]步驟S106,生成一個或多個軟件單元的代碼覆蓋率測試結(jié)果。
[0031]通過上述步驟,采用對軟件單元進(jìn)行掃描,將掃描到的一個或多個軟件單元進(jìn)行測試,相對于相關(guān)技術(shù)中需要人為地確定軟件單元后,通過人為設(shè)置測試參數(shù)對軟件單元進(jìn)行測試,導(dǎo)致對代碼覆蓋率的測試存在人為干預(yù)多,流程煩雜,以及測試效率不高的問題,采用上述掃描,對掃描到的軟件單元進(jìn)行自動測試,實現(xiàn)了對代碼覆蓋率的測試完全自動化,不僅減少了流程的煩雜性,而且有效地提高了測試效率的效果。
[0032]對軟件單元進(jìn)行掃描時,依據(jù)需要測試的目標(biāo)軟件單元的不同可以設(shè)置不同的預(yù)定掃描條件,也可以依據(jù)對測試的頻率的不同設(shè)置不同的掃描時段(例如,可以設(shè)置定時掃描),例如,在對軟件單元進(jìn)行掃描之前,先確定對軟件單元進(jìn)行掃描的預(yù)定掃描條件(例如,對軟件單元的一些篩選條件);依據(jù)確定的預(yù)定掃描條件對軟件單元進(jìn)行掃描。
[0033]對更新的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試時,實現(xiàn)對每個掃描到的軟件單元實現(xiàn)自動化的測試,在測試的過程中,先選擇對一個或多個軟件單元的代碼覆蓋率進(jìn)行測試的測試用例、測試工具、以及與測試用例和測試工具對應(yīng)的測試環(huán)境;在測試環(huán)境下,采用測試工具以及測試用例對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試。需要說明的是,上述過程均是通過自動化觸發(fā),自動化選擇,自動化搭建的預(yù)先設(shè)置完成的,其中,并不需要人為的干預(yù),不僅僅針對一個軟件單元的測試,還能夠同時實現(xiàn)對多個軟件單元的測試。
[0034]為了更清楚的獲知在對軟件單元的代碼覆蓋率進(jìn)行測試的過程中所涉及到的測試細(xì)節(jié),可以在對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試之后,生成對一個或多個軟件單元的代碼覆蓋率進(jìn)行測試時的一個或多個軟件單元測試結(jié)果。該軟件單元測試結(jié)果可以包括多種內(nèi)容,例如,可以包括以下各項至少之一:測試的單元名稱、使用的測試工具、總共測試的測試用例數(shù)、測試結(jié)果為成功的用例數(shù)、測試結(jié)果為失敗的用例數(shù)等。
[0035]為了直觀地展示代碼覆蓋率測試結(jié)果和/或軟件單元測試結(jié)果,在生成的一個或多個軟件單元的一個或多個代碼覆蓋率測試結(jié)果和一個或多個軟件單元測試結(jié)果之后,還可以對一個或多個代碼覆蓋率測試結(jié)果和/或一個或多個軟件單元測試結(jié)果進(jìn)行顯示。
[0036]在本實施例中還提供了一種代碼覆蓋率處理裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
[0037]圖2是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括掃描模塊22、測試模塊24和第一生成模塊26,下面對該裝置進(jìn)行說明。
[0038]掃描模塊22,用于對軟件單元進(jìn)行掃描;測試模塊24,連接至上述掃描模塊22,用于對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試;第一生成模塊26,連接至上述測試模塊24,用于生成一個或多個軟件單元的代碼覆蓋率測試結(jié)果。
[0039]圖3是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置中掃描模塊22的優(yōu)選結(jié)構(gòu)框圖,如圖3所示,該掃描模塊22包括確定單元32和掃描單元34,下面對該掃描模塊22進(jìn)行說明。
[0040]確定單元32,用于確定對軟件單元進(jìn)行掃描的預(yù)定掃描條件;掃描單元34,連接至上述確定單元32,用于依據(jù)確定的預(yù)定掃描條件對軟件單元進(jìn)行掃描。
[0041]圖4是根據(jù)本發(fā)明實施例的代碼覆蓋率處理裝置中測試模塊24的優(yōu)選結(jié)構(gòu)框圖,如圖4所示,該測試模塊24包括選擇單元42和測試單元44,下面對該測試模塊24進(jìn)行說明。
[0042]選擇單元42,用于選擇對一個或多個軟件單元的代碼覆蓋率進(jìn)行測試的測試用例、測試工具、以及與測試用例和測試工具對應(yīng)的測試環(huán)境;測試單元44,連接至上述選擇單元42,用于在測試環(huán)境下,采用測試工具以及測試用例對掃描到的一個或多個軟件單元的代碼覆蓋率進(jìn)行測試。
[0