本發(fā)明涉及電子技術領域,尤其涉及一種應用軟件的回歸測試方法及裝置、電子設備。
背景技術:
應用軟件系統(tǒng)在設計開發(fā)過程中離不開測試,而隨著軟件版本的變遷,程序被不斷的修改,在修改的過程中可能會在程序的原有功能里引入新的Bug,回歸測試技術使用之前已開發(fā)的測試用例來測試程序的原有功能,從而確認程序原有功能沒有被程序的修改所影響。
在現(xiàn)有的技術方案中,最常見的回歸測試方法是整理一份excel用例文檔,通常包含上百條的測試用例,回歸測試的時候測試人員按照測試用例的執(zhí)行方法判斷輸入輸出是否有異常。然而隨著版本迭代頻繁、測試需求頻繁變更,使得測試用例不斷增加,通過測試人員的測試僅僅能獲知當前測試用例的回歸效果,無法了解到整個應用軟件的回歸效果,且有可能漏測應用軟件的某一個功能點,或者有可能對某一個功能點重復測試,因此降低了對應用軟件回歸測試的有效性。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種應用軟件的回歸測試方法及裝置、電子設備,能夠及時獲知對應用軟件的回歸測試結果,進而提高對應用軟件回歸測試的有效性。
本發(fā)明實施例第一方面提供了一種應用軟件的回歸測試方法,包括:
獲取對當前版本的應用軟件進行回歸測試的多個測試用例;
通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件;
將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
可選的,所述獲取對當前版本的應用軟件進行回歸測試的多個測試用例,包括:
獲取用于識別所述多個測試用例的腳本文件;
解析所述腳本文件,確定所述腳本文件對應的用例標識;
根據(jù)所述用例標識查找相應的測試用例。
可選的,所述多個測試用例包括第一測試用例和第二測試用例;
所述通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,包括:
通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù);
通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù);
將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
可選的,所述預設基準文件包括預設代碼覆蓋率;所述目標覆蓋率文件包括目標代碼覆蓋率;
所述將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果,包括:
將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比;
當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
可選的,所述預設基準文件包括預設代碼覆蓋行數(shù);所述目標覆蓋率文件包括目標代碼覆蓋行數(shù);
所述將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果,包括:
將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比;
當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
本發(fā)明實施例第二方面提供了一種應用軟件的回歸測試裝置,包括:
獲取單元,用于獲取對當前版本的應用軟件進行回歸測試的多個測試用例;
生成單元,用于通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件;
確定單元,用于將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
可選的,所述獲取單元包括:
文件獲取單元,用于獲取用于識別所述多個測試用例的腳本文件;
標識確定單元,用于解析所述腳本文件,確定所述腳本文件對應的用例標識;
用例查找單元,用于根據(jù)所述用例標識查找相應的測試用例。
可選的,所述多個測試用例包括第一測試用例和第二測試用例;
所述生成單元包括:
第一測試單元,用于通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù);
第二測試單元,用于通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù);
文件生成單元,用于將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
可選的,所述預設基準文件包括預設代碼覆蓋率;所述目標覆蓋率文件包括目標代碼覆蓋率;
所述確定單元包括:
第一數(shù)據(jù)對比單元,用于將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比;
第一漏測確定單元,用于當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
可選的,所述預設基準文件包括預設代碼覆蓋行數(shù);所述目標覆蓋率文件包括目標代碼覆蓋行數(shù);
所述確定單元包括:
第二數(shù)據(jù)對比單元,用于將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比;
第二漏測確定單元,當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)本發(fā)明實施例第三方面提供了一種電子設備,所述電子設備包括處理器和存儲器,所述存儲器用于存儲可執(zhí)行程序代碼;所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應的程序,以執(zhí)行以下步驟:
獲取對當前版本的應用軟件進行回歸測試的多個測試用例;
通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件;
將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種應用軟件的回歸測試方法的流程示意圖;
圖2是本發(fā)明實施例提供的另一種應用軟件的回歸測試方法的流程示意圖;
圖3是本發(fā)明實施例提供的另一種應用軟件的回歸測試方法的流程示意圖;
圖4是本發(fā)明實施例提供的一種應用軟件的回歸測試裝置的結構示意圖;
圖5是本發(fā)明實施例提供的獲取單元的結構示意圖;
圖6是本發(fā)明實施例提供的生成單元的結構示意圖;
圖7是本發(fā)明實施例提供的確定單元的一種結構示意圖;
圖8是本發(fā)明實施例提供的確定單元的另一種結構示意圖;
圖9是本發(fā)明實施例提供的一種電子設備的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在本發(fā)明實施例中使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。另外,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”和“第四”等是用于區(qū)別不同對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產品或設備固有的其它步驟或單元。
本發(fā)明實施例提供的應用軟件的回歸測試方法可以應用于手機中的應用軟件的回歸測試的場景,例如:獲取對當前版本的應用軟件進行回歸測試的多個測試用例;通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件;將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,提高了對應用軟件回歸測試的有效性,并能夠及時獲知應用軟件的測試結果。
本發(fā)明實施例涉及的電子設備可以是任何具備存儲和通信功能的設備,例如:平板電腦、手機、電子閱讀器、個人計算機(Personal Computer,PC)、筆記本電腦、車載設備、網(wǎng)絡電視、可穿戴設備等設備;所涉及的應用軟件的回歸測試裝置可以是具備通信和存儲功能且用于回歸測試的設備,也可以是嵌入于具備存儲和通信功能的設備中回歸測試模塊。
下面將結合附圖1-附圖3,對本發(fā)明實施例提供的應用軟件的回歸測試方法進行詳細介紹。
請參見圖1,為本發(fā)明實施例提供了一種應用軟件的回歸測試方法的流程示意圖。如圖1所示,本發(fā)明實施例的所述方法可以包括以下步驟S101-步驟S103。
S101,獲取對當前版本的應用軟件進行回歸測試的多個測試用例。
具體的,應用軟件的回歸測試裝置獲取對當前版本的應用軟件進行回歸測試的多個測試用例。其中,測試用例可以包括但不限定于為應用軟件的某個功能編制的一組測試輸入、執(zhí)行條件等。回歸測試是指在應用軟件的版本更新迭代過程中,對新版本的應用軟件進行重新測試,以保證修改后的新版本能夠涵蓋舊版本的應用軟件的功能點、且沒有引入新的錯誤或導致其他代碼產生錯誤。
可選的,所述多個測試用例包含采用不同方式進行測試的測試用例,例如第一測試用例和第二測試用例。其中,測試用例是測試人員在專用軟件上編寫的用于測試應用的代碼,可行的方案中,所述第一測試用例是需要通過手動方式完成測試的用例,第二測試用例是通過自動加載的方式完成測試的用例。
可選的,本發(fā)明實施例所涉及的應用軟件可以是電腦、手機、平板等電子設備中的任意一個應用軟件,本發(fā)明實施例對此不做限定。
S102,通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件。
具體的,所述應用軟件的回歸測試裝置通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件??尚械姆桨钢?,在采用每個測試用例進行回歸測試的過程中,可以生成針對這一測試用例的覆蓋數(shù)據(jù),將多個測試用例對應的多個覆蓋數(shù)據(jù)進行合并,即可得到目標覆蓋率文件。其中,所述目標覆蓋率文件包括目標代碼覆蓋率、目標代碼覆蓋行數(shù)??梢岳斫獾氖牵诓捎妹總€測試用例進行回歸測試的過程中,當前版本的應用軟件的有些程序代碼可能被執(zhí)行到,有些程序代碼可能未被執(zhí)行到,因此所述應用軟件的回歸測試裝置可以通過各個測試用例所執(zhí)行的程序代碼確定目標代碼覆蓋率或目標代碼覆蓋行數(shù)。
S103,將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
具體的,所述應用軟件的回歸測試裝置將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。所述應用軟件的回歸測試裝置通過將對當前版本的應用軟件測試生成的目標覆蓋率文件和預設基準文件進行對比,確定當前版本的應用軟件是否達到預期效果,確定的測試結果包括達到或者未達到預期效果的結果。其中,所述預設基準文件用于與其他版本的應用軟件生成的覆蓋率文件進行比對,以確定測試結果,使得測試人員能夠及時獲知整個應用軟件的測試結果。
可選的,所述預設基準文件包括預設代碼覆蓋率和/或預設代碼覆蓋行數(shù),所述目標覆蓋率文件包括目標代碼覆蓋率和/或目標代碼覆蓋行數(shù)。所述應用軟件的回歸測試裝置通過將目標代碼覆蓋率與預設代碼覆蓋率和/或將目標代碼覆蓋行數(shù)與預設代碼覆蓋行數(shù)進行比對,確定測試結果。
可選的,本發(fā)明實施例所采用的多個測試用例與獲得所述預設基準文件所采用的測試用例相同,其中,所述預設基準文件是通過采用所述多個測試用例對歷史版本的應用軟件進行測試所生成的,這樣更能夠體現(xiàn)出當前版本的應用軟件與是否涵蓋了歷史版本的應用軟件的功能點。
可選的,所述應用軟件的回歸測試裝置還可以獲取到所述當前版本的應用軟件所包含的全部功能點,例如:菜單功能、設置功能、個人主頁、頂欄、廣告欄等,而這些功能點是由測試人員編輯歸納的。通過所述目標覆蓋率文件與預設基準文件的對比,所述確定的測試結果中還可以包括當前應用軟件所涵蓋了的功能點和未涵蓋的功能點。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
請參見圖2,為本發(fā)明實施例提供了另一種應用軟件的回歸測試方法的流程示意圖。如圖2所示,本發(fā)明實施例的所述方法可以包括以下步驟S201-步驟S206。
S201,獲取對當前版本的應用軟件進行回歸測試的多個測試用例。
具體的,應用軟件的回歸測試裝置獲取對當前版本的應用軟件進行回歸測試的多個測試用例。其中,測試用例可以包括但不限定于為應用軟件的某個功能編制的一組測試輸入、執(zhí)行條件等?;貧w測試是指在應用軟件的版本更新迭代過程中,對新版本的應用軟件進行重新測試,以保證修改后的新版本能夠涵蓋舊版本的應用軟件的功能點、且沒有引入新的錯誤或導致其他代碼產生錯誤。
進一步,所述多個測試用例包含采用不同方式進行測試的測試用例,例如第一測試用例和第二測試用例。其中,測試用例是測試人員在專用軟件上編寫的用于測試應用的代碼,可行的方案中,所述第一測試用例是需要通過手動方式完成測試的用例,第二測試用例是通過自動加載的方式完成測試的用例。
可行的方案中,當所述測試用例為第二測試用例時,所述應用軟件的回歸測試裝置可以獲取用于識別所述多個測試用例的腳本文件,解析所述腳本文件,確定所述腳本文件對應的用例標識,根據(jù)所述用例標識查找相應的測試用例。
S202,通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。
具體的,所述應用軟件的回歸測試裝置通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。其中,所述第一測試用例是需要通過手動方式完成測試的用例,舉例來說,當所述應用個軟件為手機中的應用軟件時,測試人員對照第一測試用例,對手機中的應用軟件進行手動操作,并完成采用該第一測試用例對應用軟件的測試,所述應用軟件的回歸測試裝置在測試完成之后會自動生成第一覆蓋數(shù)據(jù),所述第一覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
S203,通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。
具體的,所述應用軟件的回歸測試裝置通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。其中,第二測試用例是自動加載的方式完成測試的用例。所述第二覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
S204,將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
具體的,所述應用軟件的回歸測試裝置將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件??尚械姆桨钢校瑢τ诎ǘ鄠€第一測試用例和多個第二測試用例的情況,會生成多個第一覆蓋數(shù)據(jù)和多個第二覆蓋數(shù)據(jù),所述應用軟件的回歸測試裝置將各個覆蓋數(shù)據(jù)中覆蓋的程序代碼進行統(tǒng)一標記,例如用同一種顏色標亮,將未覆蓋的程序代碼用另一種顏色統(tǒng)一標記,進而確定所目標代碼覆蓋率,所述目標代碼覆蓋率即為目標覆蓋率文件。
需要說明的是,本發(fā)明實施例對覆蓋的程序代碼和未覆蓋的程序代碼的區(qū)分方式不做限定。
S205,將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比。
具體的,所述應用軟件的回歸測試裝置將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比。所述應用軟件的回歸測試裝置通過將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比,確定當前版本的應用軟件是否達到預期效果。
S206,當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
具體的,當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,所述應用軟件的回歸測試裝置確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。這樣測試人員可通過目標代碼覆蓋率,查找未覆蓋的功能點,進而對所述當前版本的應用軟件的程序代碼進行修改。因此,能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
可選的,本發(fā)明實施例所采用的多個測試用例與獲得所述預設基準文件所采用的測試用例相同,其中,所述預設基準文件是通過采用所述多個測試用例對歷史版本的應用軟件進行測試所生成的,這樣更能夠體現(xiàn)出當前版本的應用軟件與是否涵蓋了歷史版本的應用軟件的功能點。
可選的,本發(fā)明實施例中的第一覆蓋數(shù)據(jù)和第二覆蓋數(shù)據(jù)可以通過代碼覆蓋技術進行獲得,例如安卓代碼覆蓋技術等。
可選的,所述應用軟件的回歸測試裝置還可以獲取到所述當前版本的應用軟件所包含的全部功能點,例如:菜單功能、設置功能、個人主頁、頂欄、廣告欄等,而這些功能點是由測試人員編輯歸納的。通過所述目標覆蓋率文件與預設基準文件的對比,所述確定的測試結果中還可以包括當前應用軟件所涵蓋了的功能點和未涵蓋的功能點。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
請參見圖3,為本發(fā)明實施例提供了另一種應用軟件的回歸測試方法的流程示意圖。如圖3所示,本發(fā)明實施例的所述方法可以包括以下步驟S301-步驟S306。
S301,獲取對當前版本的應用軟件進行回歸測試的多個測試用例。
具體的,應用軟件的回歸測試裝置獲取對當前版本的應用軟件進行回歸測試的多個測試用例。其中,測試用例可以包括但不限定于為應用軟件的某個功能編制的一組測試輸入、執(zhí)行條件等?;貧w測試是指在應用軟件的版本更新迭代過程中,對新版本的應用軟件進行重新測試,以保證修改后的新版本能夠涵蓋舊版本的應用軟件的功能點、且沒有引入新的錯誤或導致其他代碼產生錯誤。
進一步,所述多個測試用例包含采用不同方式進行測試的測試用例,例如第一測試用例和第二測試用例。其中,測試用例是測試人員在專用軟件上編寫的用于測試應用的代碼,可行的方案中,所述第一測試用例是需要通過手動方式完成測試的用例,第二測試用例是通過自動加載的方式完成測試的用例。
可行的方案中,當所述測試用例為第二測試用例時,所述應用軟件的回歸測試裝置可以獲取用于識別所述多個測試用例的腳本文件,解析所述腳本文件,確定所述腳本文件對應的用例標識,根據(jù)所述用例標識查找相應的測試用例。
S302,通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。
具體的,所述應用軟件的回歸測試裝置通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。其中,所述第一測試用例是需要通過手動方式完成測試的用例,舉例來說,當所述應用個軟件為手機中的應用軟件時,測試人員對照第一測試用例,對手機中的應用軟件進行手動操作,并完成采用該第一測試用例對應用軟件的測試,所述應用軟件的回歸測試裝置在測試完成之后會自動生成第一覆蓋數(shù)據(jù),所述第一覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
S303,通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。
具體的,所述應用軟件的回歸測試裝置通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。其中,第二測試用例是自動加載的方式完成測試的用例。所述第二覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
S304,將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
具體的,所述應用軟件的回歸測試裝置將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。可行的方案中,對于包括多個第一測試用例和多個第二測試用例的情況,會生成多個第一覆蓋數(shù)據(jù)和多個第二覆蓋數(shù)據(jù),所述應用軟件的回歸測試裝置將各個覆蓋數(shù)據(jù)中覆蓋的程序代碼進行統(tǒng)一標記,例如用同一種顏色標亮,將未覆蓋的程序代碼用另一種顏色統(tǒng)一標記,進而確定所目標代碼覆蓋行數(shù),所述目標代碼覆蓋行數(shù)即為目標覆蓋率文件。
需要說明的是,本發(fā)明實施例對覆蓋的程序代碼和未覆蓋的程序代碼的區(qū)分方式不做限定。
S305,將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比。
具體的,所述應用軟件的回歸測試裝置將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比。所述應用軟件的回歸測試裝置通過將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比,確定當前版本的應用軟件是否達到預期效果。
S306,當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
具體的,當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,所述應用軟件的回歸測試裝置確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。這樣測試人員可通過目標代碼覆蓋行數(shù),查找未覆蓋的功能點,進而對所述當前版本的應用軟件的程序代碼進行修改。因此,能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
可選的,本發(fā)明實施例所采用的多個測試用例與獲得所述預設基準文件所采用的測試用例相同,其中,所述預設基準文件是通過采用所述多個測試用例對歷史版本的應用軟件進行測試所生成的,這樣更能夠體現(xiàn)出當前版本的應用軟件與是否涵蓋了歷史版本的應用軟件的功能點。
可選的,本發(fā)明實施例中的第一覆蓋數(shù)據(jù)和第二覆蓋數(shù)據(jù)可以通過代碼覆蓋技術進行獲得,例如安卓代碼覆蓋技術等。
可選的,所述應用軟件的回歸測試裝置還可以獲取到所述當前版本的應用軟件所包含的全部功能點,例如:菜單功能、設置功能、個人主頁、頂欄、廣告欄等,而這些功能點是由測試人員編輯歸納的。通過所述目標覆蓋率文件與預設基準文件的對比,所述確定的測試結果中還可以包括當前應用軟件所涵蓋了的功能點和未涵蓋的功能點。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
請參見圖4,為本發(fā)明實施例提供了一種應用軟件的回歸測試裝置的結構示意圖。如圖4所示,本發(fā)明實施例的所述應用軟件的回歸測試裝置1可以包括:獲取單元11、生成單元12和確定單元13。
獲取單元11,用于獲取對當前版本的應用軟件進行回歸測試的多個測試用例。
具體的,所述獲取單元11獲取對當前版本的應用軟件進行回歸測試的多個測試用例。其中,測試用例可以包括但不限定于為應用軟件的某個功能編制的一組測試輸入、執(zhí)行條件等?;貧w測試是指在應用軟件的版本更新迭代過程中,對新版本的應用軟件進行重新測試,以保證修改后的新版本能夠涵蓋舊版本的應用軟件的功能點、且沒有引入新的錯誤或導致其他代碼產生錯誤。
進一步,所述多個測試用例包含采用不同方式進行測試的測試用例,例如第一測試用例和第二測試用例。其中,測試用例是測試人員在專用軟件上編寫的用于測試應用的代碼,可行的方案中,所述第一測試用例是需要通過手動方式完成測試的用例,第二測試用例是通過自動加載的方式完成測試的用例。
可行的方案中,當所述測試用例為第二測試用例時,請一并參見圖5,為本發(fā)明實施例提供的一種獲取單元的結構示意圖,如圖5所示,所述獲取單元11包括文件獲取單元111、標識確定單元112和用例查找單元113。
文件獲取單元111,用于獲取用于識別所述多個測試用例的腳本文件。
具體的,所述文件獲取單元111獲取用于識別所述多個測試用例的腳本文件,其中所述腳本文件中包含了用于識別測試用例的用例標識。
標識確定單元112,用于解析所述腳本文件,確定所述腳本文件對應的用例標識。
具體的,標識確定單元112解析所述腳本文件,確定所述腳本文件對應的用例標識,以使根據(jù)用例標識獲取到測試用例。
用例查找單元113,用于根據(jù)所述用例標識查找相應的測試用例。
具體的,用例查找單元113根據(jù)所述用例標識查找相應的測試用例。
生成單元12,用于通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件。
具體的,請一并參見圖6,為本發(fā)明實施例提供的一種生成單元的結構示意圖,如圖6所示,所述生成單元12包括第一測試單元121、第二測試單元122和文件生成單元123。
第一測試單元121,用于通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。
具體的,所述第一測試單元121通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù)。其中,所述第一測試用例是需要通過手動方式完成測試的用例,舉例來說,當所述應用個軟件為手機中的應用軟件時,測試人員對照第一測試用例,對手機中的應用軟件進行手動操作,并完成采用該第一測試用例對應用軟件的測試,所述第一測試單元121在測試完成之后會自動生成第一覆蓋數(shù)據(jù),所述第一覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
第二測試單元122,用于通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。
具體的,所述第二測試單元122通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù)。其中,第二測試用例是自動加載的方式完成測試的用例。所述第二覆蓋數(shù)據(jù)可以包括覆蓋的程序代碼與未覆蓋的程序代碼。
文件生成單元123,用于將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
具體的,所述文件生成單元123將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件??尚械姆桨钢校瑢τ诎ǘ鄠€第一測試用例和多個第二測試用例的情況,會生成多個第一覆蓋數(shù)據(jù)和多個第二覆蓋數(shù)據(jù),所述文件生成單元123將各個覆蓋數(shù)據(jù)中覆蓋的程序代碼進行統(tǒng)一標記,例如用同一種顏色標亮,將未覆蓋的程序代碼用另一種顏色統(tǒng)一標記,進而確定所目標代碼覆蓋率,所述目標代碼覆蓋率即為目標覆蓋率文件。
需要說明的是,本發(fā)明實施例對覆蓋的程序代碼和未覆蓋的程序代碼的區(qū)分方式不做限定。
確定單元13,用于將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
一種可行的方案中,請一參見圖7,為本發(fā)明實施例提供的一種確定單元的一種結構示意圖,如圖7所示,所述確定單元13包括第一數(shù)據(jù)對比單元131和第一漏測確定單元132。圖7所示的實施例中,所述預設基準文件包括預設代碼覆蓋率,所述目標覆蓋率文件包括目標代碼覆蓋率。
第一數(shù)據(jù)對比單元131,用于將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比;
具體的,所述第一數(shù)據(jù)對比單元131將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比。所述第一數(shù)據(jù)對比單元131通過將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比,確定當前版本的應用軟件是否達到預期效果。
第一漏測確定單元132,用于當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
具體的,當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,所述第一漏測確定單元132確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。這樣測試人員可通過目標代碼覆蓋率,查找未覆蓋的功能點,進而對所述當前版本的應用軟件的程序代碼進行修改。因此,能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
另一種可行的方案中,請一并參見圖8,為本發(fā)明實施例提供的一種確定單元的另一種結構示意圖,如圖8所示,所述確定單元13包括第二數(shù)據(jù)對比單元133和第二漏測確定單元134。圖8所示的實施例中,所述預設基準文件包括預設代碼覆蓋行數(shù),所述目標覆蓋率文件包括目標代碼覆蓋行數(shù)。
第二數(shù)據(jù)對比單元133,用于將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比;
具體的,所述第二數(shù)據(jù)對比單元133將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比。所述第二數(shù)據(jù)對比單元133通過將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比,確定當前版本的應用軟件是否達到預期效果。
第二漏測確定單元134,當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
具體的,當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,所述第二漏測確定單元134確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。這樣測試人員可通過目標代碼覆蓋行數(shù),查找未覆蓋的功能點,進而對所述當前版本的應用軟件的程序代碼進行修改。因此,能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
可選的,本發(fā)明實施例所采用的多個測試用例與獲得所述預設基準文件所采用的測試用例相同,其中,所述預設基準文件是通過采用所述多個測試用例對歷史版本的應用軟件進行測試所生成的,這樣更能夠體現(xiàn)出當前版本的應用軟件與是否涵蓋了歷史版本的應用軟件的功能點。
可選的,本發(fā)明實施例中的第一覆蓋數(shù)據(jù)和第二覆蓋數(shù)據(jù)可以通過代碼覆蓋技術進行獲得,例如安卓代碼覆蓋技術等。
可選的,所述應用軟件的回歸測試裝置還可以獲取到所述當前版本的應用軟件所包含的全部功能點,例如:菜單功能、設置功能、個人主頁、頂欄、廣告欄等,而這些功能點是由測試人員編輯歸納的。通過所述目標覆蓋率文件與預設基準文件的對比,所述確定的測試結果中還可以包括當前應用軟件所涵蓋了的功能點和未涵蓋的功能點。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
請參見圖9,為本發(fā)明實施例提供了一種電子設備的結構示意圖。如圖9所示,所述電子設備1000可以包括:至少一個處理器1001,例如CPU,至少一個網(wǎng)絡接口1004,用戶接口1003,存儲器1005,至少一個通信總線1002。其中,通信總線1002用于實現(xiàn)這些組件之間的連接通信。其中,用戶接口1003可以包括顯示屏(Display)、鍵盤(Keyboard),可選用戶接口1003還可以包括標準的有線接口、無線接口。網(wǎng)絡接口1004可選的可以包括標準的有線接口、無線接口(如WI-FI接口)。存儲器1005可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1005可選的還可以是至少一個位于遠離前述處理器1001的存儲裝置。如圖9所示,作為一種計算機存儲介質的存儲器1005中可以包括操作系統(tǒng)、網(wǎng)絡通信模塊、用戶接口模塊以及應用軟件的回歸測試程序。
在圖9所示的電子設備1000中,用戶接口1003主要用于測試用例的編輯、增加、刪除等操作;而處理器1001可以用于調用存儲器1005中存儲的應用軟件的回歸測試,并具體執(zhí)行以下操作:
獲取對當前版本的應用軟件進行回歸測試的多個測試用例;
通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件;
將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。
在一個實施例中,所述多個測試用例包含第一測試用例和第二測試用例。
在一個實施例中,所述處理器1001在執(zhí)行獲取對當前版本的應用軟件進行回歸測試的多個測試用例,具體執(zhí)行以下步驟:
獲取用于識別所述多個測試用例的腳本文件;
解析所述腳本文件,確定所述腳本文件對應的用例標識;
根據(jù)所述用例標識查找相應的測試用例。
在一個實施例中,所述處理器1001在執(zhí)行通過采用所述多個測試用例對所述當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,具體執(zhí)行以下步驟:
通過采用所述第一測試用例對所述當前版本的應用軟件的回歸測試,生成第一覆蓋數(shù)據(jù);
通過采用所述第二測試用例對所述當前版本的應用軟件的回歸測試,生成第二覆蓋數(shù)據(jù);
將所述第一覆蓋數(shù)據(jù)和所述第二覆蓋數(shù)據(jù)進行合并,生成目標覆蓋率文件。
在一個實施例中,預設基準文件包括預設代碼覆蓋率,所述目標覆蓋率文件包括目標代碼覆蓋率;
所述處理器1001在執(zhí)行將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果,具體執(zhí)行以下步驟:
將所述目標代碼覆蓋率和所述預設代碼覆蓋率進行對比;
當所述目標代碼覆蓋率小于所述預設代碼覆蓋率時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
在一個實施例中,所述預設基準文件包括預設代碼覆蓋行數(shù),所述目標覆蓋率文件包括目標代碼覆蓋行數(shù);
所述處理器1001在執(zhí)行將所述目標覆蓋率文件與預設基準文件進行對比,并確定測試結果,具體執(zhí)行以下步驟:
將所述目標代碼覆蓋行數(shù)和所述預設代碼覆蓋行數(shù)進行對比;
當所述目標代碼覆蓋行數(shù)小于所述預設代碼覆蓋行數(shù)時,確定對所述當前版本的應用軟件的回歸測試出現(xiàn)漏測。
在本發(fā)明實施例中,通過獲取多個測試用例,并采用多個測試用例對當前版本的應用軟件的回歸測試,生成目標覆蓋率文件,將目標覆蓋率文件與預設基準文件進行對比,并確定測試結果。這樣可以獲取全部測試用例對當前版本的應用軟件的回歸效果,并能夠及時獲知對應用軟件的回歸測試結果,進而提高了對應用軟件回歸測試的有效性。
本發(fā)明實施例中所述模塊或單元,可以通過通用集成電路,例如CPU(Central Processing Unit,中央處理器),或通過ASIC(Application Specific Integrated Circuit,專用集成電路)來實現(xiàn)。
本發(fā)明實施例方法中的步驟可以根據(jù)實際需要進行順序調整、合并和刪減。
本發(fā)明實施例終端中的模塊或單元可以根據(jù)實際需要進行合并、劃分和刪減。
本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權利范圍,因此依本發(fā)明權利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。