一種智能移動終端內(nèi)存自動化測試方法與裝置制造方法
【專利摘要】本發(fā)明公開了一種智能移動終端內(nèi)存自動化測試方法,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,包括智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定和單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定兩部分,保證了內(nèi)存泄露測試的全面性,而且可以設(shè)置每次測試次數(shù)和記錄內(nèi)存值的頻率,可以進(jìn)行更大強(qiáng)度的內(nèi)存測試,更大程度的保證了使用Android操作系統(tǒng)的智能移動終端的內(nèi)存相關(guān)的質(zhì)量。整個測試過程為全自動過程,測試過程中無需人員參與,測試結(jié)束后自動生成測試結(jié)果報告,極大的提高了內(nèi)存測試的效率。
【專利說明】一種智能移動終端內(nèi)存自動化測試方法與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能移動終端的應(yīng)用【技術(shù)領(lǐng)域】,特別涉及一種智能移動終端內(nèi)存自動化測試方法與裝置。
【背景技術(shù)】
[0002]現(xiàn)在支持Android操作系統(tǒng)的智能移動終端軟件功能越來越強(qiáng)大,更新速度更快更頻繁,對智能移動終端內(nèi)存的占用和消耗也是越來越大。經(jīng)常出現(xiàn)由于智能移動終端內(nèi)存問題直接導(dǎo)致智能移動終端卡頓、RAM占用居高不下,或者明明已經(jīng)卸載了很多軟件了還是沒辦法降低RAM占用率,甚至直接導(dǎo)致智能移動終端重啟,諸如以上現(xiàn)象都嚴(yán)重的影響了智能移動終端的用戶體驗(yàn),給智能移動終端的品牌和信譽(yù)帶來非常消極的負(fù)面影響,所以現(xiàn)在智能移動終端內(nèi)存測試是智能移動終端測試項(xiàng)中必不可少的一項(xiàng)。
[0003]現(xiàn)有的智能移動終端內(nèi)存測試技術(shù)往往都是通過人工手動的主動去進(jìn)行一些內(nèi)存相關(guān)的自由測試,由于人工的精力有限,進(jìn)行的內(nèi)存測試往往都不是很全面,而且測試深度也不是很深,只是做到最基本的內(nèi)存測試,這很難全面徹底的解決由于智能移動終端內(nèi)存問題而導(dǎo)致的卡頓和重啟等等問題,目前亟待一種能夠自動化和智能化測試智能移動終端內(nèi)存的方法出現(xiàn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的第一個目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種智能移動終端內(nèi)存自動化測試方法,該發(fā)明公開了一種自動測試使用Android操作系統(tǒng)的智能移動終端是否存在內(nèi)存泄露問題的系統(tǒng)化方法,主要通過測試使用Android操作系統(tǒng)的智能移動終端的常駐內(nèi)存和單個應(yīng)用是否存在內(nèi)存泄露來判斷智能移動終端是否存在內(nèi)存泄露問題,保證使用Android操作系統(tǒng)的智能移動終端在內(nèi)存方面的質(zhì)量問題,而且極大的提高了內(nèi)存測試的效率。
[0005]本發(fā)明的另一個目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種智能移動終端內(nèi)存自動化測試裝置。
[0006]本發(fā)明的第一個目的通過下述技術(shù)方案實(shí)現(xiàn):
[0007]一種智能移動終端內(nèi)存自動化測試方法,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,包括下列步驟:
[0008]S1、智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題;
[0009]S2、智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
[0010]優(yōu)選的,所述步驟SI具體為:
[0011]S11、進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù);
[0012]S12、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件;
[0013]S13、模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值;
[0014]S14、設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,重復(fù)步驟Sll至步驟S13,進(jìn)行m次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值;
[0015]S15、根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐服務(wù)內(nèi)存占用總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
[0016]優(yōu)選的,所述步驟S2具體為:
[0017]S21、進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài);
[0018]S22、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件;
[0019]S23、模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值;
[0020]S24、設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,重復(fù)步驟S21至步驟S23,進(jìn)行η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值;
[0021]S25、對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsysmeminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄;
[0022]S26、將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
[0023]優(yōu)選的,
[0024]所述步驟SI中Android操作系統(tǒng)移動終端的后臺常駐服務(wù)包括:system、com.android, systemui> com.android, phone、android, process, contacts、android,process, safer、com.0pp0.preventmode、com.0pp0.exserviceui> android, process.TrafficMonitor> com.android, dialer。
[0025]優(yōu)選的,
[0026]所述步驟S2中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動操作在內(nèi)的模擬人為操作智能移動終端的動作。
[0027]優(yōu)選的,所述步驟S15中常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
[0028]優(yōu)選的,所述步驟S26中單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
[0029]優(yōu)選的,所述對智能移動終端進(jìn)行模擬用戶隨機(jī)操作的特定次數(shù)t必須大于等于5000次,以滿足達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
[0030]優(yōu)選的,所述對智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m必須大于等于20次。
[0031]優(yōu)選的,所述對智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)η必須大于等于3次。
[0032]本發(fā)明的另一個目的通過以下技術(shù)方案實(shí)現(xiàn):
[0033]一種智能移動終端內(nèi)存自動化測試裝置,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,包括下列模塊:
[0034]常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊,該模塊針對Android操作系統(tǒng)智能移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題;
[0035]單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊,該模塊針對Android操作系統(tǒng)智能移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
[0036]優(yōu)選的,所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊包括下列單元:
[0037]常駐服務(wù)的內(nèi)存泄露問題測試初始化單元,該單元用于進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù);
[0038]隨機(jī)模擬操作單元,該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件;
[0039]第一占用內(nèi)存值測試記錄單元,該單元用于模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shelldumpsys meminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值;
[0040]常駐服務(wù)內(nèi)存占用測試次數(shù)設(shè)置單元,該單元用于設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,并依次調(diào)用常駐服務(wù)的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第一占用內(nèi)存值測試記錄單元進(jìn)行!!!次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值;
[0041]常駐服務(wù)內(nèi)存泄露判定單元,該單元根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐內(nèi)存總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
[0042]優(yōu)選的,所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊包括下列單元:
[0043]單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元,該單元用于進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài);
[0044]隨機(jī)模擬操作單元,該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件;
[0045]第二占用內(nèi)存值測試記錄單元,該單元用于模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值;
[0046]單獨(dú)應(yīng)用內(nèi)存占用測試次數(shù)設(shè)置單元,該單元用于設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,并依次調(diào)用單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第二占用內(nèi)存值測試記錄單元進(jìn)行n次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值;
[0047]優(yōu)化清理后單獨(dú)應(yīng)用占用內(nèi)存獲取單元,該單元用于對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄;
[0048]單獨(dú)應(yīng)用內(nèi)存泄露判定單元,該單元將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
[0049]優(yōu)選的,
[0050]所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)移動終端的后臺常駐服務(wù)包括:system、android, process.TrafficMonitor λ com.android, systemu1、com.android, phone、android, process, contacts、android, process, safer、com.0pp0.preventmodeλ com.0pp0.exserviceu1、com.android, dialer。
[0051]優(yōu)選的,所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動操作在內(nèi)的模擬人為操作智能移動終端的動作。
[0052]優(yōu)選的,所述常駐服務(wù)內(nèi)存泄露判定單元中常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
[0053]優(yōu)選的,所述單獨(dú)應(yīng)用內(nèi)存泄露判定單元中單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
[0054]本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:
[0055](I)本發(fā)明中智能移動終端內(nèi)存自動化測試包括常駐服務(wù)的內(nèi)存泄露問題自動測試判定和單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定兩部分,保證了內(nèi)存泄露測試的全面性。
[0056](2)而且可以設(shè)置每次測試次數(shù)和記錄內(nèi)存值的頻率,可以進(jìn)行更大強(qiáng)度的內(nèi)存測試,更大程度的保證了使用Android操作系統(tǒng)的智能移動終端的內(nèi)存相關(guān)的質(zhì)量。
[0057](3)整個內(nèi)存泄露測試過程為全自動過程,測試過程中無需人員參與,測試結(jié)束后自動生成測試結(jié)果報告,極大的提高了內(nèi)存測試的效率。
【專利附圖】
【附圖說明】
[0058]圖1是本發(fā)明中一種智能移動終端內(nèi)存自動化測試方法流程圖;
[0059]圖2是本發(fā)明實(shí)施例一中智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定的步驟流程圖;
[0060]圖3是本發(fā)明實(shí)施例一中智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定的步驟流程圖。
【具體實(shí)施方式】
[0061]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0062]實(shí)施例一
[0063]內(nèi)存泄漏也稱作“存儲滲漏”,用動態(tài)存儲分配函數(shù)動態(tài)開辟的空間,在使用完畢后未釋放,結(jié)果導(dǎo)致一直占據(jù)該內(nèi)存單元。直到程序結(jié)束。(其實(shí)說白了就是該內(nèi)存空間使用完畢之后未回收)即所謂內(nèi)存泄漏。
[0064]內(nèi)存泄漏形象的比喻是“操作系統(tǒng)可提供給所有進(jìn)程的存儲空間正在被某個進(jìn)程榨干”,最終結(jié)果是程序運(yùn)行時間越長,占用存儲空間越來越多,最終用盡全部存儲空間,整個系統(tǒng)崩潰。所以“內(nèi)存泄漏”是從操作系統(tǒng)的角度來看的。這里的存儲空間并不是指物理內(nèi)存,而是指虛擬內(nèi)存大小,這個虛擬內(nèi)存大小取決于磁盤交換區(qū)設(shè)定的大小。由程序申請的一塊內(nèi)存,如果沒有任何一個指針指向它,那么這塊內(nèi)存就泄露了。
[0065]從用戶使用程序的角度來看,內(nèi)存泄漏本身不會產(chǎn)生什么危害,作為一般的用戶,根本感覺不到內(nèi)存泄漏的存在。真正有危害的是內(nèi)存泄漏的堆積,這會最終消耗盡系統(tǒng)所有的內(nèi)存。從這個角度來說,一次性內(nèi)存泄漏并沒有什么危害,因?yàn)樗粫逊e,而隱式內(nèi)存泄漏危害性則非常大,因?yàn)檩^之于常發(fā)性和偶發(fā)性內(nèi)存泄漏它更難被檢測到。
[0066]請參見圖1,圖1是本發(fā)明中公開的智能移動終端內(nèi)存自動化測試方法流程圖。圖1所示的智能移動終端內(nèi)存自動化測試方法,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,具體包括下列步驟:
[0067]步驟S1、智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題。
[0068]本實(shí)施例中針對的后臺常駐服務(wù)包括(但不局限于以下的列舉):
[0069]system、android.process, safer、android.process.TrafficMonitor、com.android.phone、com.android, systemu1、android, process.contacts、com.0pp0.preventmodeλ com.0pp0.exserviceu1、com.android, dialer。
[0070]如圖2中智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定的步驟流程圖所示,將該步驟SI再做具體細(xì)化,又包括如下步驟:
[0071]S11、進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù)。
[0072]S12、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
[0073]S13、模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值。
[0074]S14、設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,重復(fù)步驟Sll至步驟S13,進(jìn)行m次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值。
[0075]S15、根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐服務(wù)內(nèi)存占用總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
[0076]上述的常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為:如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
[0077]其中,對智能移動終端進(jìn)行模擬用戶隨機(jī)操作的特定次數(shù)t必須大于等于5000次,以滿足達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。在該實(shí)施例中,選取t等于5000次。
[0078]對智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m必須大于等于20次,以滿足達(dá)到反應(yīng)常駐服務(wù)內(nèi)存占用總體趨勢的基本要求。在該實(shí)施例中,選取m等于20次。
[0079]步驟S2、智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具(其中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動等操作在內(nèi)的模擬人為操作智能移動終端的動作),對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
[0080]如圖3中智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定的步驟流程圖所示,將該步驟S2再做具體細(xì)化,又包括如下步驟:
[0081]S21、進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài)。
[0082]S22、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
[0083]S23、模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值。
[0084]S24、設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,重復(fù)步驟S21至步驟S23,進(jìn)行η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值。
[0085]其中,對智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)η必須大于等于3次,在本實(shí)施例一中選取η等于3次。
[0086]S25、對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsysmeminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄。
[0087]S26、將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
[0088]上述的單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為:如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
[0089]實(shí)施例二
[0090]本實(shí)施例公開了一種智能移動終端內(nèi)存自動化測試裝置,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,包括下列模塊:
[0091]一、常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊,
[0092]該模塊針對Android操作系統(tǒng)智能移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題。
[0093]所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)移動終端的后臺常駐服務(wù)包括:system、android, process.TrafficMonitor λ com.android, systemu1、com.android, phone、android, process, contacts、android, process, safer、com.0pp0.preventmodeλ com.0pp0.exserviceu1、com.android, dialer。
[0094]其中,所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊包括下列單元:
[0095]Al、常駐服務(wù)的內(nèi)存泄露問題測試初始化單元,
[0096]該單元用于進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù)。
[0097]A2、隨機(jī)模擬操作單元,
[0098]該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
[0099]A3、第一占用內(nèi)存值測試記錄單元,
[0100]該單元用于模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值。
[0101]A4、常駐服務(wù)內(nèi)存占用測試次數(shù)設(shè)置單元,
[0102]該單元用于設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,并依次調(diào)用常駐服務(wù)的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第一占用內(nèi)存值測試記錄單元進(jìn)行m次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值。
[0103]A5、常駐服務(wù)內(nèi)存泄露判定單元,
[0104]該單元根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐內(nèi)存總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
[0105]所述的常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為:如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
[0106]其中,對智能移動終端進(jìn)行模擬用戶隨機(jī)操作的特定次數(shù)t必須大于等于5000次,以滿足達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。在該實(shí)施例二中,選取t等于5000次。
[0107]對智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m必須大于等于20次,以滿足達(dá)到反應(yīng)常駐服務(wù)內(nèi)存占用總體趨勢的基本要求。在該實(shí)施例二中,選取m等于20次。
[0108]二、單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊,
[0109]該模塊針對Android操作系統(tǒng)智能移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
[0110]所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動操作在內(nèi)的模擬人為操作智能移動終端的動作。
[0111]其中,所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊包括下列單元:
[0112]B1、單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元,
[0113]該單元用于進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài)。
[0114]B2、隨機(jī)模擬操作單元,
[0115]該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
[0116]B3、第二占用內(nèi)存值測試記錄單元,
[0117]該單元用于模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值;
[0118]B4、單獨(dú)應(yīng)用內(nèi)存占用測試次數(shù)設(shè)置單元,
[0119]該單元用于設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,并依次調(diào)用單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第二占用內(nèi)存值測試記錄單元進(jìn)行η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值。
[0120]其中,對智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)η必須大于等于3次,在本實(shí)施例二中選取η等于3次。
[0121]Β5、優(yōu)化清理后單獨(dú)應(yīng)用占用內(nèi)存獲取單元,
[0122]該單元用于對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shelldumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄。
[0123]B6、單獨(dú)應(yīng)用內(nèi)存泄露判定單元,
[0124]該單元將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
[0125]所述的單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
[0126]值得注意的是,上述系統(tǒng)實(shí)施例中,所包括的各個裝置和單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各裝置和單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
[0127]上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種智能移動終端內(nèi)存自動化測試方法,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,其特征在于,包括下列步驟: 51、智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題; 52、智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,該步驟針對Android操作系統(tǒng)移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
2.根據(jù)權(quán)利要求1所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于,所述步驟SI具體為: 511、進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù); 512、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件; 513、模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值; 514、設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,重復(fù)步驟Sll至步驟S13,進(jìn)行m次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值; 515、根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐服務(wù)內(nèi)存占用總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
3.根據(jù)權(quán)利要求1所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于,所述步驟S2具體為: 521、進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài); 522、調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件; 523、模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adbshell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值; 524、設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,重復(fù)步驟S21至步驟S23,進(jìn)行η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值; 525、對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adbshell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄; 526、將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
4.根據(jù)權(quán)利要求1所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于, 所述步驟S1中Android操作系統(tǒng)移動終端的后臺常駐服務(wù)包括:system、com.android, systemu1、 com.android.phone、 android.process.contacts、 android,process, safer、com.0pp0.preventmode、com.0pp0.exserviceu1、android.process.TrafficMonitor、com.android, dialer。
5.根據(jù)權(quán)利要求1所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述步驟S2中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動操作在內(nèi)的模擬人為操作智能移動終端的動作。
6.根據(jù)權(quán)利要求2所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述步驟S15中常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
7.根據(jù)權(quán)利要求3所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述步驟S26中單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
8.根據(jù)權(quán)利要求1至7任一所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述對智能移動終端進(jìn)行模擬用戶隨機(jī)操作的特定次數(shù)t必須大于等于5000次,以滿足達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件。
9.根據(jù)權(quán)利要求1至7任一所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述對智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m必須大于等于20次。
10.根據(jù)權(quán)利要求1至7任一所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述對智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)η必須大于等于3次。
11.一種智能移動終端內(nèi)存自動化測試裝置,應(yīng)用于使用Android操作系統(tǒng)的智能移動終端,其特征在于,包括下列模塊: 常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊,該模塊針對Android操作系統(tǒng)智能移動終端的后臺常駐服務(wù),通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后根據(jù)Android操作系統(tǒng)后臺常駐服務(wù)內(nèi)存占用記錄的趨勢對比,判定智能移動終端中Android操作系統(tǒng)后臺常駐服務(wù)的內(nèi)存是否存在泄露問題; 單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊,該模塊針對Android操作系統(tǒng)智能移動終端的各個常規(guī)應(yīng)用采用遍歷檢測的方法,通過調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端各個應(yīng)用進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件,然后將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,逐個依次判定智能移動終端中Android操作系統(tǒng)各個常規(guī)應(yīng)用的內(nèi)存是否存在泄露問題。
12.根據(jù)權(quán)利要求11所述的一種智能移動終端內(nèi)存自動化測試裝置,其特征在于,所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊包括下列單元: 常駐服務(wù)的內(nèi)存泄露問題測試初始化單元,該單元用于進(jìn)入常駐服務(wù)的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,只保留系統(tǒng)后臺常駐服務(wù); 隨機(jī)模擬操作單元,該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定m次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件; 第一占用內(nèi)存值測試記錄單元,該單元用于模擬用戶對智能移動終端進(jìn)行特定m次數(shù)隨機(jī)操作結(jié)束后,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsysmeminfo命令來獲取智能移動終端的常駐服務(wù)占用的內(nèi)存值,完成一次常駐服務(wù)的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值; 常駐服務(wù)內(nèi)存占用測試次數(shù)設(shè)置單元,該單元用于設(shè)置智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試次數(shù)m,并依次調(diào)用常駐服務(wù)的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第一占用內(nèi)存值測試記錄單元進(jìn)行m次智能移動終端常駐服務(wù)的內(nèi)存泄露問題自動測試并記錄常駐服務(wù)占用的內(nèi)存值; 常駐服務(wù)內(nèi)存泄露判定單元,該單元根據(jù)m次常駐服務(wù)內(nèi)存泄露問題自動測試記錄的內(nèi)存占用值繪制常駐內(nèi)存總體趨勢圖,然后根據(jù)常駐服務(wù)內(nèi)存占用總體趨勢圖結(jié)合常駐服務(wù)內(nèi)存泄露判定規(guī)則來判斷智能移動終端常駐內(nèi)存是否存在內(nèi)存泄露問題。
13.根據(jù)權(quán)利要求11所述的一種智能移動終端內(nèi)存自動化測試裝置,其特征在于,所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊包括下列單元: 單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元,該單元用于進(jìn)入單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定,對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,關(guān)閉系統(tǒng)的非常駐服務(wù),保證智能移動終端系統(tǒng)達(dá)到測試要求的最佳狀態(tài); 隨機(jī)模擬操作單元,該單元用于調(diào)用Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具,對智能移動終端進(jìn)行特定t次數(shù)模擬用戶隨機(jī)操作以達(dá)到內(nèi)存泄露問題出現(xiàn)的操作條件; 第二占用內(nèi)存值測試記錄單元,該單元用于模擬用戶對智能移動終端進(jìn)行特定t次數(shù)隨機(jī)操作結(jié)束后,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值,完成一次單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試的同時并且記錄內(nèi)存的占用值; 單獨(dú)應(yīng)用內(nèi)存占用測試次數(shù)設(shè)置單元,該單元用于設(shè)置智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試次數(shù)n,并依次調(diào)用單獨(dú)應(yīng)用的內(nèi)存泄露問題測試初始化單元、隨機(jī)模擬操作單元、第二占用內(nèi)存值測試記錄單元進(jìn)行η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試并記錄單獨(dú)應(yīng)用占用的內(nèi)存值; 優(yōu)化清理后單獨(dú)應(yīng)用占用內(nèi)存獲取單元,該單元用于對智能移動終端系統(tǒng)進(jìn)行優(yōu)化清理,然后通過調(diào)用adb shell dumpsys meminfo命令來獲取智能移動終端的單獨(dú)應(yīng)用占用的內(nèi)存值并記錄; 單獨(dú)應(yīng)用內(nèi)存泄露判定單元,該單元將經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值和之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值進(jìn)行對比,根據(jù)單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則判斷智能移動終端單獨(dú)應(yīng)用是否存在內(nèi)存泄露問題。
14.根據(jù)權(quán)利要求11所述的一種智能移動終端內(nèi)存自動化測試裝置,其特征在于, 所述常駐服務(wù)的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)移動終端的后臺常駐月艮務(wù)包括:system> android, process.TrafficMonitor> com.android, systemu1、com.android, phone、android, process, contacts、android.process, safer、com.0pp0.preventmode、com.0pp0.exserviceu1、com.android, dialer。
15.根據(jù)權(quán)利要求11所述的一種智能移動終端內(nèi)存自動化測試裝置,其特征在于: 所述單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試判定模塊中Android操作系統(tǒng)自帶的隨機(jī)模擬用戶操作工具為Monkey,該工具能驅(qū)動智能移動終端進(jìn)行包括點(diǎn)擊、長按、滑動操作在內(nèi)的模擬人為操作智能移動終端的動作。
16.根據(jù)權(quán)利要求12所述的一種智能移動終端內(nèi)存自動化測試裝置,其特征在于: 所述常駐服務(wù)內(nèi)存泄露判定單元中常駐服務(wù)內(nèi)存泄露判定規(guī)則規(guī)定為如果常駐服務(wù)內(nèi)存占用總體趨勢圖中存在某項(xiàng)后臺常駐服務(wù)的內(nèi)存占用是一直增長狀態(tài)則判定存在常駐內(nèi)存泄露問題,如果所有后臺常駐服務(wù)只是起伏但總體持水平則判定后臺常駐服務(wù)不存在內(nèi)存泄露問題。
17.根據(jù)權(quán)利要求13所述的一種智能移動終端內(nèi)存自動化測試方法,其特征在于: 所述單獨(dú)應(yīng)用內(nèi)存泄露判定單元中單獨(dú)應(yīng)用內(nèi)存泄露判定規(guī)則規(guī)定為如果經(jīng)過η次測試完并進(jìn)行優(yōu)化清理后記錄的單獨(dú)應(yīng)用占用的內(nèi)存值比之前記錄的η次智能移動終端單獨(dú)應(yīng)用的內(nèi)存泄露問題自動測試獲取的單獨(dú)應(yīng)用占用的內(nèi)存值中任何一次大則判定測試的單獨(dú)應(yīng)用存在內(nèi)存泄露問題。
【文檔編號】G06F11/36GK104317702SQ201410519757
【公開日】2015年1月28日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】何曉俊, 張星龍 申請人:廣東歐珀移動通信有限公司