一种内存泄露的自动化测试方法、装置及移动终端制造方法及图纸

技术编号:12951385 阅读:64 留言:0更新日期:2016-03-02 11:50
本发明专利技术公开了一种内存泄露的自动化测试方法,适于在移动终端中执行,该方法包括:创建第一线程;在第一线程中执行测试用例;创建第二线程;二线程中开启内存监控;检测第一线程中测试用例是否仍在执行;若确定第一线程中测试用例仍在执行,则采集被测应用的内存占用数据;根据内存占用数据判断被测应用是否发生内存泄漏;若判断被测应用没有发生内存泄漏,则每隔采样时间间隔重复上述检测、采集和判断步骤,直至判断被测应用发生内存泄漏为止;当判断被测应用发生内存泄漏时,发出警报信号;以及提取被测应用的内存信息文件,以便根据内存信息文件定位被测应用的内存泄漏位置。本发明专利技术公开了一种内存泄露的自动化测试装置和移动终端。

【技术实现步骤摘要】

本专利技术涉及移动终端的应用
,尤其是一种内存泄露的自动化测试方法、装置及系统。
技术介绍
目前,移动终端诸如智能手机中安装的应用越来越多。虽然其硬件水平在不断提升,然而用户仍然经常感觉在操作的时候出现卡顿,即运行不流畅。出现这种情况的一个重要原因是应用或系统的缺陷,导致发生内存泄露。内存泄露不仅会影响移动终端的运行速度,还有可能导致应用崩溃。因此,对于移动终端的应用、系统进行内存泄露的测试是非常有必要的。传统的方式是通过自研工具在PC端监控内存情况(例如在较长时间内不断读取内存占用信息),然后观测者人工观察内存占用变化情况。这种方式要求移动终端与PC端有线相连,而且当内存的增长速度很微小时,很难被觉察;另外,还有一种半脱离PC的方式是通过编写自动化测试脚本,执行脚本,当用例结束后连接PC,提取内存信息文件,但是通过此方法判断内存泄漏的准确性并不高,系统自动释放内存会导致提取的文件中信息不全,软件开发人员仍难以定位内存泄漏的问题所在。因此,需要一种脱离PC的更准确更简便的内存泄漏的自动化测试方案。
技术实现思路
为此,本专利技术提供一种内存泄露的自动化测试方法、装置及移动终端,以力图解决或者至少缓解上面存在的至少一个问题。根据本专利技术的一个方面,提供了一种内存泄露的自动化测试方法,适于在移动终端中执行,该方法包括:创建第一线程;在第一线程中执行测试用例;创建第二线程;在第二线程中开启内存监控;检测第一线程中测试用例是否仍在执行;若确定第一线程中测试用例仍在执行,则采集被测应用的内存占用数据;根据内存占用数据判断被测应用是否发生内存泄漏;若判断被测应用没有发生内存泄漏,则每隔采样时间间隔重复上述检测、采集和判断步骤,直至判断被测应用发生内存泄漏为止;当判断被测应用发生内存泄漏时,发出警报信号;以及提取被测应用的内存信息文件,以便根据内存信息文件定位被测应用的内存泄漏位置。可选地,在根据本专利技术的内存泄露的自动化测试方法中,还包括步骤:创建第一线程之前,接收推送的测试脚本。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中在第一线程中执行测试用例的步骤包括:通过调用测试脚本来执行测试用例;以及测试脚本运行结束时,发送终止信号至第二线程。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中检测第一线程中测试用例是否仍在执行的步骤包括:检测是否接收到来自第一线程的终止信号,若是,则确定第一线程中测试用例执行结束,否则确定第一线程中测试用例仍在执行。可选地,在根据本专利技术的内存泄露的自动化测试方法中,还包括步骤:若确定第一线程中测试用例执行结束,则停止内存监控以及终止第二线程。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中根据内存占用数据判断被测应用是否发生内存泄漏的步骤包括:判断内存占用数据是否大于最大内存警报值,若是,则确定被测应用发生内存泄漏;或者根据内存占用数据计算内存占用增长速度,判断内存占用增长速度是否大于内存增长速度警报值,若是,则确定被测应用发生内存泄漏;以及若以上二者均为否,则确定被测应用没有发生内存泄漏。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中根据内存占用数据计算内存占用增长速度的步骤包括:将当次采集的内存占用数据减去前一次采集的内存占用数据后,除以采样时间间隔得到内存占用增长速度。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中采样时间间隔为60秒,最大内存警报值为50MB,以及内存增长速度警报值为lOKB/s。可选地,在根据本专利技术的内存泄露的自动化测试方法中,其中内存信息文件为hprof文件。根据本专利技术的另一方面,提供了一种内存泄露的自动化测试装置,驻留在移动终端中,该装置包括:线程创建单元,适于创建第一线程,还适于创建第二线程;用例执行单元,适于在第一线程中执行测试用例;监控采集单元,适于在第二线程中开启内存监控,并检测第一线程中测试用例是否仍在执行,若是,则采集被测应用的内存占用数据;运算判断单元,适于在第二线程中根据内存占用数据判断被测应用是否发生内存泄漏;以及泄漏报警单元,适于当运算判断单元判断被测应用发生内存泄漏时,发出警报信号,并提取被测应用的内存信息文件,以便根据内存信息文件定位被测应用的内存泄漏位置;其中,若运算判断单元判断被测应用没有发生内存泄漏,则每隔采样时间间隔监控采集单元还适于重复检测第一线程中测试用例是否仍在执行、若是则采集被测应用的内存占用数据,运算判断单元还适于重复判断被测应用是否发生内存泄漏,直至运算判断单元判断被测应用发生内存泄漏为止。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中用例执行单元还适于接收推送的测试脚本.可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中用例执行单元还适于在第一线程中通过调用测试脚本来执行测试用例,还适于测试脚本运行结束时,发送终止信号至第二线程。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中监控采集单元还适于在第二线程中检测是否接收到来自第一线程的终止信号,若是,则确定第一线程中测试用例执行结束,否则确定第一线程中测试用例仍在执行。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中监控采集单元还适于若确定第一线程中测试用例执行结束,则停止内存监控以及终止第二线程。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中运算判断单元还适于判断内存占用数据是否大于最大内存警报值,若是,则确定被测应用发生内存泄漏;或者根据内存占用数据计算内存占用增长速度,判断内存占用增长速度是否大于内存增长速度警报值,若是,则确定被测应用发生内存泄漏;以及若以上二者均为否,则确定被测应用没有发生内存泄漏。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中运算判断单元还适于将当次采集的内存占用数据减去前一次采集的内存占用数据后,除以采样时间间隔得到内存占用增长速度。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中采样时间间隔为60秒,最大内存警报值为50MB,以及内存增长速度警报值为lOKB/s。可选地,在根据本专利技术的内存泄露的自动化测试装置中,其中内存信息文件为hprof文件。根据本专利技术的另一方面,提供了一种移动终端,具有如上所述的内存泄露的自动化测试装置。根据本专利技术的内存泄露的自动化测试方案,通过在移动终端上进行自动化测试的方式来执行内存泄露检测。在测试过程中监控移动终端中被测应用的内存占用数当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种内存泄露的自动化测试方法,适于在移动终端中执行,该方法包括:创建第一线程;在第一线程中执行测试用例;创建第二线程;在第二线程中开启内存监控;检测所述第一线程中所述测试用例是否仍在执行;若确定所述第一线程中测试用例仍在执行,则采集被测应用的内存占用数据;根据所述内存占用数据判断所述被测应用是否发生内存泄漏;若判断被测应用没有发生内存泄漏,则每隔采样时间间隔重复上述检测、采集和判断步骤,直至判断被测应用发生内存泄漏为止;当判断被测应用发生内存泄漏时,发出警报信号;以及提取所述被测应用的内存信息文件,以便根据所述内存信息文件定位所述被测应用的内存泄漏位置。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈晓青
申请(专利权)人:厦门美图移动科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1