一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法
【專利摘要】本發(fā)明公開了一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其實(shí)現(xiàn)過程為:首先設(shè)置網(wǎng)絡(luò)環(huán)境,即建立模擬的網(wǎng)絡(luò),然后用安卓手機(jī)連接此網(wǎng)絡(luò);將手機(jī)連接到計(jì)算機(jī),在計(jì)算機(jī)段通過腳本控制進(jìn)行穩(wěn)定性測試,得到平均無故障時間這一可量化指標(biāo);自動保存并抓取全部日志,根據(jù)該日志進(jìn)行缺陷分析。該模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法與現(xiàn)有技術(shù)相比,可最大限度的發(fā)現(xiàn)安卓應(yīng)用在復(fù)雜網(wǎng)絡(luò)環(huán)境下的崩潰問題,測試自動化執(zhí)行完畢后可得出被測安卓應(yīng)用的穩(wěn)定性可量化指標(biāo),即平均無故障時間,并且自動保存了全部日志,為缺陷分析提供了可靠的依據(jù),實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【專利說明】
一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及系統(tǒng)測試技術(shù)領(lǐng)域,具體地說是一種實(shí)用性強(qiáng)、模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法。
【背景技術(shù)】
[0002]手機(jī)已經(jīng)成為人們?nèi)粘W(xué)習(xí)和生活中不可或缺的工具,當(dāng)今移動智能終端除了提供基本的語音通話和短信功能之外,也提供了各式各樣的軟件應(yīng)用功能,而且這些功能已經(jīng)成為終端設(shè)備新的賣點(diǎn)。隨著測試對象的復(fù)雜化,軟件系統(tǒng)測試目標(biāo)也有了根本性的改變,不僅僅要提供可以使用的功能,更要保證用戶獲取到的移動應(yīng)用服務(wù)是穩(wěn)定的、可靠的。因此,移動應(yīng)用穩(wěn)定性測試成為了必不可少的環(huán)節(jié)。
[0003 ] 對于安卓系統(tǒng)應(yīng)用的穩(wěn)定性測試方法來說,monkey是主要的測試工具。monkey是安卓系統(tǒng)中的一個命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實(shí)現(xiàn)對正在開發(fā)的安卓應(yīng)用程序進(jìn)行壓力測試。但是其缺點(diǎn)也是明顯的,一是遇到應(yīng)用崩潰會自動停止,無法持續(xù)測試,從而不能得出應(yīng)用的穩(wěn)定性指標(biāo),無法量化;二是工具本身并不能自動捕獲全部安卓系統(tǒng)日志,這樣會對之后的缺陷分析不利;三是工具并不能模擬復(fù)雜的網(wǎng)絡(luò)環(huán)境,而復(fù)雜的網(wǎng)絡(luò)環(huán)境是引起安卓應(yīng)用崩潰的重要原因。
[0004]鑒于此,現(xiàn)提供一種基于模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實(shí)用性強(qiáng)、模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法。
[0006]—種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其實(shí)現(xiàn)過程為:
首先設(shè)置網(wǎng)絡(luò)環(huán)境,即建立模擬的網(wǎng)絡(luò),然后用安卓手機(jī)連接此網(wǎng)絡(luò);
將手機(jī)連接到計(jì)算機(jī),在計(jì)算機(jī)段通過腳本控制進(jìn)行穩(wěn)定性測試,得到平均無故障時間這一可量化指標(biāo);
自動保存并抓取全部日志,根據(jù)該日志進(jìn)行缺陷分析。
[0007]所述網(wǎng)絡(luò)環(huán)境采用開源工具ATC,即Augmented Traffic Control部署在虛擬機(jī)上完成模擬,具體為:
首先在虛擬機(jī)中設(shè)置wifi熱點(diǎn)并開啟;
然后在該虛擬機(jī)中部署ATC ;
最后啟動ATC并設(shè)置網(wǎng)絡(luò)參數(shù)。
[0008]上述網(wǎng)絡(luò)參數(shù)具體包括:網(wǎng)絡(luò)帶寬的單位kpbs、延遲的單位ms、丟包率的單位百分比、錯報(bào)率的單位百分比、亂序率的單位百分比,且各個參數(shù)分為上行和下行,通過該網(wǎng)絡(luò)參數(shù)設(shè)置,模擬出包括2G、3G、4G、WiFi的網(wǎng)絡(luò)環(huán)境,并可模擬出信號很差、延遲很大、丟包率尚的異常情況。
[0009]獲取可量化指標(biāo)的具體過程為:使用python腳本控制monkey多次執(zhí)行,對安卓應(yīng)用進(jìn)行穩(wěn)定性測試,直至運(yùn)行完特定的時間,腳本自動統(tǒng)計(jì)崩潰次數(shù),從而得出被測安卓應(yīng)用的平均無故障時間:平均無故障時間=運(yùn)行總時間八崩潰次數(shù)+1),即在特定網(wǎng)絡(luò)環(huán)境下被測安卓應(yīng)用平均多長時間崩潰一次,并且腳本會自動記錄測試過程中所需的所有日志。
[0010]所述抓取日志是指抓取運(yùn)行過程中的monkey日志、1gcat日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志。
[00?1 ]所述1gcat日志是在python腳本每次調(diào)用monkey之前先執(zhí)行創(chuàng)建、清空和開始保存操作,每次穩(wěn)定性測試執(zhí)行完之后再結(jié)束命令;
monkey日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志則是通過testLogger.py腳本進(jìn)行控制實(shí)現(xiàn)的。
[0012]本發(fā)明的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,具有以下優(yōu)點(diǎn):
本發(fā)明提供的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,可最大限度的發(fā)現(xiàn)安卓應(yīng)用在復(fù)雜網(wǎng)絡(luò)環(huán)境下的崩潰問題,測試自動化執(zhí)行完畢后可得出被測安卓應(yīng)用的穩(wěn)定性可量化指標(biāo),即平均無故障時間,并且自動保存了全部日志,為缺陷分析提供了可靠的依據(jù),實(shí)用性強(qiáng),適用范圍廣泛,易于推廣。
【附圖說明】
[0013]附圖1為基于monkey的計(jì)算安卓應(yīng)用平均無故障時間示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。
[0015]為實(shí)現(xiàn)在復(fù)雜的網(wǎng)絡(luò)環(huán)境下測試安卓應(yīng)用的穩(wěn)定性,得出應(yīng)用的平均無故障時間,并且能自動抓取全部安卓日志,從而能夠更加便攜的進(jìn)行缺陷分析。本發(fā)明的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其實(shí)現(xiàn)過程為:
首先設(shè)置網(wǎng)絡(luò)環(huán)境,即建立模擬的網(wǎng)絡(luò),然后用安卓手機(jī)連接此網(wǎng)絡(luò);
將手機(jī)連接到計(jì)算機(jī),在計(jì)算機(jī)段通過腳本控制進(jìn)行穩(wěn)定性測試,得到平均無故障時間這一可量化指標(biāo);
自動保存并抓取全部日志,根據(jù)該日志進(jìn)行缺陷分析。
[0016]使用本專利測試方法,可最大限度的發(fā)現(xiàn)安卓應(yīng)用在復(fù)雜網(wǎng)絡(luò)環(huán)境下的崩潰問題,測試自動化執(zhí)行完畢后可得出被測安卓應(yīng)用的穩(wěn)定性可量化指標(biāo),即平均無故障時間,并且自動保存了全部日志,為缺陷分析提供了可靠的依據(jù)。
[0017]所述網(wǎng)絡(luò)環(huán)境采用開源工具ATC,即Augmented Traffic Control部署在虛擬機(jī)上完成模擬,虛擬機(jī)采用Ubuntu(12.04)版本,無線網(wǎng)卡是雷凌Ralink RT3070L芯片IlN150M USB無線網(wǎng)卡。具體為:
一、首先在虛擬機(jī)中設(shè)置wifi熱點(diǎn)并開啟,SP 安裝 hostapd 和 dhcpd ;
配置 hostapd 和 dhcpd ;
開啟wifi熱點(diǎn);
二、然后在該虛擬機(jī)中部署ATC; 三、最后啟動ATC并設(shè)置網(wǎng)絡(luò)參數(shù):
啟動ATC;
首先用手機(jī)連上ATC分享的wifi熱點(diǎn)。例如ATC所在的主機(jī)ip地址為:192.168.64.34,手機(jī)瀏覽器里訪問:http://192.168.6.1:8000;
上述網(wǎng)絡(luò)參數(shù)具體包括:網(wǎng)絡(luò)帶寬的單位kpbs、延遲的單位ms、丟包率的單位百分比、錯報(bào)率的單位百分比、亂序率的單位百分比,且各個參數(shù)分為上行和下行,通過該網(wǎng)絡(luò)參數(shù)設(shè)置,模擬出包括2G、3G、4G、WiFi的網(wǎng)絡(luò)環(huán)境,并可模擬出信號很差、延遲很大、丟包率高的異常情況。
[00? 8]如附圖1所示,獲取可量化指標(biāo)的具體過程為:使用python腳本控制monkey多次執(zhí)行,對安卓應(yīng)用進(jìn)行穩(wěn)定性測試,直至運(yùn)行完特定的時間,腳本自動統(tǒng)計(jì)崩潰次數(shù),從而得出被測安卓應(yīng)用的平均無故障時間:平均無故障時間=運(yùn)行總時間八崩潰次數(shù)+1),即在特定網(wǎng)絡(luò)環(huán)境下被測安卓應(yīng)用平均多長時間崩潰一次,并且腳本會自動記錄測試過程中所需的所有日志。
[0019]在附圖1中,用python腳本多次調(diào)用monkey命令,每次調(diào)用monkey命令執(zhí)行100次隨機(jī)點(diǎn)擊,持續(xù)執(zhí)行,如應(yīng)用崩潰則抓取日志繼續(xù)調(diào)用monkey命令,否則繼續(xù)執(zhí)行,直到執(zhí)行完30分鐘。執(zhí)行完畢后應(yīng)用崩潰2次,則平均無故障時間為30/(2+1)=10分鐘,即此安卓應(yīng)用在使用過程中平均每10分鐘崩潰一次。
[0020]所述抓取日志是指抓取運(yùn)行過程中的monkey日志、1gcat日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志。
[0021 ]所述1gcat日志是在python腳本每次調(diào)用monkey之前先執(zhí)行創(chuàng)建、清空和開始保存操作,每次穩(wěn)定性測試執(zhí)行完之后再結(jié)束命令;
monkey日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志則是通過testLogger.py腳本進(jìn)行控制實(shí)現(xiàn)的。
[0022]綜上,啟動穩(wěn)定性測試腳本之前先設(shè)置ATC參數(shù),生成wifi熱點(diǎn)來模擬復(fù)雜網(wǎng)絡(luò)環(huán)境,讓目標(biāo)手機(jī)連接此wifi熱點(diǎn)。然連接安卓手機(jī)到PC,在PC端執(zhí)行python腳本,即可開始穩(wěn)定性測試,執(zhí)行完畢后可得出在本次特定復(fù)雜網(wǎng)絡(luò)環(huán)境下被測安卓應(yīng)用的平均無故障時間,如有崩潰發(fā)生,則可根據(jù)monkey日志、1gcat日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志來進(jìn)行缺陷分析。
[0023]上述【具體實(shí)施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護(hù)范圍包括但不限于上述【具體實(shí)施方式】,任何符合本發(fā)明的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法的權(quán)利要求書的且任何所述技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,其實(shí)現(xiàn)過程為: 首先設(shè)置網(wǎng)絡(luò)環(huán)境,即建立模擬的網(wǎng)絡(luò),然后用安卓手機(jī)連接此網(wǎng)絡(luò); 將手機(jī)連接到計(jì)算機(jī),在計(jì)算機(jī)段通過腳本控制進(jìn)行穩(wěn)定性測試,得到平均無故障時間這一可量化指標(biāo); 自動保存并抓取全部日志,根據(jù)該日志進(jìn)行缺陷分析。2.根據(jù)權(quán)利要求1所述的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,所述網(wǎng)絡(luò)環(huán)境采用開源工具ATC,即Augmented Traffic Control部署在虛擬機(jī)上完成模擬,具體為: 首先在虛擬機(jī)中設(shè)置wifi熱點(diǎn)并開啟; 然后在該虛擬機(jī)中部署ATC; 最后啟動ATC并設(shè)置網(wǎng)絡(luò)參數(shù)。3.根據(jù)權(quán)利要求2所述的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,上述網(wǎng)絡(luò)參數(shù)具體包括:網(wǎng)絡(luò)帶寬的單位kpbs、延遲的單位ms、丟包率的單位百分比、錯報(bào)率的單位百分比、亂序率的單位百分比,且各個參數(shù)分為上行和下行,通過該網(wǎng)絡(luò)參數(shù)設(shè)置,模擬出包括2G、3G、4G、WiFi的網(wǎng)絡(luò)環(huán)境,并可模擬出信號很差、延遲很大、丟包率高的異常情況。4.根據(jù)權(quán)利要求1所述的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,獲取可量化指標(biāo)的具體過程為:使用python腳本控制monkey多次執(zhí)行,對安卓應(yīng)用進(jìn)行穩(wěn)定性測試,直至運(yùn)行完特定的時間,腳本自動統(tǒng)計(jì)崩潰次數(shù),從而得出被測安卓應(yīng)用的平均無故障時間:平均無故障時間=運(yùn)行總時間八崩潰次數(shù)+1),即在特定網(wǎng)絡(luò)環(huán)境下被測安卓應(yīng)用平均多長時間崩潰一次,并且腳本會自動記錄測試過程中所需的所有日志。5.根據(jù)權(quán)利要求1所述的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,所述抓取日志是指抓取運(yùn)行過程中的monkey日志、1gcat日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志。6.根據(jù)權(quán)利要求5所述的一種模擬復(fù)雜網(wǎng)絡(luò)的安卓應(yīng)用穩(wěn)定性測試方法,其特征在于,所述1gcat日志是在python腳本每次調(diào)用monkey之前先執(zhí)行創(chuàng)建、清空和開始保存操作,每次穩(wěn)定性測試執(zhí)行完之后再結(jié)束命令; monkey日志、總運(yùn)行情況日志和崩潰次數(shù)分析日志則是通過testLogger.py腳本進(jìn)行控制實(shí)現(xiàn)的。
【文檔編號】G06F11/36GK106095682SQ201610419903
【公開日】2016年11月9日
【申請日】2016年6月15日 公開號201610419903.2, CN 106095682 A, CN 106095682A, CN 201610419903, CN-A-106095682, CN106095682 A, CN106095682A, CN201610419903, CN201610419903.2
【發(fā)明人】季滕, 尹璐
【申請人】浪潮軟件集團(tuán)有限公司