CN106095682A - 一种模拟复杂网络的安卓应用稳定性测试方法 - Google Patents
一种模拟复杂网络的安卓应用稳定性测试方法 Download PDFInfo
- Publication number
- CN106095682A CN106095682A CN201610419903.2A CN201610419903A CN106095682A CN 106095682 A CN106095682 A CN 106095682A CN 201610419903 A CN201610419903 A CN 201610419903A CN 106095682 A CN106095682 A CN 106095682A
- Authority
- CN
- China
- Prior art keywords
- network
- daily record
- stability test
- android
- android application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013112 stability test Methods 0.000 title claims abstract description 29
- 238000012360 testing method Methods 0.000 claims abstract description 14
- 230000007547 defect Effects 0.000 claims abstract description 10
- 241000282693 Cercopithecidae Species 0.000 claims description 19
- 238000004088 simulation Methods 0.000 claims description 9
- 230000003190 augmentative effect Effects 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims 1
- 238000012430 stability testing Methods 0.000 abstract 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Abstract
本发明公开了一种模拟复杂网络的安卓应用稳定性测试方法,其实现过程为:首先设置网络环境,即建立模拟的网络,然后用安卓手机连接此网络;将手机连接到计算机,在计算机段通过脚本控制进行稳定性测试,得到平均无故障时间这一可量化指标;自动保存并抓取全部日志,根据该日志进行缺陷分析。该模拟复杂网络的安卓应用稳定性测试方法与现有技术相比,可最大限度的发现安卓应用在复杂网络环境下的崩溃问题,测试自动化执行完毕后可得出被测安卓应用的稳定性可量化指标,即平均无故障时间,并且自动保存了全部日志,为缺陷分析提供了可靠的依据,实用性强,适用范围广泛,易于推广。
Description
技术领域
本发明涉及系统测试技术领域,具体地说是一种实用性强、模拟复杂网络的安卓应用稳定性测试方法。
背景技术
手机已经成为人们日常学习和生活中不可或缺的工具,当今移动智能终端除了提供基本的语音通话和短信功能之外,也提供了各式各样的软件应用功能,而且这些功能已经成为终端设备新的卖点。随着测试对象的复杂化,软件系统测试目标也有了根本性的改变,不仅仅要提供可以使用的功能,更要保证用户获取到的移动应用服务是稳定的、可靠的。因此,移动应用稳定性测试成为了必不可少的环节。
对于安卓系统应用的稳定性测试方法来说,monkey是主要的测试工具。monkey是安卓系统中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的安卓应用程序进行压力测试。但是其缺点也是明显的,一是遇到应用崩溃会自动停止,无法持续测试,从而不能得出应用的稳定性指标,无法量化;二是工具本身并不能自动捕获全部安卓系统日志,这样会对之后的缺陷分析不利;三是工具并不能模拟复杂的网络环境,而复杂的网络环境是引起安卓应用崩溃的重要原因。
鉴于此,现提供一种基于模拟复杂网络的安卓应用稳定性测试方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、模拟复杂网络的安卓应用稳定性测试方法。
一种模拟复杂网络的安卓应用稳定性测试方法,其实现过程为:
首先设置网络环境,即建立模拟的网络,然后用安卓手机连接此网络;
将手机连接到计算机,在计算机段通过脚本控制进行稳定性测试,得到平均无故障时间这一可量化指标;
自动保存并抓取全部日志,根据该日志进行缺陷分析。
所述网络环境采用开源工具ATC,即Augmented Traffic Control部署在虚拟机上完成模拟,具体为:
首先在虚拟机中设置wifi热点并开启;
然后在该虚拟机中部署ATC;
最后启动ATC并设置网络参数。
上述网络参数具体包括:网络带宽的单位kpbs、延迟的单位ms、丢包率的单位百分比、错报率的单位百分比、乱序率的单位百分比,且各个参数分为上行和下行,通过该网络参数设置,模拟出包括2G、3G、4G、WiFi的网络环境,并可模拟出信号很差、延迟很大、丢包率高的异常情况。
获取可量化指标的具体过程为:使用python脚本控制monkey多次执行,对安卓应用进行稳定性测试,直至运行完特定的时间,脚本自动统计崩溃次数,从而得出被测安卓应用的平均无故障时间:平均无故障时间=运行总时间/(崩溃次数+1),即在特定网络环境下被测安卓应用平均多长时间崩溃一次,并且脚本会自动记录测试过程中所需的所有日志。
所述抓取日志是指抓取运行过程中的monkey日志、logcat日志、总运行情况日志和崩溃次数分析日志。
所述logcat日志是在python脚本每次调用monkey之前先执行创建、清空和开始保存操作,每次稳定性测试执行完之后再结束命令;
monkey日志、总运行情况日志和崩溃次数分析日志则是通过testLogger.py脚本进行控制实现的。
本发明的一种模拟复杂网络的安卓应用稳定性测试方法,具有以下优点:
本发明提供的一种模拟复杂网络的安卓应用稳定性测试方法,可最大限度的发现安卓应用在复杂网络环境下的崩溃问题,测试自动化执行完毕后可得出被测安卓应用的稳定性可量化指标,即平均无故障时间,并且自动保存了全部日志,为缺陷分析提供了可靠的依据,实用性强,适用范围广泛,易于推广。
附图说明
附图1为基于monkey的计算安卓应用平均无故障时间示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
为实现在复杂的网络环境下测试安卓应用的稳定性,得出应用的平均无故障时间,并且能自动抓取全部安卓日志,从而能够更加便携的进行缺陷分析。本发明的一种模拟复杂网络的安卓应用稳定性测试方法,其实现过程为:
首先设置网络环境,即建立模拟的网络,然后用安卓手机连接此网络;
将手机连接到计算机,在计算机段通过脚本控制进行稳定性测试,得到平均无故障时间这一可量化指标;
自动保存并抓取全部日志,根据该日志进行缺陷分析。
使用本专利测试方法,可最大限度的发现安卓应用在复杂网络环境下的崩溃问题,测试自动化执行完毕后可得出被测安卓应用的稳定性可量化指标,即平均无故障时间,并且自动保存了全部日志,为缺陷分析提供了可靠的依据。
所述网络环境采用开源工具ATC,即Augmented Traffic Control部署在虚拟机上完成模拟,虚拟机采用Ubuntu(12.04)版本,无线网卡是雷凌Ralink RT3070L芯片 11N150M USB无线网卡。具体为:
一、首先在虚拟机中设置wifi热点并开启,即
安装hostapd和dhcpd;
配置hostapd和dhcpd;
开启wifi热点;
二、然后在该虚拟机中部署ATC;
三、最后启动ATC并设置网络参数:
启动ATC;
首先用手机连上ATC分享的wifi热点。例如ATC所在的主机ip地址为:192.168.64.34,手机浏览器里访问:http://192.168.6.1:8000;
上述网络参数具体包括:网络带宽的单位kpbs、延迟的单位ms、丢包率的单位百分比、错报率的单位百分比、乱序率的单位百分比,且各个参数分为上行和下行,通过该网络参数设置,模拟出包括2G、3G、4G、WiFi的网络环境,并可模拟出信号很差、延迟很大、丢包率高的异常情况。
如附图1所示,获取可量化指标的具体过程为:使用python脚本控制monkey多次执行,对安卓应用进行稳定性测试,直至运行完特定的时间,脚本自动统计崩溃次数,从而得出被测安卓应用的平均无故障时间:平均无故障时间=运行总时间/(崩溃次数+1),即在特定网络环境下被测安卓应用平均多长时间崩溃一次,并且脚本会自动记录测试过程中所需的所有日志。
在附图1中,用python脚本多次调用monkey命令,每次调用monkey命令执行100次随机点击,持续执行,如应用崩溃则抓取日志继续调用monkey命令,否则继续执行,直到执行完30分钟。执行完毕后应用崩溃2次,则平均无故障时间为30/(2+1)=10分钟,即此安卓应用在使用过程中平均每10分钟崩溃一次。
所述抓取日志是指抓取运行过程中的monkey日志、logcat日志、总运行情况日志和崩溃次数分析日志。
所述logcat日志是在python脚本每次调用monkey之前先执行创建、清空和开始保存操作,每次稳定性测试执行完之后再结束命令;
monkey日志、总运行情况日志和崩溃次数分析日志则是通过testLogger.py脚本进行控制实现的。
综上,启动稳定性测试脚本之前先设置ATC参数,生成wifi热点来模拟复杂网络环境,让目标手机连接此wifi热点。然连接安卓手机到PC,在PC端执行python脚本,即可开始稳定性测试,执行完毕后可得出在本次特定复杂网络环境下被测安卓应用的平均无故障时间,如有崩溃发生,则可根据monkey日志、logcat日志、总运行情况日志和崩溃次数分析日志来进行缺陷分析。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种模拟复杂网络的安卓应用稳定性测试方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (6)
1.一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,其实现过程为:
首先设置网络环境,即建立模拟的网络,然后用安卓手机连接此网络;
将手机连接到计算机,在计算机段通过脚本控制进行稳定性测试,得到平均无故障时间这一可量化指标;
自动保存并抓取全部日志,根据该日志进行缺陷分析。
2.根据权利要求1所述的一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,所述网络环境采用开源工具ATC,即Augmented Traffic Control部署在虚拟机上完成模拟,具体为:
首先在虚拟机中设置wifi热点并开启;
然后在该虚拟机中部署ATC;
最后启动ATC并设置网络参数。
3.根据权利要求2所述的一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,上述网络参数具体包括:网络带宽的单位kpbs、延迟的单位ms、丢包率的单位百分比、错报率的单位百分比、乱序率的单位百分比,且各个参数分为上行和下行,通过该网络参数设置,模拟出包括2G、3G、4G、WiFi的网络环境,并可模拟出信号很差、延迟很大、丢包率高的异常情况。
4.根据权利要求1所述的一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,获取可量化指标的具体过程为:使用python脚本控制monkey多次执行,对安卓应用进行稳定性测试,直至运行完特定的时间,脚本自动统计崩溃次数,从而得出被测安卓应用的平均无故障时间:平均无故障时间=运行总时间/(崩溃次数+1),即在特定网络环境下被测安卓应用平均多长时间崩溃一次,并且脚本会自动记录测试过程中所需的所有日志。
5.根据权利要求1所述的一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,所述抓取日志是指抓取运行过程中的monkey日志、logcat日志、总运行情况日志和崩溃次数分析日志。
6.根据权利要求5所述的一种模拟复杂网络的安卓应用稳定性测试方法,其特征在于,所述logcat日志是在python脚本每次调用monkey之前先执行创建、清空和开始保存操作,每次稳定性测试执行完之后再结束命令;
monkey日志、总运行情况日志和崩溃次数分析日志则是通过testLogger.py脚本进行控制实现的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610419903.2A CN106095682A (zh) | 2016-06-15 | 2016-06-15 | 一种模拟复杂网络的安卓应用稳定性测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610419903.2A CN106095682A (zh) | 2016-06-15 | 2016-06-15 | 一种模拟复杂网络的安卓应用稳定性测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106095682A true CN106095682A (zh) | 2016-11-09 |
Family
ID=57846133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610419903.2A Pending CN106095682A (zh) | 2016-06-15 | 2016-06-15 | 一种模拟复杂网络的安卓应用稳定性测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095682A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686640A (zh) * | 2016-12-07 | 2017-05-17 | 珠海金山网络游戏科技有限公司 | 一种弱网络系统环境的搭建与配置的系统和方法 |
CN106708737A (zh) * | 2016-12-21 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
CN107632918A (zh) * | 2017-08-30 | 2018-01-26 | 中国工商银行股份有限公司 | 计算存储设备的监控系统及方法 |
CN107742080A (zh) * | 2017-09-30 | 2018-02-27 | 北京奇虎科技有限公司 | 针对虚拟化环境的漏洞挖掘方法及装置 |
CN107967214A (zh) * | 2017-08-15 | 2018-04-27 | 北京摩拜科技有限公司 | 应用程序的测试方法及测试设备 |
CN110362461A (zh) * | 2018-03-26 | 2019-10-22 | 福建天泉教育科技有限公司 | 平均故障间隔时间的测试方法及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838663A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
WO2014117320A1 (en) * | 2013-01-29 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Generating test code to test executable code |
CN104331373A (zh) * | 2014-11-28 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种Monkey测试系统及方法 |
CN105094783A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 安卓应用稳定性测试的方法及装置 |
-
2016
- 2016-06-15 CN CN201610419903.2A patent/CN106095682A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838663A (zh) * | 2012-11-20 | 2014-06-04 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法及装置 |
WO2014117320A1 (en) * | 2013-01-29 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Generating test code to test executable code |
CN105094783A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 安卓应用稳定性测试的方法及装置 |
CN104331373A (zh) * | 2014-11-28 | 2015-02-04 | 上海斐讯数据通信技术有限公司 | 一种Monkey测试系统及方法 |
Non-Patent Citations (2)
Title |
---|
YANFANG_ZHENG: "《http://www.51testing.com/html/97/418397-3549045.html》", 10 December 2015 * |
袁建国等: ""智能手机系统的MTBF自动测试分析与研究"", 《电子测试》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106686640A (zh) * | 2016-12-07 | 2017-05-17 | 珠海金山网络游戏科技有限公司 | 一种弱网络系统环境的搭建与配置的系统和方法 |
CN106708737A (zh) * | 2016-12-21 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
CN106708737B (zh) * | 2016-12-21 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种测试方法及装置 |
CN107967214A (zh) * | 2017-08-15 | 2018-04-27 | 北京摩拜科技有限公司 | 应用程序的测试方法及测试设备 |
CN107632918A (zh) * | 2017-08-30 | 2018-01-26 | 中国工商银行股份有限公司 | 计算存储设备的监控系统及方法 |
CN107632918B (zh) * | 2017-08-30 | 2020-09-11 | 中国工商银行股份有限公司 | 计算存储设备的监控系统及方法 |
CN107742080A (zh) * | 2017-09-30 | 2018-02-27 | 北京奇虎科技有限公司 | 针对虚拟化环境的漏洞挖掘方法及装置 |
CN110362461A (zh) * | 2018-03-26 | 2019-10-22 | 福建天泉教育科技有限公司 | 平均故障间隔时间的测试方法及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095682A (zh) | 一种模拟复杂网络的安卓应用稳定性测试方法 | |
CN108399114B (zh) | 一种系统性能测试方法、装置及存储介质 | |
CN110493812B (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN104717337B (zh) | 一种批量测试手机应用的方法及其使用的设备 | |
CN110275822A (zh) | 应用程序接口的性能测试方法、装置、设备及存储介质 | |
CN103838663A (zh) | 一种应用程序的测试方法及装置 | |
CN107040535B (zh) | 移动应用渠道登录监控方法、装置、系统及存储介质 | |
CN107102949B (zh) | 应用程序离线测试方法及工具 | |
CN103973858B (zh) | 移动终端的自动测试系统 | |
CN107562637B (zh) | 一种用于软件测试的方法、设备、系统及存储介质 | |
CN104270289A (zh) | 一种基于tcl脚本的onu自动化测试方法 | |
US10637908B2 (en) | Parallel and sequential execution of automated online charging test procedures | |
CN105760300B (zh) | 一种stk/utk业务的自动化测试方法及测试系统 | |
CN112463467B (zh) | 自动化的整合测试系统及其方法 | |
CN105389200A (zh) | 用于超大规模芯片验证的多组激励批量仿真方法及系统 | |
KR100794130B1 (ko) | 이동통신단말기의 응용 프로그램 및 부가 서비스 자동기능시험장치 | |
CN105530659A (zh) | 一种移动终端的业务测试系统、方法及设备 | |
CN104239202A (zh) | 交互式智能设备的非Root测试方法和系统 | |
CN112416734A (zh) | 测试的方法、装置以及存储介质 | |
CN107391354B (zh) | 自动监测终端性能的方法及系统、存储装置 | |
CN115563775A (zh) | 电力仿真方法和装置、电子设备和存储介质 | |
CN110795330A (zh) | 一种Monkey压力测试的方法和装置 | |
CN109144850A (zh) | 移动终端的交互通信的测试方法及系统 | |
CN111949548B (zh) | 一种自动化越权渗透测试方法和存储设备 | |
CN105764086B (zh) | 一种终端续航性能检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161109 |
|
RJ01 | Rejection of invention patent application after publication |