CN103778056A - 无线应用稳定性测试方法及系统 - Google Patents
无线应用稳定性测试方法及系统 Download PDFInfo
- Publication number
- CN103778056A CN103778056A CN201210407443.3A CN201210407443A CN103778056A CN 103778056 A CN103778056 A CN 103778056A CN 201210407443 A CN201210407443 A CN 201210407443A CN 103778056 A CN103778056 A CN 103778056A
- Authority
- CN
- China
- Prior art keywords
- wireless application
- internal memory
- ram leakage
- heap
- file
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种无线应用稳定性测试方法,涉及测试技术。本发明的方法包括:采用测试脚本循环运行根据应用的内存动作所开发的测试用例,对内存进行监测;收集内存使用状态,判断是否存在内存泄露;以及如内存发生泄露,分析内存泄露的对象或代码段。本发明还涉及一种无线应用稳定性测试系统。本发明提供的无线应用稳定性测试方法及无线应用稳定性测试系统可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
Description
技术领域
本发明涉及测试技术,尤其涉及一种无线应用稳定性测试方法及系统。
背景技术
现有的无线应用,例如电话信息联系人,应用中心,图库相机文件管理等应用,这些应用的数据在频繁的被增添删改过程中,内存问题便会显现出来,而内存的异常使用大部分会导致手机出现比较严重的问题,例如导致手机崩溃而无法使用。
现有技术并未有对应用的潜在风险在项目早期发现并有效解决的测试方法和系统。
发明内容
有鉴于此,本发明实施例提出了一种无线应用稳定性测试方法和系统。所述技术方案如下:
一种无线应用稳定性测试方法,包括:
采用测试脚本循环运行根据应用的内存动作所开发的测试用例,对内存进行监测;
收集内存使用状态,判断是否存在内存泄露;以及
如内存发生泄露,分析内存泄露的对象或代码段。
一种无线应用稳定性测试系统,包括:
测试用例运行及内存监测单元,用于采用测试脚本循环运行根据应用的内存动作所开发的测试用例,并对内存进行监测;
收集判断单元,用于收集内存使用状态,判断是否存在内存泄露;以及
分析单元,用于在内存发生泄露时,分析内存泄露的对象或代码段。
相对于现有技术,本发明实施例提供的无线应用稳定性测试方法及无线应用稳定性测试系统可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中使用的附图作一简单地介绍,显而易见地,下面所列附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的无线应用稳定性测试方法的流程示意图;
图2是本发明第二实施例提供的无线应用稳定性测试方法所生成的heap值趋势图;
图3是本发明第二实施例提供的无线应用稳定性测试方法所使用的DDMS程序运行界面图;
图4是本发明第二实施例提供的无线应用稳定性测试方法所生成的heap dump文件;
图5是本发明第三实施例提供的无线应用稳定性测试系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
目前的移动设备,如手机包含了多种无线应用,例如电话信息联系人,应用中心,图库相机文件管理等应用,这些应用的数据在频繁的增添删改过程中,内存问题便会显现出来,而内存的异常使用大部分会导致手机出现比较严重的问题。
本发明可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
以下通过实施例对本发明进行进一步的说明。
实施例1
本发明第一实施例提出了一种无线应用稳定性测试方法,其流程如图1所示,包括:
步骤101:采用测试脚本循环运行根据应用的内存动作所开发的测试用例,对内存进行监测;
步骤102:收集内存使用状态,判断是否存在内存泄露;以及
步骤103:如内存发生泄露,分析内存泄露的对象或代码段。
本发明实施例提供的无线应用稳定性测试方法可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
实施例2
本发明第二实施例提出了一种无线应用稳定性测试方法,其是在第一实施例基础上改进而来。
在本实施例中,将手机的环境准备成普通用户常用情景,例如,手机中包含500个联系人,500条信息,并存储有数量不等的其它文件如图片、音乐等。
首先,进行测试用例的开发。具体而言,将某个应用的高频率使用内存的动作提炼出来,开发成测试用例。所述测试用例包括:联系人的创建与删除,信息的收发,相机的拍照,文件管理文件增加或删除等。
接着,进行测试脚本的开发。在本实施例中,可以使用python或者java开发测试脚本。
再接着,采用所述测试脚本循环运行所述测试用例,对内存进行监测。在该步骤中,可以使用DDMS(Dalvik Debug Monitor Service)调试监控服务对内存进行监测,并且可以将内存值进行定时采样,这样,通过分析采样数据,可易于分析内存泄露状况。在具体实施情形中,手机将按照写好的特定场景的测试脚本循环运行某个测试用例。测试人员可定期对内存值进行采样,收集手机的内存使用状态,将各个进程使用的堆(heap)值写入excel表中进行记录。
然后,对内存结果进行分析,判断是否存在内存泄露。具体地,当循环运行某个测试用例一段时间后,测试人员可以取出内存分析文件,如下表所示:
测试人员可以按照“name”列进行排序,对相同进程号的进程进行排序分析,如图2所示,若此进程所占用heap值持续增加,则此进程存在内存泄露。
当循环运行到某一时候进程崩溃(crash)时,提示“某某程序停止运行”,需要指明的是,若测试人员发现此时进程号已经不同于脚本开始运行时的状态,那么说明此进程已经发生过崩溃现象。
接下来,收集内存泄漏进程的堆转存文件(heap dump)。利用该步骤,可以使得当测试人员确定了哪个进程会导致内存泄露和崩溃问题后,除了提供各种日志(log),还可以对此问题进行定位,能够定位到导致应用崩溃的对象或者代码段。具体地,在操作时,可以打开DDMS,当程序执行到即将崩溃的点时,选中进程(如图3中的com.tencent.camera,选择updateheap和dump HPROF)则生成了如图4所示的heap dump文件。可以理解的是,还可以在Eclipse中配置VM参数(如参数-XX:+HeapDumpOnOutOfMemoryError),这样当程序执行到崩溃的点时,会自动生成heap dump文件,测试效率更高。
最后,分析heap dump文件,定位发生问题的对象或者代码段。具体地,可打开mat,打开生成的heap dump文件,在打开heap dump文件的过程中,选择“finish(完成)”继续进行内存泄漏可疑点的分析,当“finish”完毕后,将会分析出导致内存泄漏可疑的对象或代码段,由此将能够对开发人员提供更有力的定位问题的帮助,提高了测试的效率。
本发明实施例提供的无线应用稳定性测试方法可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
实施例3
本发明第三实施例提出了一种无线应用稳定性测试系统200,其结构如图5所示,包括:
测试用例运行及内存监测单元201,用于采用测试脚本循环运行根据应用的内存动作所开发的测试用例,并对内存进行监测。所述测试用例可包括:联系人的创建与删除、信息的收发、相机的拍照、文件管理文件增加或删除。
收集判断单元202,用于收集内存使用状态,判断是否存在内存泄露;以及
分析单元203,用于在内存发生泄露时,分析内存泄露的对象或代码段。
在本实施例中,所述测试用例运行及内存监测单元201采用DDMS调试监控服务对内存进行监测。
所述收集判断单元202具体用于对相同进程号的进程进行排序分析,若此进程所占用heap值持续增加,则判定进程存在内存泄露。另外,所述收集判断单元202可收集内存泄露进程的heap dump文件,相应地,所述分析单元203可对内存泄露的对象或代码段包括对heapdump文件进行分析,从而定位发生问题的对象或者代码段。
本发明实施例提供的无线应用稳定性测试系统200可将移动设备的常用操作,如内存读写频繁的操作提炼出来,进行针对性的压力测试,同时分析内存的使用情况,判断有哪些特定的操作会导致内存泄露,并通过特定的分析方法分析出最可疑的代码段,从而助于排除应用的潜在风险,保证移动设备运行更稳定。
本发明第三实施例所述的系统,与前述的第一和第二实施例的方法构思和原理相同,因此在第三实施例中对与第一和第二实施例中相同的部分不再赘述。
本发明实施例可以应用于无线应用稳定性测试,当然这只是本发明实施例的一个举例说明,并非是对本发明实施例用途的限定。
发明实施例所述集成的单元可以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种无线应用稳定性测试方法,其特征在于,包括:
采用测试脚本循环运行根据应用的内存动作所开发的测试用例,对内存进行监测;
收集内存使用状态,判断是否存在内存泄露;以及
如内存发生泄露,分析内存泄露的对象或代码段。
2.根据权利要求1所述的无线应用稳定性测试方法,其特征在于,所述测试用例包括:联系人的创建与删除、信息的收发、相机的拍照、文件管理文件增加或删除。
3.根据权利要求1所述的无线应用稳定性测试方法,其特征在于,采用调试监控服务对内存进行监测。
4.根据权利要求3所述的无线应用稳定性测试方法,其特征在于,对相同进程号的进程进行排序分析,若此进程所占用堆(heap)值持续增加,则判定进程存在内存泄露。
5.根据权利要求3所述的无线应用稳定性测试方法,其特征在于,所述收集内存使用状态,判断是否存在内存泄露包括收集内存泄露进程的堆转存(heap dump)文件,所述分析内存泄露的对象或代码段包括对heap dump文件进行分析。
6.一种无线应用稳定性测试系统,其特征在于,包括:
测试用例运行及内存监测单元,用于采用测试脚本循环运行根据应用的内存动作所开发的测试用例,并对内存进行监测;
收集判断单元,用于收集内存使用状态,判断是否存在内存泄露;以及
分析单元,用于在内存发生泄露时,分析内存泄露的对象或代码段。
7.根据权利要求6所述的无线应用稳定性测试系统,其特征在于,所述测试用例包括:联系人的创建与删除、信息的收发、相机的拍照、文件管理文件增加或删除。
8.根据权利要求6所述的无线应用稳定性测试系统,其特征在于,所述测试用例运行及内存监测单元采用调试监控服务对内存进行监测。
9.根据权利要求8所述的无线应用稳定性测试系统,其特征在于,所述收集判断单元用于对相同进程号的进程进行排序分析,若此进程所占用堆(heap)值持续增加,则判定进程存在内存泄露。
10.根据权利要求8所述的无线应用稳定性测试系统,其特征在于,所述收集判断单元具体用于收集内存泄露进程的堆转存(heap dump)文件,所述分析单元具体用于对内存泄露的对象或代码段包括对heap dump文件进行分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210407443.3A CN103778056B (zh) | 2012-10-23 | 2012-10-23 | 无线应用稳定性测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210407443.3A CN103778056B (zh) | 2012-10-23 | 2012-10-23 | 无线应用稳定性测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778056A true CN103778056A (zh) | 2014-05-07 |
CN103778056B CN103778056B (zh) | 2017-08-22 |
Family
ID=50570317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210407443.3A Active CN103778056B (zh) | 2012-10-23 | 2012-10-23 | 无线应用稳定性测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778056B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866409A (zh) * | 2015-05-29 | 2015-08-26 | 小米科技有限责任公司 | 内存泄露监控方法和装置 |
CN104932970A (zh) * | 2015-05-29 | 2015-09-23 | 小米科技有限责任公司 | 内存泄露监控方法和装置 |
CN104991847A (zh) * | 2015-07-03 | 2015-10-21 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN105373479A (zh) * | 2015-12-14 | 2016-03-02 | 厦门美图移动科技有限公司 | 一种内存泄露的自动化测试方法、装置及移动终端 |
CN106227650A (zh) * | 2016-07-08 | 2016-12-14 | 北京奇虎科技有限公司 | 一种检测应用的内存泄漏的方法和装置 |
CN106560796A (zh) * | 2015-12-31 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 内网终端应用程序内存堆栈异常预警方法及系统 |
CN107656859A (zh) * | 2017-09-28 | 2018-02-02 | 四川长虹电器股份有限公司 | 针对云端系统具备高容错性的稳定性测试方法 |
CN109032827A (zh) * | 2018-07-03 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种跟踪导致内存溢出异常的测试系统及方法 |
CN111176972A (zh) * | 2018-11-12 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 测试方法与系统 |
CN111858317A (zh) * | 2020-06-30 | 2020-10-30 | 北京金山云网络技术有限公司 | 内存泄漏的检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172476A1 (en) * | 2004-12-21 | 2009-07-02 | Grey James A | Test Executive System with Memory Leak Detection for User Code Modules |
CN101819549A (zh) * | 2010-04-13 | 2010-09-01 | 东莞宇龙通信科技有限公司 | 一种内存泄露的定位方法及装置 |
US20120216076A1 (en) * | 2011-02-17 | 2012-08-23 | Pavel Macik | Method and system for automatic memory leak detection |
CN102662828A (zh) * | 2012-03-14 | 2012-09-12 | 浪潮(北京)电子信息产业有限公司 | 一种实现软件自动测试的方法及装置 |
-
2012
- 2012-10-23 CN CN201210407443.3A patent/CN103778056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090172476A1 (en) * | 2004-12-21 | 2009-07-02 | Grey James A | Test Executive System with Memory Leak Detection for User Code Modules |
CN101819549A (zh) * | 2010-04-13 | 2010-09-01 | 东莞宇龙通信科技有限公司 | 一种内存泄露的定位方法及装置 |
US20120216076A1 (en) * | 2011-02-17 | 2012-08-23 | Pavel Macik | Method and system for automatic memory leak detection |
CN102662828A (zh) * | 2012-03-14 | 2012-09-12 | 浪潮(北京)电子信息产业有限公司 | 一种实现软件自动测试的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866409A (zh) * | 2015-05-29 | 2015-08-26 | 小米科技有限责任公司 | 内存泄露监控方法和装置 |
CN104932970A (zh) * | 2015-05-29 | 2015-09-23 | 小米科技有限责任公司 | 内存泄露监控方法和装置 |
CN104991847A (zh) * | 2015-07-03 | 2015-10-21 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN104991847B (zh) * | 2015-07-03 | 2018-11-23 | 厦门美图移动科技有限公司 | 一种内存泄露自动化检测方法、装置及移动终端 |
CN105373479A (zh) * | 2015-12-14 | 2016-03-02 | 厦门美图移动科技有限公司 | 一种内存泄露的自动化测试方法、装置及移动终端 |
CN105373479B (zh) * | 2015-12-14 | 2019-03-15 | 厦门美图移动科技有限公司 | 一种内存泄露的自动化测试方法、装置及移动终端 |
CN106560796A (zh) * | 2015-12-31 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 内网终端应用程序内存堆栈异常预警方法及系统 |
CN106227650A (zh) * | 2016-07-08 | 2016-12-14 | 北京奇虎科技有限公司 | 一种检测应用的内存泄漏的方法和装置 |
CN107656859A (zh) * | 2017-09-28 | 2018-02-02 | 四川长虹电器股份有限公司 | 针对云端系统具备高容错性的稳定性测试方法 |
CN109032827A (zh) * | 2018-07-03 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种跟踪导致内存溢出异常的测试系统及方法 |
CN111176972A (zh) * | 2018-11-12 | 2020-05-19 | 阿里巴巴集团控股有限公司 | 测试方法与系统 |
CN111858317A (zh) * | 2020-06-30 | 2020-10-30 | 北京金山云网络技术有限公司 | 内存泄漏的检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103778056B (zh) | 2017-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778056A (zh) | 无线应用稳定性测试方法及系统 | |
Aggarwal et al. | The power of system call traces: Predicting the software energy consumption impact of changes | |
US9009677B2 (en) | Application testing and analysis | |
CN103425574B (zh) | 一种测试应用程序的方法及装置 | |
US8990792B2 (en) | Method for constructing dynamic call graph of application | |
CN100524241C (zh) | 多操作系统平台整合测试方法 | |
CN103218173B (zh) | 存储控制方法及装置 | |
CN111868686B (zh) | 常用应用程序的导出方法和使用该方法的导出设备 | |
CN104092835A (zh) | 一种移动终端功耗异常检测方法和装置 | |
CN103530221A (zh) | 一种Android系统中程序行为与界面操作映射方法 | |
CN104268473A (zh) | 应用程序检测方法和装置 | |
CN103268448A (zh) | 动态检测移动应用的安全性的方法和系统 | |
CN109828750B (zh) | 自动配置数据埋点的方法、装置、电子设备及存储介质 | |
CN103902454A (zh) | 一种软件故障的定位方法和装置 | |
CN104461846A (zh) | 检测应用程序耗电量的方法和装置 | |
CN104850318A (zh) | 瞬时消息显示控制的方法及设备 | |
CN107391362A (zh) | 应用测试方法、移动终端及存储介质 | |
CN108509348B (zh) | 一种系统老化的测试方法及移动终端 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
Gupta et al. | Mining energy traces to aid in software development: An empirical case study | |
CN103955678A (zh) | 一种图像的识别方法和装置 | |
Zhang et al. | Detection of energy inefficiencies in android wear watch faces | |
CN103279334A (zh) | 一种android软件快速动态检测装置和方法 | |
CN110941549B (zh) | 一种内存泄漏的检测方法、装置、介质和电子设备 | |
CN103984882A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |