本發(fā)明涉及系統(tǒng)測試技術(shù)領(lǐng)域,尤其涉及一種終端并發(fā)測試方法及裝置。
背景技術(shù):
自動化測試是在計算機上運行自動化測試程序,自動化測試程序通過多個控制鏈路對被測設(shè)備和輔助測試設(shè)備進行配置和信息查看,建立被測設(shè)備和輔助測試設(shè)備的通信鏈路,控制計算機上的多個網(wǎng)卡進行測試幀的收發(fā),并完成測試結(jié)果的自動獲取與判斷,最終得出該測試程序的測試結(jié)果。目前已有的一些自動化測試框架,能夠執(zhí)行uiautomator測試腳本、monkeyrunner腳本等,主要側(cè)重于用戶界面方面。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:手機終端中前臺、后臺和中斷這3種情況同時并發(fā)時容易發(fā)生問題,但現(xiàn)有的自動化測試框架不能覆蓋到前臺、后臺和中斷并發(fā)的場景,而這些場景對于終端用戶是非常關(guān)鍵的,也更容易出現(xiàn)不可預(yù)知的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明提供的一種終端并發(fā)測試方法及裝置,能夠提供自由組合前臺、后臺及中斷的測試場景配置,檢測前臺、后臺及中斷同時并發(fā)時可能出現(xiàn)的問題。
第一方面,本發(fā)明提供一種終端并發(fā)測試方法,所述方法包括:
在測試終端中添加所有前臺測試用例;
新建多個配置文件,其中所述配置文件中包括待測試的后臺應(yīng)用的配置和/或待測試的中斷程序的配置;
從所添加的所有前臺測試用例中選擇待測試的前臺測試用例,并選擇一個 配置文件以構(gòu)建待測試場景;
基于所述待測試場景對所述測試終端進行并發(fā)測試。
可選地,所述基于所述待測試場景對所述測試終端進行并發(fā)測試包括:根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,
控制測試終端執(zhí)行所述測試場景中的前臺測試用例,測試所述測試終端是否出現(xiàn)異常。
可選地,所述基于所述待測試場景對所述測試終端進行并發(fā)測試包括:
控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,
根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述基于所述待測試場景對所述測試終端進行并發(fā)測試包括:
根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,
控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,
根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述構(gòu)建測試場景包括:設(shè)置所述待測試的前臺測試用例的運行時間及順序。
可選地,所述構(gòu)建測試場景包括:設(shè)置所述待測試的中斷程序的執(zhí)行順序。
可選地,所述根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端包括:控制所述輔助終端將所有所述中斷程序在所述待測試的前臺測試用例的運行時間內(nèi),按照隨機的時間以及所述待測試的中斷程序的執(zhí)行順序觸發(fā)給所述測試終端。
第二方面,本發(fā)明提供一種終端并發(fā)測試裝置,所述裝置包括:
添加單元,用于在測試終端中添加所有前臺測試用例;
新建單元,用于新建多個配置文件,其中所述配置文件中包括待測試的后臺應(yīng)用的配置和/或待測試的中斷程序的配置;
構(gòu)建單元,用于從所添加的所有前臺測試用例中選擇待測試的前臺測試用例,并選擇一個配置文件以構(gòu)建待測試場景;
測試單元,用于基于所述待測試場景對所述測試終端進行并發(fā)測試。
可選地,所述測試單元,用于根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,控制測試終端執(zhí)行所述測試場景中的前臺測試用例,測試所述測試終端是否出現(xiàn)異常。
可選地,所述測試單元,用于控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述測試單元,用于根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述構(gòu)建單元,用于設(shè)置所述待測試的前臺測試用例的運行時間及順序。
可選地,所述構(gòu)建單元,用于設(shè)置所述待測試的中斷程序的執(zhí)行順序。
可選地,所述測試單元,用于控制所述輔助終端將所有所述中斷程序在所述待測試的前臺測試用例的運行時間內(nèi),按照隨機的時間以及所述待測試的中斷程序的執(zhí)行順序觸發(fā)給所述測試終端。
本發(fā)明實施例提供的一種終端并發(fā)測試方法及裝置,能夠提供自由組合前臺、后臺及中斷的測試場景配置,一方面能夠覆蓋到前臺、后臺和中斷并發(fā)的場景,檢測前臺、后臺及中斷同時并發(fā)時可能出現(xiàn)的問題;另一方面支持后臺、中斷及前臺的可配置,做到最大化的自由組合,可以覆蓋更多的場景。
附圖說明
圖1為本發(fā)明一實施例終端并發(fā)測試方法的流程圖;
圖2為本發(fā)明另一實施例終端并發(fā)測試方法的詳細流程圖;
圖3為本發(fā)明一實施例生成的測試報告的結(jié)構(gòu)示意圖;
圖4為本發(fā)明一實施例終端并發(fā)測試裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明提供一種終端并發(fā)測試方法,如圖1所示,所述方法包括:
s11、在測試終端中添加所有前臺測試用例;
s12、新建多個配置文件,其中所述配置文件中包括待測試的后臺應(yīng)用的配置和/或待測試的中斷程序的配置;
s13、從所添加的所有前臺測試用例中選擇待測試的前臺測試用例,并選擇一個配置文件以構(gòu)建待測試場景;
s14、基于所述待測試場景對所述測試終端進行并發(fā)測試。
本發(fā)明實施例提供的一種終端并發(fā)測試方法,能夠提供自由組合前臺、后 臺及中斷的測試場景配置,一方面能夠覆蓋到前臺、后臺和中斷并發(fā)的場景,檢測前臺、后臺及中斷同時并發(fā)時可能出現(xiàn)的問題;另一方面支持后臺、中斷及前臺的可配置,做到最大化的自由組合,可以覆蓋更多的場景。
具體地,本發(fā)明提供的一種終端并發(fā)測試方法的具體流程如附圖2所示,
步驟s21:配置測試設(shè)備信息
這一步主要是在pc端的測試系統(tǒng)上做一些配置,包括配置哪臺手機是測試手機,哪臺手機是輔助手機,測試手機的電話號碼,輔助手機的電話號碼,發(fā)送測試報告的具體人員的郵箱等。測試手機及輔助手機通過usb與pc端連接。
步驟s22:添加case(測試用例)
在pc端的測試系統(tǒng)上添加要進行測試的所有前臺自動化case,所述case可以支持uiautomator、instrumentation、monkeyrunner等腳本類型。
步驟s23:新建后臺及中斷配置文件
在pc端的測試系統(tǒng)上選擇測試系統(tǒng)中已經(jīng)支持的中斷和后臺,可以新建多個后臺及中斷配置文件,其中每個后臺及中斷配置文件中包括中斷執(zhí)行的順序及次數(shù)等。其中一個后臺及中斷配置文件中可以包括多個后臺及多個中斷。
步驟s24:構(gòu)建待測試場景
在pc端的測試系統(tǒng)上構(gòu)建要測試的場景,其中構(gòu)建測試場景包括選擇在該測試場景下要進行測試的前臺自動化case,指定每個case要運行的次數(shù)及時間等。構(gòu)建測試場景還包括在步驟s23中新建的多個后臺及中斷配置文件中選擇一個后臺及中斷配置文件作為該測試場景的后臺及中斷配置文件。此外,構(gòu)建測試場景還包括設(shè)置場景名稱,設(shè)置場景所屬手機類型、設(shè)置場景描述、設(shè)置場景測試完畢后自動發(fā)送郵件的人員名單、以及設(shè)置場景結(jié)束時間等。測試系統(tǒng)會檢查所有配置信息是否正確,如果配置有誤,則會提示用戶重新進行配置; 如果配置正確則開始測試。例如,當(dāng)測試系統(tǒng)發(fā)現(xiàn)發(fā)送測試報告的具體人員的郵箱錯誤時,則會提醒用戶重新進行配置。
步驟s25:判斷測試場景的case列表中是否有要測試的case,當(dāng)有要進行測試的case時,執(zhí)行步驟s26,判斷后臺及中斷配置文件中是否有后臺程序。當(dāng)沒有要進行測試的case時,即測試場景中所有要測試的case都已經(jīng)測試完,則執(zhí)行步驟s30,生成測試報告。
步驟s26:判斷后臺及中斷配置文件中是否有后臺程序
pc端上的測試系統(tǒng)檢查測試場景的后臺及中斷配置文件中是否有后臺程序,如果有,則執(zhí)行步驟s27,執(zhí)行后臺應(yīng)用;否則執(zhí)行步驟s28,執(zhí)行case。
步驟s27:執(zhí)行后臺應(yīng)用
測試系統(tǒng)控制測試手機開啟所述后臺程序。當(dāng)測試場景的后臺及中斷配置文件中有多個后臺時,則測試系統(tǒng)控制測試手機同時開啟所述多個后臺。測試系統(tǒng)會通過socket或者短信2種方式控制測試手機,在測試手機中會安裝一個agent,監(jiān)聽控制命令,一旦監(jiān)聽到,則會實際執(zhí)行操作。
步驟s28:執(zhí)行case
pc端上的測試系統(tǒng)會取出測試場景中的所有要進行測試的case依次進行測試。具體地,對于某一個具體的要進行測試的case,當(dāng)測試系統(tǒng)讀取到當(dāng)前要測試的該case時,測試系統(tǒng)發(fā)送控制指令給測試手機,控制測試手機開啟該前臺要測試的case。
步驟s29:輔助手機執(zhí)行中斷
在測試手機的前臺case執(zhí)行過程中,測試系統(tǒng)將后臺及中斷配置文件中的中斷在所述前臺case執(zhí)行的時間段內(nèi),按隨機時間進行分配,當(dāng)時間到達某個中斷的執(zhí)行時間時,測試系統(tǒng)發(fā)送指令給輔助手機,控制輔助手機對測試手機產(chǎn)生 所述中斷。例如當(dāng)時間到達執(zhí)行的中斷為打電話時,測試系統(tǒng)發(fā)送對應(yīng)中斷為打電話的輔助命令給輔助手機,在輔助手機中會安裝一個agent,用于監(jiān)聽輔助命令,當(dāng)輔助手機監(jiān)聽到對應(yīng)中斷為打電話的輔助命令時,輔助手機給測試打電話,形成所述打電話的中斷。其中中斷還可以為發(fā)短信、發(fā)送彩信息等。測試系統(tǒng)通過socket(套接字)或者短信的方式控制輔助手機。
當(dāng)測試場景中的一個case測試結(jié)束后,則返回步驟s25,繼續(xù)對測試場景中的case進行測試,直至測試場景中所有的case都測試完,則執(zhí)行步驟s30,生成測試報告。
步驟s30:產(chǎn)生測試報告
當(dāng)測試場景中的所有case都測試結(jié)束后生成測試報告,測試報告包括每個case執(zhí)行的開始時間、結(jié)束時間、case執(zhí)行過程中進來的中斷名稱和中斷發(fā)生時間,執(zhí)行這個case過程中手機是否出現(xiàn)異常等,測試報告如附圖3所示。所述測試系統(tǒng)將得到的測試報告發(fā)送到具體需要的人員的郵箱中。
本發(fā)明實施例還提供一種終端并發(fā)測試裝置,如圖4所示,所述裝置包括:
添加單元41,用于在測試終端中添加所有前臺測試用例;
新建單元42,用于新建多個配置文件,其中所述配置文件中包括待測試的后臺應(yīng)用的配置和/或待測試的中斷程序的配置;
構(gòu)建單元43,用于從所添加的所有前臺測試用例中選擇待測試的前臺測試用例,并選擇一個配置文件以構(gòu)建待測試場景;
測試單元44,用于基于所述待測試場景對所述測試終端進行并發(fā)測試。
本發(fā)明實施例提供的一種終端并發(fā)測試裝置,能夠提供自由組合前臺、后臺及中斷的測試場景配置,一方面能夠覆蓋到前臺、后臺和中斷并發(fā)的場景,檢測前臺、后臺及中斷同時并發(fā)時可能出現(xiàn)的問題;另一方面支持后臺、中斷 及前臺的可配置,做到最大化的自由組合,可以覆蓋更多的場景。
可選地,所述測試單元44,用于根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,控制測試終端執(zhí)行所述測試場景中的前臺測試用例,測試所述測試終端是否出現(xiàn)異常。
可選地,所述測試單元44,用于控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述測試單元44,用于根據(jù)所述配置文件中待測試的后臺應(yīng)用的配置,控制測試終端執(zhí)行對應(yīng)后臺程序,控制測試終端執(zhí)行所述待測試場景中的前臺測試用例,根據(jù)所述配置文件中待測試的中斷程序的配置,控制輔助終端將對應(yīng)中斷程序觸發(fā)給所述測試終端,測試所述測試終端是否出現(xiàn)異常。
可選地,所述構(gòu)建單元43,用于設(shè)置所述待測試的前臺測試用例的運行時間及順序。
可選地,所述構(gòu)建單元43,用于設(shè)置所述待測試的中斷程序的執(zhí)行順序。
可選地,所述測試單元44,用于控制所述輔助終端將所有所述中斷程序在所述待測試的前臺測試用例的運行時間內(nèi),按照隨機的時間以及所述待測試的中斷程序的執(zhí)行順序觸發(fā)給所述測試終端。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。